Compartilhar via


Solução de problemas de verificação de dependência

Saiba como solucionar problemas de verificação de dependência no GitHub Advanced Security para Azure DevOps.

A varredura de dependências não está identificando nenhum componente

Se a tarefa de verificação de dependência estiver sendo concluída sem sinalizar nenhum componente e não gerar alertas sobre componentes com vulnerabilidades conhecidas, certifique-se de ter uma etapa de restauração de pacote antes da tarefa AdvancedSecurity-Dependency-Scanning@1.

Por exemplo, para um projeto C# (.NET Core), veja um snippet YAML de exemplo:

- 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

Para um projeto JavaScript, veja um exemplo de snippet YAML:

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

- task: AdvancedSecurity-Dependency-Scanning@1

Tempo limite da tarefa de verificação de dependência

O tempo padrão de execução da tarefa de verificação de dependência antes de atingir o tempo limite de 300 segundos ou 5 minutos. Se a tarefa estiver atingindo o tempo limite antes da conclusão, você poderá definir uma variável de pipeline DependencyScanning.Timeout, que espera um inteiro representando segundos, como DependencyScanning.Timeout: 600. Qualquer valor abaixo do tempo limite padrão de 300 segundos não tem efeito.

Para usar essa variável, adicione DependencyScanning.Timeout como uma variável de pipeline:

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

Cenário de quebra de vidro para a tarefa de build

Se a tarefa de build de verificação de dependência estiver bloqueando uma execução bem-sucedida do pipeline e você precisar ignorar urgentemente a tarefa de build, poderá definir uma variável DependencyScanning.Skip: truede pipeline.

Permissões de tarefa de verificação de dependência

A tarefa de build de verificação de dependência usa a identidade do pipeline para chamar as APIs REST de Segurança Avançada. Por padrão, os pipelines no mesmo projeto têm acesso para buscar alertas. Se você remover essas permissões da conta de serviço de build ou se tiver uma configuração personalizada (por exemplo, um pipeline hospedado em um projeto diferente do repositório), você deverá conceder essas permissões manualmente.

Conceda permissão Advanced Security: View Alerts à conta de serviço de build usada em seu pipeline, que para pipelines com escopo de projeto é [Project Name] Build Service ([Organization Name]), e para pipelines com escopo de coleção é Project Collection Build Service ([Organization Name]).