Os Dependabot alerts informam que o código depende de um pacote que não é seguro. Muitas vezes, o software é desenvolvido usando pacotes de código aberto de uma grande variedade de origens. As relações complexas entre essas dependências e a facilidade com que agentes mal-intencionados podem inserir malware no código upstream significam que você pode, inadvertidamente, estar usando dependências que têm falhas de segurança, também conhecidas como vulnerabilidades.
Quando o código depende de um pacote que tem uma vulnerabilidade de segurança, isso pode causar uma série de problemas para o projeto ou para as pessoas que o usam. Usar um pacote vulnerável faz de você um alvo fácil para usuários mal-intencionados que procuram explorar seu sistema. Por exemplo, eles podem tentar obter acesso ao seu código e dados de seus clientes ou contribuidores. Você deve atualizar para uma versão segura do pacote o mais rápido possível. Se o seu código usa malware, você precisa substituir o pacote por uma alternativa segura.
O Dependabot não gera Dependabot alerts para malwares. Para obter mais informações, confira "Sobre o banco de dados de avisos do GitHub".
Para obter uma visão geral dos diferentes recursos oferecidos pelo Dependabot e instruções sobre como começar, confira "Guia de início rápido do Dependabot".
Detecção de dependências não seguras
O Dependabot faz uma verificação da ramificação padrão do seu repositório para detectar dependências não seguras e envia Dependabot alerts quando:
-
Uma nova vulnerabilidade é adicionada ao GitHub Advisory Database. Para obter mais informações, confira Como procurar avisos de segurança no GitHub Advisory Database.
Note
Apenas os avisos que foram revisados pelo GitHub vão disparar Dependabot alerts.
-
Quanto o grafo de dependência de um repositório é alterado. Por exemplo, quando um colaborador efetua push de um commit para alterar os pacotes ou as versões dependentes ou quando o código de uma das dependências é alterado. Para saber mais, confira Sobre o gráfico de dependências.
Note
O Dependabot não examina repositórios arquivados.
Além disso, GitHub pode revisar todas as dependências adicionadas, atualizadas ou removidas em uma solicitação de pull feita para a ramificação padrão de um repositório e sinalizar quaisquer alterações que introduziriam uma vulnerabilidade no seu projeto. Isso permite que você identifique e lide com dependências vulneráveis antes, e não depois, de elas alcançarem a base de código. Para obter mais informações, confira "Revendo alterações de dependência em um pull request".
Como Dependabot alerts depende do gráfico de dependência, os ecossistemas com suporte de Dependabot alerts são os mesmos com suporte do grafo de dependência. Para obter uma lista desses ecossistemas, confira Ecossistemas de pacotes com suporte para grafos de dependência.
Note
É importante manter seus arquivos de manifesto e de bloqueio atualizados. Se o grafo de dependência não refletir corretamente as dependências e versões atuais, você poderá perder alertas sobre dependências não seguras que forem usadas. Você também pode receber alertas de dependências que você já não usa.
O Dependabot criará apenas Dependabot alerts para GitHub Actions vulneráveis que usam controle de versão semântico. Você não receberá alertas sobre uma ação vulnerável que usa o controle de versão SHA. Se você usar GitHub Actions com o controle de versão SHA, recomendamos habilitar Dependabot version updates para que seu repositório ou organização mantenha as ações que você usa atualizadas com as versões mais recentes.
Configuração de Dependabot alerts
O GitHub detecta dependências vulneráveis em repositórios públicos e exibe o grafo de dependência, mas não gera Dependabot alerts por padrão. Proprietários de repositórios ou pessoas com acesso de administrador podem habilitar Dependabot alerts para repositórios públicos. Os proprietários de repositórios privados ou pessoas com acesso de administrador, podem habilitar o Dependabot alerts ativando o gráfico de dependências e Dependabot alerts para seus repositórios.
Você também pode habilitar ou desabilitar Dependabot alerts em todos os repositórios pertencentes à sua conta de usuário ou de organização. Para saber mais, confira Configurando alertas do Dependabot.
Para obter informações sobre os requisitos de acesso para ações relacionadas aos Dependabot alerts, confira Funções de repositório para uma organização.
O GitHub começa a gerar o grafo de dependência imediatamente e gera alertas sobre dependências não seguras assim que elas são identificadas. O gráfico geralmente é preenchido em minutos, mas isso pode levar mais tempo para repositórios com muitas dependências. Para saber mais, confira Gerenciando as configurações de segurança e análise do repositório.
Quando o GitHub identifica uma dependência vulnerável, geramos um alerta do Dependabot e o exibimos na guia Segurança do repositório e no grafo de dependência do repositório. O alerta inclui um link para o arquivo afetado no projeto, e informações sobre uma versão corrigida.
O GitHub também pode notificar os mantenedores dos repositórios afetados sobre novos alertas de acordo com as preferências de notificação. Quando o Dependabot estiver habilitado, o GitHub não enviará notificações para todas as dependências vulneráveis encontradas no repositório, mas somente para as novas dependências vulneráveis identificadas após a habilitação do Dependabot. Para saber mais, confira Configurando notificações para alertas do Dependabot.
Se você habilitou as Dependabot security updates para seu repositório, o alerta também pode conter um link para uma pull request a fim de atualizar o manifesto ou bloquear o arquivo para a versão mínima que resolve a vulnerabilidade. Para obter mais informações, confira "Sobre as atualizações de segurança do Dependabot".
Além disso, você pode usar Regras de triagem automática do Dependabot para gerenciar seus alertas em escala para que você possa ignorar os alertas automaticamente ou colocá-los em ociosidade e especificar para quais alertas deseja que o Dependabot abra pull requests. Para obter informações sobre os diferentes tipos de regras de triagem automática e se seus repositórios são qualificados, consulte "AUTOTITLE".
Warning
Os recursos de segurança do GitHub não garantem que todas as vulnerabilidades sejam detectadas. Mantemos ativamente um GitHub Advisory Database e geramos alertas com as informações mais atualizadas. No entanto, não podemos capturar tudo nem informar sobre vulnerabilidades conhecidas em um período garantido. Esses recursos não substituem a análise humana de cada dependência em busca de possíveis vulnerabilidades ou outros problemas. Portanto, recomendamos que você busque serviços de segurança ou realize uma análise de dependências completa sempre que necessário.
Acesso a Dependabot alerts
É possível ver todos os alertas que afetam determinado projeto na guia Segurança do repositório ou no grafo de dependência do repositório. Para saber mais, confira Visualizando e atualizando alertas do Dependabot.
Por padrão, notificamos as pessoas com permissões de gravação, manutenção e administração nos repositórios afetados sobre novos Dependabot alerts. O GitHub nunca divulga publicamente as dependências não seguras de nenhum repositório. Você também pode tornar o Dependabot alerts visível para outras pessoas ou equipes que trabalham com repositórios pertencentes a você ou para os quais tem permissões de administrador. Para saber mais, confira Gerenciando as configurações de segurança e análise do repositório.
Para receber notificações sobre os Dependabot alerts nos repositórios, inspecione esses repositórios e inscreva-se para receber notificações de "Todas as Atividades" ou defina configurações personalizadas para incluir "Alertas de segurança". Para obter mais informações, confira "Configurar notificações". Você pode escolher o método de entrega para as notificações, bem como a frequência com que elas são enviadas a você. Para obter mais informações, confira Configurando notificações para alertas do Dependabot.
Você também pode ver todos os Dependabot alerts que correspondem a uma vulnerabilidade específica no GitHub Advisory Database. Para obter mais informações, confira "Como procurar avisos de segurança no GitHub Advisory Database".