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: true
de 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.