Configurer l’action GitHub Microsoft Security DevOps

Microsoft Security DevOps est une application en ligne de commande qui intègre des outils d’analyse statique dans le cycle de vie du développement. Security DevOps installe, configure et exécute les dernières versions des outils d’analyse statique tels que les outils SDL, de sécurité et de conformité. Security DevOps est piloté par les données avec des configurations portables qui permettent une exécution déterministe dans plusieurs environnements.

Microsoft Security DevOps utilise les outils open source suivants :

Nom Langage Licence
AntiMalware La protection contre les logiciels anti-programme malveillant, dans Windows de Microsoft Defender for Endpoint, analyse à la recherche de programmes malveillants et interrompt la génération si un programme malveillant a été détecté. Cet outil analyse par défaut le plus récent agent Windows. Non open source
Bandit Python Licence Apache 2.0
BinSkim Binary--Windows, ELF Licence MIT
Checkov Terraform, plan Terraform, CloudFormation, AWS SAM, Kubernetes, Helm charts, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Licence Apache 2.0
ESlint JavaScript Licence MIT
Template Analyzer Modèle ARM, Bicep Licence MIT
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Licence Apache 2.0
Trivy images conteneur, Infrastructure en tant que code (Infrastructure as Code, ou IaC) Licence Apache 2.0

Prérequis

Configurer l’action GitHub Microsoft Security DevOps

Pour configurer l’action GitHub :

  1. Connectez-vous à GitHub.

  2. Sélectionnez un dépôt sur lequel configurer l’action GitHub.

  3. Sélectionnez Actions.

    Capture d’écran montrant où se trouve le bouton Actions.

  4. Sélectionnez Nouveau workflow.

  5. Dans la page Prise en main de GitHub Actions, sélectionnez Configurer un flux de travail vous-même

    Capture d’écran montrant où sélectionner le bouton Nouveau flux de travail.

  6. Dans la zone de texte, entrez un nom pour votre fichier de flux de travail. Par exemple : msdevopssec.yml.

    Capture d’écran montrant où entrer un nom pour votre nouveau flux de travail.

  7. Copiez et collez l’exemple de flux de travail d’action suivant sous l’onglet Modifier le nouveau fichier.

    name: MSDO
    on:
      push:
        branches:
          - main
    
    jobs:
      sample:
        name: Microsoft Security DevOps
    
        # Windows and Linux agents are supported
        runs-on: windows-latest
    
        permissions:
          contents: read
          id-token: write
          actions: read
          # Write access for security-events is only required for customers looking for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
          security-events: write
    
        steps:
    
          # Checkout your code repository to scan
        - uses: actions/checkout@v3
    
          # Run analyzers
        - name: Run Microsoft Security DevOps
          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', 'checkov', 'eslint', 'templateanalyzer', 'terrascan', 'trivy'.
    
          # Upload alerts to the Security tab - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
        # - name: Upload alerts to Security tab
        #  uses: github/codeql-action/upload-sarif@v3
        #  with:
        #    sarif_file: ${{ steps.msdo.outputs.sarifFile }}
    
          # Upload alerts file as a workflow artifact - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
        # - name: Upload alerts file as a workflow artifact
        #  uses: actions/upload-artifact@v3
        #  with:  
        #    name: alerts
        #    path: ${{ steps.msdo.outputs.sarifFile }}
    

    Remarque

    Pour obtenir d’autres options de configuration de l’outil, voir le Wiki Microsoft Security DevOps

  8. Sélectionnez Démarrer la validation.

    Capture d’écran montrant où sélectionner Démarrer la validation.

  9. Sélectionnez Commit new file (Valider le nouveau fichier). Remarque : le processus peut prendre jusqu’à une minute.

    Capture d’écran montrant comment valider un nouveau fichier.

  10. Sélectionnez Actions et vérifiez que la nouvelle action est en cours d’exécution.

    Capture d’écran montrant où accéder voir votre nouvelle action en cours d’exécution.

Afficher les résultats de l’analyse

Pour afficher les résultats de votre analyse :

  1. Connectez-vous à Azure.

  2. Accédez à Defender pour le cloud > Sécurité DevOps.

  3. Dans le panneau sécurité DevOps, vous devez commencer à voir les mêmes résultats de sécurité MSDO que ceux que les développeurs voient en quelques minutes dans leurs journaux d’activité d’intégration continue pour le référentiel associé. Les clients disposant de GitHub Advanced Security verront également les résultats ingérés à partir de ces outils.

En savoir plus

Étapes suivantes

Découvrez plus d’informations sur la sécurité DevOps dans Defender pour le cloud.

Découvrez comment connecter vos organisations GitHub à Defender pour le cloud.