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, confira "Sobre a análise de dependência" e "Revendo alterações de dependência em um pull request."
Sobre a configuração da revisão de dependência
A revisão de dependência fica disponível quando o grafo de dependência é habilitado para o sua instância do GitHub Enterprise Server e o Advanced Security é habilitado para a organização ou o repositório. Para obter mais informações, confira "Como habilitar a Segurança Avançada do GitHub para sua empresa".
Como verificar se o grafo de dependência está habilitado
-
No sua instância do GitHub Enterprise Server, navegue até a página principal do repositório. 1. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia suspensa "Configurações", selecione o menu suspenso e clique em Configurações.
-
Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.
-
Em "Configurar recursos de segurança e análise", verifique se o grafo de dependência está habilitado.
-
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.
Sobre a configuração da ação de revisão de dependência
O ação de revisão de dependência verifica as solicitações de pull em busca de alterações de dependência e gera um erro se as novas dependências têm vulnerabilidades conhecidas. A ação é compatível com um ponto de extremidade de API que compara as dependências entre duas revisões e relata todas 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 "Análise de dependência" na documentação da API.
As opções de configuração a seguir estão disponíveis.
Opção | Obrigatório | Uso |
---|---|---|
fail-on-severity | Define 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 ação de revisão de dependência
Há dois métodos de configuração da ação de revisão de dependência:
- 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 ação de revisão de dependência
-
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
-
Especifique suas configurações.
Esse arquivo de exemplo de ação de revisão de dependência 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 ação de revisão de dependência
-
Adicione um fluxo de trabalho YAML à pasta
.github/workflows
e useconfig-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'
-
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
.