Skip to main content

Revisão de alterações de dependências em um pull request

Examine as alterações de dependência nas solicitações de pull para identificar dependências adicionadas, atualizadas ou removidas e detectar vulnerabilidades antes que elas cheguem à produção.

Quem pode usar esse recurso?

A revisão de dependência está disponível para os seguintes tipos de repositório:

  • Repositórios públicos no GitHub.com
  • Repositórios de propriedade da organização no GitHub Team com GitHub Code Security habilitado

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 lançamento
  • Quantos projetos usam esses componentes
  • Dados de vulnerabilidade para essas dependências

A revisão de dependência ajuda você a encontrar dependências vulneráveis antes que elas cheguem à produção. Consulte Análise de dependência.

Você pode usar o ação de revisão de dependência para ajudar a aplicar revisões de dependências em pull requests no seu repositório. 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 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 Pontos de extremidade da API REST para revisão de dependências.

Você pode configurar o ação de revisão de dependência para atender melhor às suas necessidades ao especificar o tipo de vulnerabilidade de dependência que deseja detectar. Consulte Configurando a ação de revisão de dependências.

Revisar as dependências em um pull request

  1. Abaixo do nome do repositório, clique em Pull requests.

    Captura de tela da página principal de um repositório. Na barra de navegação horizontal, uma guia, rotulada como "Solicitações de pull", é destacada em laranja escuro.

  2. Na lista de solicitações pull, clique na solicitação pull que você quer revisar.

  3. Na pull request, clique em Files changed.

    Captura de tela das guias de uma solicitação de pull. A guia "Arquivos alterados" está contornada em laranja escuro.

  4. Se o pull request contiver muitos arquivos, use o menu suspenso Filtro de arquivo para colapsar todos os arquivos que não registram dependências. Isso facilita o foco da revisão nas alterações de dependência.

Captura de tela da guia "Arquivos alterados". Uma lista suspensa rotulada como "Filtro de arquivo" está expandida, exibindo uma lista de tipos de arquivo com caixas de seleção. A revisão de dependência fornece uma visão mais clara do que foi alterado em arquivos de bloqueio grandes, em que a diferença de origem não é mostrada por padrão.

Observação

As diferenciações ricas de revisão de dependência não estão disponíveis para arquivos confirmados de JavaScript estáticos, como jquery.js.

  1. Para exibir a análise de dependências, clique em à direita do cabeçalho de um manifesto ou arquivo de bloqueio.

    Captura de tela da guia "Arquivos alterados" de uma solicitação de pull. O botão usado para exibir a comparação sofisticada, rotulada com um ícone de arquivo, está contornado em laranja escuro.

  2. Verifique as dependências listadas na revisão sobre dependências.

    Captura de tela dos avisos de vulnerabilidade em uma análise de dependência para um pull request.

    Quaisquer dependências adicionadas ou alteradas com vulnerabilidades são listadas primeiro, ordenadas por gravidade e, posteriormente, pelo nome da dependência. Isso significa que as dependências de severidade mais elevada estão sempre no topo de uma análise de dependências. Outras dependências estão listadas em ordem alfabética pelo nome das dependências.

    O ícone ao lado de cada dependência indica se a dependência foi adicionada (), atualizada () ou removida () nessa solicitação de pull.

    Outras informações incluem:

    • A versão ou intervalo de versão da dependência nova, atualizada ou excluída.
    • Para uma versão específica de uma dependência:
      • A idade daquela versão da dependência.
      • O número de projetos que dependem desse software. Essa informação é tirada do gráfico de dependências. Verificar o número de dependentes pode ajudar você a evitar adicionar acidentalmente a dependência incorreta.
      • A licença usada por esta dependência, se estas informações estiverem disponíveis. Isso é útil se você quiser evitar o uso de código com determinadas licenças em seu projeto.

    Quando uma dependência tem uma vulnerabilidade conhecida, a mensagem de aviso inclui:

    • Uma breve descrição da vulnerabilidade.
    • Um número de identificação CVE (Vulnerabilidades e Exposições Comuns) ou GitHub Security Advisories (GHSA). Você pode clicar nesse ID para saber mais sobre a vulnerabilidade.
    • A gravidade da vulnerabilidade.
    • A versão da dependência na qual a vulnerabilidade foi corrigida. Se você estiver revisando um pull request para alguém, você pode pedir ao contribuidor para atualizar a dependência para a versão corrigida ou para uma versão posterior.
  3. É possível que você também queira revisar o diff da fonte, porque pode haver alterações no manifesto ou arquivo de bloqueio que não mudam as dependências, ou pode haver dependências que GitHub não pode analisar e que, consequentemente, não aparecem na revisão de dependências.

    Para voltar à exibição de comparação de origem, clique no botão .

    Captura de tela da guia "Arquivos alterados" de uma solicitação de pull. O botão usado para exibir a comparação de origem, mostrado com um ícone de código, está contornado em laranja.