Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais atualizadas, acesse a documentação em inglês.

Configuração da revisão de dependência

Você pode usar a análise de dependência para capturar vulnerabilidades antes que elas sejam adicionadas ao projeto.

Sobre a análise de dependência

Revisão de dependências ajuda você a entender as alterações de dependência e o impacto de segurança dessas alterações em cada pull request. Ele fornece uma visualização facilmente compreensível de mudanças de dependência, com um diff avançado na aba "Arquivos alterados" de uma solicitação de pull. A revisão de dependências informa você:

  • Quais dependências foram adicionadas, removidas ou atualizadas, junto com as datas de versão.
  • Quantos projetos usam esses componentes.
  • Dados de vulnerabilidade para essas dependências.

Para obter mais informações, consulte "Sobre a revisão de dependência" ou "Como revisar as alterações de dependência em uma solicitação pull".

Sobre a configuração da revisão de dependência

A revisão de dependência está disponível quando o grafo de dependência está habilitado para your GitHub Enterprise Server instance e o Advanced Security está habilitado para a organização ou o repositório. Para obter mais informações, confira "Como habilitar o GitHub Advanced Security na empresa".

Como verificar se o grafo de dependência está habilitado

  1. No your GitHub Enterprise Server instance, navegue até a página principal do repositório. 1. Abaixo do nome do repositório, clique em Configurações. Botão Configurações do repositório

  2. Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.

  3. Em "Configurar recursos de segurança e análise", verifique se o grafo de dependência está habilitado.

  4. Se o grafo de dependência estiver habilitado, clique em Habilitar ao lado de "GitHub Advanced Security" para habilitar Advanced Security, incluindo a revisão de dependência. O botão Habilitar fica desabilitado quando a empresa não tem licenças disponíveis para o Advanced Security. Captura de tela dos "Recursos de segurança e análise de código"

Sobre a configuração da dependency review action

O dependency review action verifica as solicitações de pull em busca de alterações de dependência e gera um erro quando novas dependências têm vulnerabilidades conhecidas. A ação tem o suporte de um ponto de extremidade de API que compara as dependências entre duas revisões e relata as diferenças.

Para obter mais informações sobre a ação e o ponto de extremidade da API, confira a documentação dependency-review-action e a "Análise de dependência" na documentação da API.

As opções de configuração a seguir estão disponíveis.

OpçãoObrigatórioUso
fail-on-severityOpcionalDefine o limite do nível de severidade (low, moderate, high e critical).
A ação falhará nas solicitações de pull que apresentarem vulnerabilidades no nível de severidade especificado ou superior.

Como configurar a dependency review action

Há dois métodos de configuração da dependency review action:

  • Integrar as opções de configuração no arquivo de fluxo de trabalho.
  • Fazer referência a um arquivo de configuração no arquivo de fluxo de trabalho.

Observe que todos os exemplos usam um número de versão curto para a ação (v3) em vez de um número de versão semver (por exemplo, v3.0.8). Isso garante que você use a versão secundária mais recente da ação.

Usar a configuração em linha para configurar a dependency review action

  1. Adicione um fluxo de trabalho YAML à pasta .github/workflows.

    Para runs-on, o rótulo padrão é self-hosted. É possível substituir o rótulo padrão pelo de qualquer um dos executores.

    YAML
    name: 'Dependency Review'
    on: [pull_request]
    
    permissions:
      contents: read
    
    jobs:
      dependency-review:
       runs-on: self-hosted
         steps:
           - name: 'Checkout Repository'
             uses: actions/checkout@v3
           - name: Dependency Review
             uses: actions/dependency-review-action@v3
  2. Especifique suas configurações.

    Esse arquivo de exemplo de dependency review action ilustra como usar as opções de configuração disponíveis.

    YAML
    name: 'Dependency Review'
    on: [pull_request]
    
    permissions:
      contents: read
    
    jobs:
      dependency-review:
      runs-on: self-hosted
        steps:
          - name: 'Checkout Repository'
            uses: actions/checkout@v3
          - name: Dependency Review
            uses: actions/dependency-review-action@v3
            with:
            # Possible values: "critical", "high", "moderate", "low" 
            fail-on-severity: critical
    
            # ([String]). Skip these GitHub Advisory Database IDs during detection (optional)
            # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories  
            allow-ghsas: GHSA-abcd-1234-5679, GHSA-efgh-1234-5679
    

Usar um arquivo de configuração para configurar a dependency review action

  1. Adicione um fluxo de trabalho YAML à pasta .github/workflows e use config-file para especificar que você está usando um arquivo de configuração.

    Para runs-on, o rótulo padrão é self-hosted. É possível substituir o rótulo padrão pelo de qualquer um dos executores.

    YAML
    name: 'Dependency Review'
    on: [pull_request]
    
    permissions:
     contents: read
    
    jobs:
      dependency-review:
        runs-on: self-hosted
        steps:
          - name: 'Checkout Repository'
            uses: actions/checkout@v3
          - name: Dependency Review
            uses: actions/dependency-review-action@v3
            with:
             # ([String]). Representing a path to a configuration file local to the repository or in an external repository.
             # Possible values: An absolute path to a local file or an external file.
             config-file: './.github/dependency-review-config.yml'   
             # Syntax for an external file: OWNER/REPOSITORY/FILENAME@BRANCH
             config-file: 'github/octorepo/dependency-review-config.yml@main'
    
             # ([Token]) Use if your configuration file resides in a private external repository.
             # Possible values: Any GitHub token with read access to the private external repository.  
             external-repo-token: 'ghp_123456789abcde'
  2. Crie o arquivo de configuração no caminho especificado.

    Esse arquivo de exemplo YAML ilustra como é possível usar as opções de configuração disponíveis.

    YAML
      # Possible values: "critical", "high", "moderate", "low" 
      fail-on-severity: critical
    
       # ([String]). Skip these GitHub Advisory Database IDs during detection (optional)
       # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories  
      allow-ghsas: 
        - GHSA-abcd-1234-5679 
        - GHSA-efgh-1234-5679
    

    Para saber mais detalhes sobre as opções de configuração, confira dependency-review-action.