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
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.

    Screenshot that shows you where the Actions button is located.

  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

    Screenshot showing where to select the new workflow button.

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

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

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

    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 }}
    

    Remarque

    Pour obtenir des options de configuration supplémentaires de l’outil, voir le Wiki Microsoft Security DevOps

  8. Sélectionnez Démarrer la validation.

    Screenshot showing you where to select start commit.

  9. Sélectionnez Commit new file (Valider le nouveau fichier).

    Screenshot showing you how to commit a new file.

    Le processus peut prendre jusqu’à une minute.

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

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

Afficher les résultats de l’analyse

Pour afficher les résultats de votre analyse :

  1. Connectez-vous à GitHub.

  2. Accédez à Sécurité>Alertes d’analyse du code>Outil.

  3. Dans le menu déroulant, sélectionnez Filtrer par outil.

Les résultats d’analyse de code sont filtrés par des outils MSDO spécifiques dans GitHub. Ces résultats d’analyse de code sont également extraits dans des recommandations Defender pour le cloud.

En savoir plus

Découvrez plus en détail la sécurité DevOps dans Defender pour le cloud.

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