Skip to main content

Visualizando e atualizando alertas do Dependabot

Se o GitHub descobrir dependências inseguras no seu projeto, você poderá visualizá-las na guia de alertas do Dependabot no seu repositório. Você pode atualizar seu projeto para resolver ou descartar o alerta.

Quem pode usar esse recurso?

Repository administrators, organization owners, and people with write or maintain access to a repository can view and update dependencies, as well as users and teams with explicit access.

A guia Dependabot alerts do repositório lista todos os Dependabot alerts abertos e fechados e as Dependabot security updates correspondentes. Você pode filtrar os alertas por pacote, ecossistema ou manifesto. Você pode classificar a lista de alertas, além de poder clicar em alertas específicos para mais detalhes. Você também pode descartar ou reabrir alertas, um a um ou selecionando vários alertas de uma só vez. Para obter mais informações, confira "Sobre alertas do Dependabot".

Você pode habilitar atualizações automáticas de segurança para qualquer repositório que use Dependabot alerts e o grafo de dependência. Para obter mais informações, confira "Sobre as atualizações de segurança do Dependabot".

Sobre atualizações para dependências vulneráveis no seu repositório

GitHub gera Dependabot alerts quando detectamos que a ramificação padrão da sua base de código está usando dependências com riscos de segurança conhecidos. Para repositórios em que Dependabot security updates estão habilitados, quando GitHub detecta uma dependência vulnerável no branch padrão, Dependabot cria uma pull request para corrigi-la. A pull request irá atualizar a dependência para a versão minimamente segura possível, o que é necessário para evitar a vulnerabilidade.

O Dependabot não gera Dependabot alerts para malwares. Para obter mais informações, confira "Sobre o banco de dados de avisos do GitHub".

Cada alerta de Dependabot tem um identificador único de número e a aba de Dependabot alerts lista um alerta para cada vulnerabilidade detectada. O legado de Dependabot alerts agrupou as vulnerabilidades por dependência e gerou um único alerta por dependência. Se você acessar um alerta de legado Dependabot, você será redirecionado para uma aba de Dependabot alerts filtrada para esse pacote.

Você pode filtrar e classificar Dependabot alerts usando uma variedade de filtros e opções de classificação disponíveis na interface do usuário. Para obter mais informações, confira "Como priorizar Dependabot alerts", abaixo.

Você também pode auditar as ações executadas em resposta aos alertas do Dependabot. Para obter mais informações, confira "Alertas de segurança de auditoria".

Como priorizar Dependabot alerts

A GitHub ajuda você a priorizar a correção de Dependabot alerts. Por padrão, Dependabot alerts são classificados por importância. A ordem de classificação "Mais importante" ajuda você a priorizar em quais Dependabot alerts se concentrar primeiro. Os alertas são classificados com base no impacto potencial, capacidade de ação e relevância. Nosso cálculo de priorização está constantemente sendo aprimorado e inclui fatores como pontuação CVSS, escopo de dependência e se chamadas de função vulneráveis são encontradas no alerta.

Você também pode usar Regras de triagem automática do Dependabot para priorizar Dependabot alerts. Para obter mais informações, confira "Sobre as regras de triagem automática do Dependabot".

Você pode classificar e filtrar Dependabot alerts digitando filtros como pares key:value na barra de pesquisa.

