Partager via


Intégrer des outils d’analyse tiers

GitHub Advanced Security pour Azure DevOps crée des alertes d’analyse du code dans un référentiel à l’aide d’informations à partir de fichiers SARIF (Static Analysis Results Interchange Format). Les propriétés du fichier SARIF sont utilisées pour remplir les informations d’alerte, telles que le titre de l’alerte, l’emplacement et le texte de description.

Vous pouvez générer des fichiers SARIF à l’aide de nombreux outils de test de sécurité d’analyse statique, y compris CodeQL. Les résultats doivent utiliser SARIF version 2.1.0. Pour plus d’informations sur SARIF, consultez les didacticiels SASRIF.

Charger une analyse de l’analyse du code avec Azure Pipelines

Pour utiliser Azure Pipelines pour charger un fichier SARIF tiers dans un référentiel, votre pipeline doit utiliser la AdvancedSecurity-Publish tâche, qui fait partie des tâches regroupées avec GitHub Advanced Security pour Azure DevOps. Les principaux paramètres d’entrée à utiliser sont les suivants :

  • SarifsInputDirectory: configure le répertoire des fichiers SARIF à charger. Le chemin d’accès au répertoire attendu est absolu.
  • Category: attribue éventuellement une catégorie pour les résultats dans le fichier SARIF. Cela vous permet d’analyser la même validation de plusieurs façons et de passer en revue les résultats à l’aide des vues d’analyse du code dans GitHub. Par exemple, vous pouvez effectuer une analyse avec plusieurs outils et, dans un monodépôt, vous pouvez analyser différentes tranches du dépôt en fonction du sous-ensemble de fichiers modifiés.

Voici un exemple d’intégration à la tâche Microsoft Security DevOps détenue par l’équipe Microsoft Defender pour le cloud :

trigger:
- main

pool:
  vmImage: ubuntu-latest

steps:
- task: MicrosoftSecurityDevOps@1
  inputs:
    command: 'run'
    categories: 'IaC'
- task: AdvancedSecurity-Publish@1
  inputs:
    SarifsInputDirectory: '$(Build.ArtifactStagingDirectory)/.gdn/'

Génération d’empreintes digitales de résultat

Si votre fichier SARIF n’inclut partialFingerprintspas, la AdvancedSecurity-Publish tâche calcule le partialFingerprints champ pour vous et tente d’empêcher les alertes en double. Advanced Security ne peut créer partialFingerprints que lorsque le référentiel contient à la fois le fichier SARIF et le code source utilisé dans l’analyse statique. Pour plus d’informations sur la prévention des alertes en double, consultez Fournir des données pour suivre les alertes d’analyse du code entre les exécutions.

Valider les résultats de l’outil

Vous pouvez vérifier que les propriétés SARIF ont la taille prise en charge pour le chargement et que le fichier est compatible avec l’analyse du code. Pour plus d’informations, consultez Validation de votre fichier SARIF. Pour vérifier si un fichier SARIF est conforme spécifiquement aux exigences de Advanced Security, consultez le validateur SARIF et sélectionnez Azure DevOps ingestion rules.