Настройка действия Microsoft Security DevOps GitHub

Microsoft Security DevOps — это приложение командной строки, которое интегрирует статические средства анализа в жизненный цикл разработки. Безопасность DevOps устанавливает, настраивает и запускает последние версии статических средств анализа, таких как SDL, средства безопасности и соответствия требованиям. Безопасность DevOps управляет данными с переносимыми конфигурациями, которые обеспечивают детерминированное выполнение в нескольких средах.

Microsoft Security DevOps использует следующие средства Open Source:

Имя. Язык Лицензия
Antimalware Защита от вредоносных программ в Windows от Microsoft Defender для конечной точки, которая проверяет наличие вредоносных программ и прерывает сборку, если вредоносные программы найдены. Это средство проверяется по умолчанию в агенте windows-latest. Не открытый исходный код
Бандит Python Лицензия Apache 2.0
BinSkim Binary-Windows, ELF Лицензия MIT
ESlint JavaScript Лицензия MIT
Анализатор шаблонов Шаблон ARM, Bicep Лицензия MIT
Terrascan; Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Лицензия Apache 2.0
Триви образы контейнеров, инфраструктура как код (IaC) Лицензия Apache 2.0

Необходимые компоненты

Настройка действия Microsoft Security DevOps GitHub

Чтобы настроить действие GitHub, выполните следующее:

  1. Войдите в GitHub.

  2. Выберите репозиторий, для которого нужно настроить действие GitHub.

  3. Выберите Действия.

    Screenshot that shows you where the Actions button is located.

  4. Выберите Новый рабочий процесс.

  5. На странице "Начало работы с GitHub Actions" выберите рабочий процесс самостоятельно

    Screenshot showing where to select the new workflow button.

  6. В текстовом поле введите имя файла рабочего процесса. Например, msdevopssec.yml.

    Screenshot that shows you where to enter a name for your new workflow.

  7. Скопируйте и вставьте следующий пример рабочего процесса действия на вкладку "Изменить новый файл".

    name: MSDO windows-latest
    on:
      push:
        branches:
          - main
    
    jobs:
      sample:
        name: Microsoft Security DevOps Analysis
    
        # MSDO runs on windows-latest.
        # ubuntu-latest also supported
        runs-on: windows-latest
    
        permissions:
          contents: read
          id-token: write
          security-events: write
    
        steps:
    
          # Checkout your code repository to scan
        - uses: actions/checkout@v3
    
          # Run analyzers
        - name: Run Microsoft Security DevOps Analysis
          uses: microsoft/security-devops-action@latest
          id: msdo
          with:
          # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig').
          # policy: 'GitHub' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: GitHub.
          # categories: string. Optional. A comma-separated list of analyzer categories to run. Values: 'code', 'artifacts', 'IaC', 'containers'. Example: 'IaC, containers'. Defaults to all.
          # languages: string. Optional. A comma-separated list of languages to analyze. Example: 'javascript,typescript'. Defaults to all.
          # tools: string. Optional. A comma-separated list of analyzer tools to run. Values: 'bandit', 'binskim', 'eslint', 'templateanalyzer', 'terrascan', 'trivy'.
    
          # Upload alerts to the Security tab
        - name: Upload alerts to Security tab
          uses: github/codeql-action/upload-sarif@v2
          with:
            sarif_file: ${{ steps.msdo.outputs.sarifFile }}
    
          # Upload alerts file as a workflow artifact
        - name: Upload alerts file as a workflow artifact
          uses: actions/upload-artifact@v3
          with:  
            name: alerts
            path: ${{ steps.msdo.outputs.sarifFile }}
    

    Примечание.

    Дополнительные параметры настройки средства см . вики-сайте Microsoft Security DevOps

  8. Выбор фиксации " Пуск"

    Screenshot showing you where to select start commit.

  9. Выберите Commit new file (Зафиксировать новый файл).

    Screenshot showing you how to commit a new file.

    Процесс может занять до одной минуты.

  10. Выберите действия и убедитесь, что выполняется новое действие.

    Screenshot showing you where to navigate to, to see that your new action is running.

Просмотр результатов сканирования

Чтобы просмотреть результаты сканирования, выполните приведенные далее действия.

  1. Войдите в GitHub.

  2. Перейдите к средству проверки кода>безопасности.>

  3. В раскрывающемся меню выберите " Фильтр по инструменту".

Результаты сканирования кода будут отфильтрованы определенными средствами MSDO в GitHub. Эти результаты сканирования кода также извлекаются в Defender для облака рекомендации.

Подробнее

Дополнительные сведения о безопасности DevOps см. в Defender для облака.

Узнайте, как подключить организации GitHub к Defender для облака.