OpçãoDescriçãoExemplo
ecosystemExibe alertas para o ecossistema selecionadoUsar ecosystem:npm para mostrar Dependabot alerts para npm
hasExibe alertas atendendo aos critérios de filtro selecionadosUsar has:patch para mostrar alertas relacionados a avisos que têm um patch
Usar has:vulnerable-calls para mostrar alertas relacionados a chamadas a funções vulneráveis
isExibe alertas com base no estadoUsar is:open para mostrar alertas abertos
manifestExibe alertas para o manifesto selecionadoUsar manifest:webwolf/pom.xml para mostrar alertas no arquivo pom.xml do aplicativo webwolf
packageExibe alertas para o pacote selecionadoUsar package:django para mostrar alertas para o django
resolutionExibe alertas do status de resolução selecionadoUsar resolution:no-bandwidth para mostrar alertas estacionados anteriormente devido à falta de recursos ou de tempo para corrigi-los
repoExibe alertas com base no repositório ao qual eles se relacionam
Observe que esse filtro só está disponível para obter uma visão geral de segurança. Para obter mais informações, confira "Sobre a visão geral de segurança".
Usar repo:octocat-repo para mostrar alertas no repositório chamado octocat-repo
scopeExibe alertas com base no escopo da dependência à qual eles se relacionamUsar scope:development para mostrar alertas para dependências que são usadas somente durante o desenvolvimento
severityExibe alertas com base no nível de gravidadeUsar severity:high para mostrar alertas com nível de gravidade Alto
sortExibe alertas de acordo com a ordem de classificação selecionadaA opção de classificação padrão para alertas é sort:most-important, que classifica os alertas por importância
Usar sort:newest para mostrar os alertas mais recentes relatados por Dependabot

Além dos filtros disponíveis por meio da barra de pesquisa, você pode classificar e filtrar dados Dependabot alerts usando os menus suspensos na parte superior da lista de alertas. Como alternativa, para filtrar por rótulo, clique em um rótulo atribuído a um alerta para aplicar automaticamente esse filtro à lista de alertas.

A barra de pesquisa também permite a pesquisa completa de texto de alertas e avisos de segurança relacionados. Você pode pesquisar parte de um nome de consultoria de segurança ou descrição para retornar os alertas em seu repositório relacionados a esse aviso de segurança. Por exemplo, a pesquisa yaml.load() API could execute arbitrary code retornará Dependabot alerts vinculados a "PyYAML desserializa de maneira insegura cadeias de caracteres YAML que levam à execução arbitrária do código" à medida que a cadeia de caracteres de pesquisa aparece na descrição do aviso.

Captura de tela dos menus de filtro e classificação na guia dos Dependabot alerts.

Ecossistemas e manifestos com suporte para escopo de dependência

A tabela a seguir resume se há suporte para escopo de dependência em vários ecossistemas e manifestos, ou seja, se o Dependabot pode identificar se uma dependência é usada para desenvolvimento ou produção.

