Il faut configurer l'action GitHub Security DevOps de Microsoft

Sécurité Microsoft 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 SDL, la sécurité et les outils de conformité. Security DevOps est piloté par les données avec des configurations portables qui permettent l’exécution déterministe dans plusieurs environnements.

Sécurité Microsoft DevOps utilise les outils open source suivants :

Name Langue Licence
Antimalware Protection anti-programme malveillant dans Windows de Microsoft Defender for Endpoint qui analyse les programmes malveillants et interrompt la génération si des programmes malveillants sont trouvés. Cet outil analyse par défaut avec l'agent « windows-latest ». Non open source
Bandit Python Licence Apache 2.0
BinSkim Binaire--Windows, ELF Licence MIT
Checkov Terraform, Plan Terraform, CloudFormation, Amazon Web Services (AWS), SAM, Kubernetes, graphiques Helm, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Licence Apache 2.0
ESlint JavaScript Licence MIT
Analyseur de modèle 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 as Code (IaC) Licence Apache 2.0

Prerequisites

Avant de configurer l’action Sécurité Microsoft DevOps GitHub, assurez-vous d’avoir les prérequis suivants :

Configurez le flux d’action GitHub

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 flux de travail.

  5. Sur Commencer avec GitHub Actions, sélectionnez « configurer un flux de travail vous-même ».

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

  6. Saisissez un nom pour votre fichier de workflow. Par exemple, msdevopssec.yml.

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

  7. Copiez-collez le flux de travail d’action d’exemple suivant dans l’onglet Modifier un 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 }}
    

    Note

    Pour plus d’options et d’instructions de configuration d’outils, consultez le wiki Sécurité Microsoft DevOps.

  8. Sélectionnez Démarrer la validation.

    Capture d’écran montrant où sélectionner le commit de départ.

  9. Sélectionnez Valider le nouveau fichier. 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, pour voir que votre nouvelle action est en cours d’exécution.

Afficher les résultats de l’analyse

Pour afficher vos résultats d’analyse :

  1. Connectez-vous à Azure.

  2. Allez sur Defender for Cloud>DevOps Security.

  3. Depuis le volet de sécurité DevOps, vous pouvez voir les mêmes résultats de sécurité Sécurité Microsoft DevOps (MSDO). Les développeurs voient ces résultats dans leurs journaux d’IC pour le dépôt associé en quelques minutes. Les clients disposant de GitHub Advanced Security voient également les résultats importés depuis ces outils.

Étape suivante