Freigeben über


Problembehandlung der Abhängigkeitsüberprüfung

Erfahren Sie, wie Sie Abhängigkeitsscanprobleme in GitHub Advanced Security für Azure DevOps beheben.

Abhängigkeitsscans identifizieren keine Komponenten

Wenn die Abhängigkeitsüberprüfungsaufgabe abgeschlossen wird, ohne Komponenten zu kennzeichnen und keine Warnungen für Komponenten mit bekannten Sicherheitsrisiken zu generieren, stellen Sie sicher, dass Sie vor Ausführung der Aufgabe AdvancedSecurity-Dependency-Scanning@1 ein Paketwiederherstellungsschritt erfolgt.

Hier sehen Sie etwa einen YAML-Beispielcodeausschnitt für ein C#-Projekt (.NET Core):

- 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

Hier sehen Sie einen YAML-Beispielcodeausschnitt für ein JavaScript-Projekt:

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

- task: AdvancedSecurity-Dependency-Scanning@1

Timeout des Abhängigkeitsüberprüfungstasks

Die Standardzeit für die Ausführung des Abhängigkeitsüberprüfungstasks, bevor ein Timeout auftritt, beträgt 300 Sekunden (5 Minuten). Wenn bei dem Task vor seinem Abschluss ein Timeout auftritt, können Sie ein DependencyScanning.Timeout für eine Pipelinevariable festlegen, das ein Integer erwartet, das die Sekunden darstellt, z. B. DependencyScanning.Timeout: 600. Angaben unter dem Standardtimeout von 300 Sekunden haben keine Auswirkung.

Um diese Variable zu verwenden, fügen Sie sie als Pipelinevariable hinzu DependencyScanning.Timeout :

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

Break-Glass-Szenario für Buildtask

Wenn der Buildtask für die Abhängigkeitsüberprüfung eine erfolgreiche Ausführung Ihrer Pipeline blockiert und Sie den Buildtask dringend überspringen müssen, können Sie eine Pipelinevariable DependencyScanning.Skip: true festlegen.

Berechtigungen für Abhängigkeitsüberprüfungsaufgaben

Die Buildaufgabe zum Überprüfen von Abhängigkeiten verwendet die Pipelineidentität, um die Advanced Security REST-APIs aufzurufen. Standardmäßig haben Pipelines im selben Projekt Zugriff auf das Abrufen von Warnungen. Wenn Sie diese Berechtigungen aus dem Builddienstkonto entfernen oder über ein benutzerdefiniertes Setup verfügen (z. B. eine Pipeline, die in einem anderen Projekt als das Repository gehostet wird), müssen Sie diese Berechtigungen manuell erteilen.

Erteilen Sie die Advanced Security: View Alerts-Berechtigung für das in Ihrer Pipeline verwendete Builddienstkonto, für projektbezogene Pipelines [Project Name] Build Service ([Organization Name]) und für Sammlungs-bezogene Pipelines Project Collection Build Service ([Organization Name]).