Delen via


Problemen met het scannen van afhankelijkheden oplossen

Meer informatie over het oplossen van problemen met het scannen van afhankelijkheden in GitHub Advanced Security voor Azure DevOps.

Afhankelijkheid scannen identificeert geen onderdelen

Als de scantaak voor afhankelijkheden wordt voltooid zonder dat er een vlag wordt toegevoegd aan onderdelen en er geen waarschuwingen voor onderdelen met bekende beveiligingsproblemen worden gegenereerd, moet u ervoor zorgen dat u vóór de AdvancedSecurity-Dependency-Scanning@1 taak een herstelstap voor pakketten hebt.

Voor een C#-project (.NET Core) ziet u hier bijvoorbeeld een YAML-voorbeeldfragment:

- 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

Voor een JavaScript-project ziet u hier een YAML-voorbeeldfragment:

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

- task: AdvancedSecurity-Dependency-Scanning@1

Time-out voor het scannen van afhankelijkheidstaken

De standaardtijd die de scantaak voor afhankelijkheden uitvoert voordat er een time-out optreedt, is 300 seconden of 5 minuten. Als er een time-out optreedt voordat de taak is voltooid, kunt u een pijplijnvariabele DependencyScanning.Timeoutinstellen, die een geheel getal verwacht dat seconden vertegenwoordigt, zoals DependencyScanning.Timeout: 600. Alles onder de standaardtime-out van 300 seconden heeft geen effect.

Als u deze variabele wilt gebruiken, voegt u deze toe DependencyScanning.Timeout als een pijplijnvariabele:

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

Break-glass-scenario voor build-taak

Als de build-taak voor het scannen van afhankelijkheden een geslaagde uitvoering van uw pijplijn blokkeert en u de buildtaak dringend moet overslaan, kunt u een pijplijnvariabele DependencyScanning.Skip: trueinstellen.

Taakmachtigingen voor het scannen van afhankelijkheden

De build-taak voor het scannen van afhankelijkheden maakt gebruik van de pijplijnidentiteit om de Advanced Security REST API's aan te roepen. Pijplijnen in hetzelfde project hebben standaard toegang tot het ophalen van waarschuwingen. Als u deze machtigingen verwijdert uit het buildserviceaccount of als u een aangepaste installatie hebt (bijvoorbeeld een pijplijn die wordt gehost in een ander project dan de opslagplaats), moet u deze machtigingen handmatig verlenen.

Verdeel Advanced Security: View Alerts toestemming voor het buildserviceaccount dat wordt gebruikt in uw pijplijn, wat voor pijplijnen met projectbereik is [Project Name] Build Service ([Organization Name])en voor pijplijnen Project Collection Build Service ([Organization Name])met een verzamelingsbereik.