Partager via


Résolution des problèmes d’analyse des dépendances

Découvrez comment résoudre les problèmes d’analyse des dépendances dans GitHub Advanced Security pour Azure DevOps.

L'analyse des dépendances n'identifie aucun composant

Si la tâche d'analyse des dépendances s'achève sans qu'aucun composant ne soit signalé et sans que des alertes ne soient générées pour les composants présentant des vulnérabilités connues, assurez-vous qu'une étape de restauration des packages a été effectuée avant la tâche AdvancedSecurity-Dependency-Scanning@1.

Par exemple, pour un projet C# (.NET Core), voici un extrait YAML d'exemple :

- task: DotNetCoreCLI@2
  displayName: 'Restore NuGet packages'
  inputs:
    command: 'restore'
    projects: '**/*.csproj'

    # If you are using a private package feed such as Azure Artifacts, you will need additional variables.
    # For more information, see https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/dotnet-core-cli-v2?view=azure-pipelines 
    feedsToUse: 'select'
    ...

- task: AdvancedSecurity-Dependency-Scanning@1

Pour un projet JavaScript, voici un extrait YAML d'exemple :

- task: Npm@1
  displayName: 'npm install'
  inputs:
    command: 'install'
    workingDir: '$(System.DefaultWorkingDirectory)'

- task: AdvancedSecurity-Dependency-Scanning@1

Expiration du délai d’attente de la tâche d’analyse des dépendances

Le délai par défaut d'exécution de la tâche d'analyse des dépendances avant l'expiration est de 300 secondes, soit 5 minutes. Si la tâche arrive à expiration avant d'être terminée, vous pouvez définir une variable de pipeline DependencyScanning.Timeout, qui attend un nombre entier représentant les secondes, tel que DependencyScanning.Timeout: 600. Tout ce qui est inférieur au délai d'expiration par défaut de 300 secondes n'a aucun effet.

Pour utiliser cette variable, ajoutez DependencyScanning.Timeout en tant que variable de pipeline :

- task: AdvancedSecurity-Dependency-Scanning@1
- env:
    DependencyScanning.Timeout: 600

Scénario de secours pour la tâche de génération

Si la tâche de génération d’analyse des dépendances bloque l’exécution réussie de votre pipeline et que vous devez ignorer de manière urgente la tâche de génération, vous pouvez définir une variable DependencyScanning.Skip: truede pipeline.

Autorisations de tâche d’analyse des dépendances

La tâche de génération d’analyse des dépendances utilise l’identité de pipeline afin d’appeler les API REST Advanced Security. Les pipelines du même projet ont par défaut accès aux alertes d’extraction. Si vous supprimez ces autorisations à partir du compte de service de build ou si vous avez une configuration personnalisée (par exemple, un pipeline hébergé dans un projet différent du référentiel), vous devez accorder ces autorisations manuellement.

Accordez à Advanced Security: View Alerts l’autorisation au compte de service de build utilisé dans votre pipeline qui est [Project Name] Build Service ([Organization Name]) pour des pipelines délimités par le projet et Project Collection Build Service ([Organization Name]) pour des pipelines délimités par la collection.