О Microsoft Security Code Analysis

Примечание

С 31 декабря 2022 г. расширение Microsoft Security Code Analysis (MSCA) прекращено. MSCA заменяется расширением Microsoft Security DevOps Azure DevOps. Следуйте инструкциям в разделе Настройка , чтобы установить и настроить расширение.

С помощью расширения Microsoft Security Code Analysis команды могут добавлять анализ кода безопасности в конвейеры непрерывной интеграции и доставки Azure DevOps (CI/CD). Такой анализ рекомендован специалистами по безопасности жизненного цикла разработки (SDL) в корпорации Майкрософт.

Единообразный пользовательский интерфейс упрощает безопасность, скрывая сложность работающих средств. Благодаря доставке средств на основе NuGet группам больше не требуется управлять установкой или обновлением средств. За счет использования как интерфейса командной строки, так и базовых интерфейсов для задач сборки все пользователи могут иметь максимально широкие возможности управления инструментами.

Команды также могут использовать мощные возможности постобработки, такие как:

  • публикация журналов для хранения;
  • создание отчетов с поддержкой действий, ориентированных на разработчика;
  • настройка разрывов сборки для регрессионных тестов.

Зачем использовать Microsoft Security Code Analysis?

Упрощенная безопасность

Добавление средств Microsoft Security Code Analysis в конвейер Azure DevOps не сложнее добавления новых задач. Настройте задачи или используйте их поведение по умолчанию. Задачи выполняются как часть конвейера Azure DevOps и создают журналы с подробным описанием различных типов результатов.

Чистые сборки

После устранения первоначальных проблем, о которых сообщили средства, можно настроить расширение на прерывание сборок при новых проблемах. Настроить сборки непрерывной интеграции в каждом запросе на вытягивание очень просто.

Установите и забудьте

По умолчанию задачи и средства сборки постоянно обновляются. Если имеется обновленная версия средства, ее не нужно скачивать и устанавливать. Расширение само отвечает за обновление.

Механизм

Задачи сборки расширения скрывают за собой сложности:

  • использования средств статического анализа безопасности;
  • обработки результатов из файлов журнала для создания сводного отчета или разбивки сборки.

Набор средств Microsoft Security Code Analysis

Расширение Microsoft Security Code Analysis обеспечивает доступность последних версий важных средств анализа. Расширение включает как средства, управляемые корпорацией Майкрософт, так и средства с открытым кодом.

Эти средства автоматически загружаются в облачный агент после использования соответствующей задачи сборки для настройки и запуска конвейера.

В этом разделе приведен набор средств, которые в настоящее время доступны в расширении. Следите за добавлением новых. Кроме того, отправляйте нам свои предложения по поводу средств, которые вы хотите увидеть.

Сканер защиты от вредоносных программ

Задача сборки "Сканер защиты от вредоносных программ" теперь входит в расширение Microsoft Security Code Analysis. Эта задача должна выполняться на агенте сборки, на котором уже установлен Защитник Windows. Дополнительные сведения см. на веб-сайте Защитника Windows.

BinSkim

BinSkim — это переносимый исполняемый (PE) облегченный сканер, проверяющий параметры компилятора, параметры компоновщика и другие характеристики двоичных файлов, относящиеся к безопасности. Эта задача сборки предоставляет оболочку командной строки для консольного приложения binskim.exe. BinSkim — это средство с открытым исходным кодом. Дополнительные сведения см. в разделе BinSkim на GitHub.

Сканер учетных данных

Пароли и другие секреты, хранящиеся в исходном коде, являются серьезной проблемой. Средство проверки учетных данных — это наш собственный инструмент статического анализа, который помогает решить эту проблему. Это средство обнаруживает учетные данные, секреты, сертификаты и другое конфиденциальное содержимое в исходном коде и выходных данных сборки.

Анализаторы Roslyn

Анализаторы Roslyn — это интегрированное с компилятором средство Майкрософт для статического анализа управляемого кода C# и Visual Basic. Дополнительные сведения см. в разделе Включение анализаторов Roslyn.

TSLint

TSLint — это расширяемое средство статического анализа, которое проверяет код TypeScript на удобочитаемость, удобство сопровождения и ошибки в функциональности. Оно широко поддерживается современными редакторами и системами сборки. Его можно настроить с помощью собственных правил, конфигураций и модулей lint. TSLint — это средство с открытым исходным кодом. Дополнительные сведения см. в разделе TSLint на GitHub.

Анализ и последующая обработка результатов

Расширение Microsoft Security Code Analysis также включает три задачи обработки. Эти задачи помогают анализировать результаты, обнаруженные задачами безопасности. При добавлении в конвейер эти задачи обычно следуют за всеми остальными задачами средства.

Публикация журналов анализа безопасности

Задача публикации журналов анализа безопасности сборки сохраняет файлы журналов средств безопасности, которые выполняются во время сборки. Эти журналы можно читать для изучения и дальнейших действий.

Файлы журналов можно опубликовать в Azure Artifacts в виде ZIP-файла. Их также можно скопировать в доступную общую папку из закрытого агента сборки.

Отчет о безопасности

Задача построения отчета о безопасности анализирует файлы журналов. Эти файлы создаются средствами безопасности, которые запускаются во время сборки. Затем задача построения создает единый файл сводного отчета. В этом файле отображаются все проблемы, обнаруженные средствами анализа.

Эту задачу можно настроить на отчеты о результатах для конкретных средств или для всех средств. Кроме того, можно выбрать проблемы, входящие в отчет, например только ошибки или ошибки и предупреждения.

Постанализ (прерывание сборки)

С помощью задачи постанализа можно внедрить прерывание сборки, которое намеренно приводит к сбою сборки. Если один или несколько средств анализа сообщают о проблемах в коде, вы вставляете такое прерывание.

Эту задачу можно настроить для прерывания сборки в случае проблем, обнаруженных конкретными средствами или всеми средствами. Кроме того, его можно настроить на основе серьезности обнаруженных проблем, например ошибок или предупреждений.

Примечание

Каждая задача сборки успешна, если задача выполняется успешно. Это справедливо независимо от того, обнаруживают ли средства проблемы, так что сборка может выполниться до завершения, позволив сработать всем средствам.

Дальнейшие действия

Инструкции по подключению и установке Microsoft Security Code Analysis см. в нашем Руководстве по адаптации и установке.

Дополнительные сведения о настройке задач сборки см. в нашем Руководстве по настройке или Руководстве по настройке YAML.

Если у вас есть дополнительные вопросы о расширении и предлагаемых средствах, ознакомьтесь со страницей часто задаваемых вопросов.