Rozwiązywanie problemów ze skanowaniem zależności
Dowiedz się, jak rozwiązywać problemy ze skanowaniem zależności w usłudze GitHub Advanced Security dla usługi Azure DevOps.
Skanowanie zależności nie identyfikuje żadnych składników
Jeśli zadanie skanowania zależności kończy się bez flagowania żadnych składników i nie generuje alertów dotyczących składników ze znanymi lukami w zabezpieczeniach, upewnij się, że masz krok przywracania pakietu przed AdvancedSecurity-Dependency-Scanning@1
zadaniem.
Na przykład w przypadku projektu języka C# (.NET Core) oto przykładowy fragment kodu YAML:
- 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
W przypadku projektu JavaScript poniżej przedstawiono przykładowy fragment kodu YAML:
- task: Npm@1
displayName: 'npm install'
inputs:
command: 'install'
workingDir: '$(System.DefaultWorkingDirectory)'
- task: AdvancedSecurity-Dependency-Scanning@1
Przekroczenie limitu czasu zadania skanowania zależności
Domyślny czas uruchomienia zadania skanowania zależności przed przekroczeniem limitu czasu wynosi 300 sekund lub 5 minut. Jeśli zadanie przekracza limit czasu przed ukończeniem, można ustawić zmienną DependencyScanning.Timeout
potoku , która oczekuje liczby całkowitej reprezentującej sekundy, na przykład DependencyScanning.Timeout: 600
. Wszystkie elementy poniżej domyślnego limitu czasu 300 sekund nie mają żadnego wpływu.
Aby użyć tej zmiennej, dodaj DependencyScanning.Timeout
jako zmienną potoku:
- task: AdvancedSecurity-Dependency-Scanning@1
env:
DependencyScanning.Timeout: 600
Scenariusz z przeszklonym szkłem do zadania kompilacji
Jeśli zadanie kompilacji skanowania zależności blokuje pomyślne wykonanie potoku i musisz pilnie pominąć zadanie kompilacji, możesz ustawić zmienną DependencyScanning.Skip: true
potoku .
Uprawnienia zadania skanowania zależności
Zadanie kompilacji skanowania zależności używa tożsamości potoku do wywoływania interfejsów API REST usługi Advanced Security. Domyślnie potoki w tym samym projekcie mają dostęp do pobierania alertów. Jeśli usuniesz te uprawnienia z konta usługi kompilacji lub masz konfigurację niestandardową (na przykład potok hostowany w innym projekcie niż repozytorium), musisz przyznać te uprawnienia ręcznie.
Udziel Advanced Security: View Alerts
uprawnień do konta usługi kompilacji używanego w potoku, które dla potoków o zakresie projektu to [Project Name] Build Service ([Organization Name])
, a w przypadku potoków o zakresie kolekcji jest .Project Collection Build Service ([Organization Name])