IdiomaEcossistemaArquivo de manifestoEscopo de dependência com suporte
Dartpubpubspec.yaml
Dartpubpubspec.lock
GoMódulos Gogo.modNão. O padrão é runtime
JavaMavenpom.xml O test mapeia para desenvolvimento, caso contrário, o escopo é padronizado para tempo de execução
JavaScriptnpmpackage.json
JavaScriptnpmpackage-lock.json
JavaScriptnpmpnpm-lock.yaml
JavaScriptyarn v1yarn.lockNão. O padrão é runtime
PHPCompositorcomposer.json
PHPCompositorcomposer.lock
PythonPoetrypoetry.lock
PythonPoetrypyproject.toml
Pythonpiprequirements.txt O escopo é o desenvolvimento se o nome do arquivo contiver test ou dev, caso contrário, é runtime
Pythonpippipfile.lock
Pythonpippipfile
RubyRubyGemsGemfile
RubyRubyGemsGemfile.lockNão. O padrão é runtime
RustCargoCargo.toml
RustCargoCargo.lockNão. O padrão é runtime
YAMLGitHub Actions-Não. O padrão é runtime
.NET (C#, F#, VB etc.)NuGet.csproj/.vbproj .vcxproj/.fsprojNão. O padrão é runtime
.NETNuGetpackages.configNão. O padrão é runtime
.NETNuGet.nuspec Quando a tag != tempo de execução

Os alertas para pacotes listados como dependências de desenvolvimento são marcados com o rótulo Development na página Dependabot alerts e também estão disponíveis para filtragem por meio do filtro scope.

Captura de tela mostrando o rótulo "Desenvolvimento" atribuído a um alerta na lista de alertas. O rótulo é realçado com um contorno laranja escuro.

A página de detalhes dos alertas em pacotes com escopo de desenvolvimento mostra uma seção "Tags" que contém um rótulo Development.

Captura de tela mostrando a seção "Marcas" na página de detalhes do alerta. O rótulo é realçado com um contorno laranja escuro.

Sobre a detecção de chamadas para funções vulneráveis

Observações:

  • A detecção de chamadas a funções vulneráveis pelo Dependabot está em versão prévia pública e está sujeita a alterações.
  • A detecção de chamadas vulneráveis está habilitada em repositórios públicos. Essa análise também está disponível em repositórios privados pertencentes a organizações que usam o GitHub Enterprise Cloud e que têm uma licença do GitHub Advanced Security. Para obter mais informações, confira "Sobre a Segurança Avançada do GitHub".

Quando Dependabot informa que seu repositório usa uma dependência vulnerável, você precisa determinar quais são as funções vulneráveis e verificar se você as está usando. Depois de ter essas informações, você pode determinar com que urgência precisa atualizar para uma versão segura da dependência.

Para idiomas com suporte, Dependabot detecta automaticamente se você usa uma função vulnerável e adiciona o rótulo "Chamada vulnerável" aos alertas afetados. Você pode usar essas informações na exibição Dependabot alerts para fazer a triagem e priorizar o trabalho de correção com mais eficiência.

Observação: durante a versão versão prévia pública, esse recurso está disponível apenas para novos avisos do Python criados após 14 de abril de 2022 e para um subconjunto de avisos históricos do Python. GitHub está trabalhando para preencher dados em outros avisos históricos do Python, que são adicionados continuamente. Chamadas vulneráveis são destacadas apenas nas páginas Dependabot alerts.

Captura de tela mostrando um alerta com o rótulo "Chamada vulnerável". O rótulo tem um contorno laranja.

Você pode filtrar a exibição para mostrar apenas alertas em que Dependabot detectou pelo menos uma chamada para uma função vulnerável usando o filtro has:vulnerable-calls no campo de pesquisa.

Para alertas em que chamadas vulneráveis são detectadas, a página de detalhes do alerta mostra informações adicionais:

  • Um ou mais blocos de código mostrando onde a função é usada.
  • Uma anotação listando a própria função, com um link para a linha onde a função é chamada.

Captura de tela mostrando um alerta do Dependabot com um rótulo de "Chamada vulnerável". Um bloco de código, mostrando "Função vulnerável chamada", e um link intitulado "Ver todos os repositórios afetados" estão realçados com um contorno laranja escuro.

Para obter mais informações, confira "Revisão e correção de alertas" abaixo.

Exibir Dependabot alerts

Você pode exibir todos os Dependabot alerts abertos e fechados e as Dependabot security updates correspondentes na guia Dependabot alerts do seu repositório. Você pode classificar e filtrar Dependabot alerts selecionando um filtro no menu suspenso.

  1. Em GitHub, acesse a página principal do repositório.

  2. Abaixo do nome do repositório, clique em Segurança. Caso não consiga ver a guia "Segurança", selecione o menu suspenso e clique em Segurança.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Segurança" é realçada por um contorno laranja escuro.

  3. Na barra lateral "Alertas de vulnerabilidade" da visão geral de segurança, clique em Dependabot . Se essa opção está ausente, isso significa que você não tem acesso aos alertas de segurança e precisa receber o acesso. Para obter mais informações, confira "Gerenciando as configurações de segurança e análise do repositório".

    Captura de tela da visão geral de segurança, com a guia "Dependabot" realçada com um contorno laranja escuro.

  4. Opcionalmente, para filtrar alertas, selecione um filtro no menu suspenso e clique no filtro que deseja aplicar. Você também pode digitar filtros na barra de pesquisa. Como alternativa, para filtrar por rótulo, clique em um rótulo atribuído a um alerta para aplicar automaticamente esse filtro à lista de alertas. Para obter mais informações sobre filtragem e classificação de alertas, confira "Como priorizar Dependabot alerts".

    Captura de tela dos menus de filtro e classificação na guia dos Dependabot alerts.

  5. Clique no alerta que você deseja visualizar.

  6. Opcionalmente, para sugerir um aprimoramento na consultoria de segurança relacionada, no lado direito da página de detalhes do alerta, clique em Sugerir aprimoramentos para essa consultoria no GitHub Advisory Database . Para obter mais informações, confira "Editando consultorias de segurança no banco de dados consultivo do GitHub".

    Captura de tela da barra lateral direita de um alerta do Dependabot. Um link intitulado "Sugerir aprimoramentos para esse aviso no GitHub Advisory Database" está realçado com um contorno laranja.

Revisão e correção de alertas

É importante garantir que todas as suas dependências estejam livres de quaisquer falhas de segurança. Quando Dependabot descobre vulnerabilidades em suas dependências, você deve avaliar o nível de exposição do seu projeto e determinar quais etapas de correção devem ser tomadas para proteger seu aplicativo.

Se uma versão corrigida da dependência estiver disponível, você poderá gerar uma solicitação de pull Dependabot para atualizar essa dependência diretamente de um alerta Dependabot. Se a opção Dependabot security updates estiver habilitada, a solicitação de pull poderá ser vinculada ao alerta do Dependabot.

Nos casos em que uma versão corrigida não está disponível ou você não pode atualizar para a versão segura, Dependabot compartilha informações adicionais para ajudar você a determinar as próximas etapas. Ao clicar para visualizar um alerta Dependabot, você pode ver os detalhes completos do aviso de segurança para a dependência, incluindo as funções afetadas. Em seguida, você pode verificar se o código chama as funções afetadas. Essas informações podem ajudar a avaliar melhor o seu nível de risco e determinar soluções alternativas ou se você pode aceitar o risco representado pela conselho de segurança.

Para idiomas com suporte, Dependabot detecta chamadas para funções vulneráveis para você. Quando você visualiza um alerta rotulado como "Chamada vulnerável", os detalhes incluem o nome da função e um link para o código que a chama. Muitas vezes, você poderá tomar decisões com base nessas informações, sem explorar mais.

Corrigir dependências vulneráveis

  1. Exiba os detalhes de um alerta. Para obter mais informações, confira "Exibir Dependabot alerts" acima.

  2. Se você tiver a opção Dependabot security updates habilitada, poderá haver um link para uma solicitação de pull que corrigirá a dependência. Como alternativa, você pode clicar em Criar atualização de segurança Dependabot na parte superior da página de detalhes do alerta para criar uma solicitação de pull.

    Captura de tela de um alerta do Dependabot com o botão "Criar atualização de segurança do Dependabot" realçado com um contorno laranja escuro.

  3. Opcionalmente, se você não usar Dependabot security updates, poderá usar as informações na página para decidir para qual versão da dependência atualizar e criar uma solicitação de pull para atualizar a dependência para uma versão segura.

  4. Quando estiver pronto para atualizar a dependência e resolver a vulnerabilidade, faça merge da pull request.

    Cada solicitação de pull gerada pelo Dependabot inclui informações sobre os comandos que você pode usar para controlar o Dependabot. Para obter mais informações, confira "Gerenciar pull requests para atualizações de dependências".

Ignorar Dependabot alerts

Dica: você só pode ignorar alertas em aberto.

Se você agendar um trabalho extensivo para atualizar uma dependência ou decidir que um alerta não precisa ser corrigido, poderá ignorar o alerta. Ignorar alertas que você já avaliou facilita a triagem de novos alertas à medida que aparecem.

  1. Exiba os detalhes de um alerta. Para obter mais informações, confira "Exibir dependências vulneráveis" (acima).

  2. Escolha a lista suspensa “Ignorar” e clique em um motivo para ignorar o alerta. Alertas descartados não corrigidos podem ser reabertos mais tarde.

  3. Opcionalmente, adicione um comentário de ignorar. O comentário de ignorar será adicionado à linha do tempo do alerta e pode ser usado como justificativa em auditorias e relatórios. Você pode recuperar ou definir um comentário usando a API do GraphQL. O comentário está contido no campo dismissComment. Para obter mais informações, confira "Objetos" na documentação da API do GraphQL.

    Captura de tela da página de um alerta do Dependabot, com a lista suspensa "Ignorar" e a opção para adicionar um comentário de ignorar realçado com um contorno laranja escuro.

  4. Clique em Ignorar alerta.

Ignorar múltiplos alertas de uma vez

  1. Exibição dos Dependabot alerts em aberto. Para obter mais informações, confira "Visualizando e atualizando alertas do Dependabot".
  2. Opcionalmente, filtre a lista de alertas selecionando um menu suspenso e clique no filtro que você deseja aplicar. Você também pode digitar filtros na barra de pesquisa.
  3. À esquerda de cada título de alerta, selecione os alertas que você deseja ignorar.
    Captura de tela da exibição do Dependabot alerts. Dois alertas são selecionados e essas caixas de seleção são realçadas com um contorno laranja.
  4. Opcionalmente, na parte superior da lista de alertas, selecione todos os alertas na página.
    Captura de tela da seção de cabeçalho da exibição do Dependabot alerts. A caixa de seleção "Selecionar tudo" está realçada com um contorno laranja escuro.
  5. Selecione a lista suspensa "Ignorar alertas" e clique em um motivo para ignorar os alertas.
    Captura de tela de uma lista de alertas. Abaixo do botão "Ignorar alertas", uma lista suspensa rotulada como "Selecionar um motivo para ignorar" está expandida. A lista suspensa contém botões para várias opções.

Visualizando e atualizando alertas fechados

Você pode visualizar todos os alertas abertos e reabrir alertas que foram descartados anteriormente. Alertas fechados que já foram corrigidos não poderão ser reabertos.

  1. Em GitHub, acesse a página principal do repositório.

  2. Abaixo do nome do repositório, clique em Segurança. Caso não consiga ver a guia "Segurança", selecione o menu suspenso e clique em Segurança.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Segurança" é realçada por um contorno laranja escuro.

  3. Na barra lateral "Alertas de vulnerabilidade" da visão geral de segurança, clique em Dependabot . Se essa opção está ausente, isso significa que você não tem acesso aos alertas de segurança e precisa receber o acesso. Para obter mais informações, confira "Gerenciando as configurações de segurança e análise do repositório".

    Captura de tela da visão geral de segurança, com a guia "Dependabot" realçada com um contorno laranja escuro.

  4. Para ver apenas os alertas fechados, clique em Fechados.

    Captura de tela que mostra a lista de Dependabot alerts com a guia "Fechado" realçada com um contorno laranja escuro.

  5. Clique no alerta que deseja ver ou atualizar.

  6. Opcionalmente, se o alerta foi ignorado e você deseja reabri-lo, clique em Reabrir. Alertas que já foram corrigidos não poderão ser reabertos.

    Captura de tela mostrando um alerta de Dependabot fechado. Um botão intitulado "Reabrir" está realçado com um contorno laranja escuro.

Reabrir múltiplos alertas de uma vez

  1. Exibir os Dependabot alerts fechados. Para obter mais informações, confira "Visualizando e atualizando alertas do Dependabot" (acima).
  2. À esquerda de cada título de alerta, selecione os alertas que você deseja reabrir clicando na caixa de seleção adjacente a cada alerta.
  3. Opcionalmente, na parte superior da lista de alertas, selecione todos os alertas fechados na página.
    Captura de tela de alertas na guia "Fechado". A caixa de seleção "Selecionar tudo" está realçada com um contorno laranja escuro.
  4. Clique em Reabrir para reabrir os alertas. Alertas que já foram corrigidos não poderão ser reabertos.

Revisão dos logs de auditoria do Dependabot alerts

Quando um membro da sua organização executa uma ação relacionada ao Dependabot alerts, você pode examiná-las no log de auditoria. Para obter mais informações sobre como acessar o log, confira “Revisar o log de auditoria da organização.”

Captura de tela do log de auditoria mostrando os alertas do Dependabot.

Os eventos no log de auditoria do Dependabot alerts incluem detalhes da ação, como quem a executou, qual foi executada e quando. O evento também inclui um link para o próprio alerta. Quando um membro da sua organização ignora um alerta, o evento exibe o motivo e um comentário. Para obter informações sobre as ações Dependabot alerts, confira a categoria repository_vulnerability_alert em “Eventos de log de auditoria para sua organização.”