Skip to main content

Atualizações de segurança do Dependabot

Dependabot pode corrigir dependências vulneráveis para você gerando solicitações de pull com atualizações de segurança.

Quem pode usar esse recurso?

O Dependabot security updates está disponível para os seguintes repositórios:

  • Todos os repositórios no GitHub

Sobre o Dependabot security updates

Dependabot security updates torne mais fácil para você corrigir dependências vulneráveis no seu repositório.

Se você habilitar Dependabot security updates, quando um Dependabot alerta é gerado para uma dependência vulnerável no grafo de dependência do repositório, Dependabot tenta corrigi-lo automaticamente. Para obter mais informações, consulte Dependabot alerts e Configuração de atualizações de segurança do Dependabot.

Você pode adicionar um arquivo de configuração dependabot.yml ao seu repositório para personalizar o comportamento de Dependabot, incluindo agendamentos de atualização, configurações de pull request e quais dependências devem ser monitoradas. Para obter mais informações, consulte Sobre o arquivo dependabot.yml. Em seguida, você configura as opções neste arquivo para saber Dependabot como proteger as dependências nas quais o repositório depende.

Para saber mais sobre os repositórios e ecossistemas com suporte, confira Ecossistemas e repositórios compatíveis com o Dependabot.

Observação

Não há interação entre as configurações especificadas no arquivo dependabot.yml e os alertas de segurança do Dependabot, exceto pelo fato de que os alertas serão fechados quando os pull requests relacionados, gerados pelo Dependabot para atualizações de segurança, forem mesclados.

O Dependabot assina seus próprios commits por padrão, mesmo que a assinatura de commit não seja um requisito para o repositório. Para saber mais sobre commits verificados, confira Sobre a verificação de assinatura de commit.

Observação

Quando as Dependabot security updates estiverem habilitadas para um repositório, o Dependabot tentará automaticamente abrir solicitações de pull para resolver todos os alertas abertos do Dependabot que tenham um patch disponível. Se preferir personalizar para quais alertas o Dependabot abre solicitações de pull, deixe as Dependabot security updates desabilitadas e crie uma regra de triagem automática. Para saber mais, confira Personalizando regras de triagem automática para priorizar alertas do Dependabot.

GitHub pode enviar Dependabot alerts para repositórios afetados por uma vulnerabilidade descrita em um GitHub aviso de segurança publicado recentemente. Para saber mais, confira Como procurar avisos de segurança no GitHub Advisory Database.

Dependabot verifica se é possível atualizar a dependência vulnerável para uma versão fixa sem interromper o grafo de dependência do repositório. Em seguida, Dependabot gera uma solicitação de pull para atualizar a dependência para a versão mínima que inclui o patch e vincula a solicitação de pull ao Dependabot alerta ou relata um erro no alerta. Para obter mais informações, consulte Erros do Dependabot.

O recurso Dependabot security updates está disponível para repositórios nos quais você habilitou o grafo de dependência e Dependabot alerts. Você verá um alerta Dependabot para cada dependência vulnerável identificada no seu grafo completo de dependências. No entanto, atualizações de segurança são acionadas apenas para dependências especificadas em um manifesto ou arquivo de bloqueio. Para obter mais informações, consulte Grafo de dependência.

Observação

Para npm, Dependabot gerará uma solicitação de pull para atualizar uma dependência definida explicitamente para uma versão segura, mesmo que isso signifique atualizar a dependência ou dependências pai ou até mesmo remover uma sub-dependência que não é mais necessária pelo pai. Para outros ecossistemas, Dependabot não consegue atualizar uma dependência indireta ou transitiva se isso também exigir uma atualização da dependência pai. Para obter mais informações, consulte Erros do Dependabot.

Você pode habilitar um recurso relacionado, Dependabot version updatesde modo que Dependabot gera solicitações de pull para atualizar o manifesto para a versão mais recente da dependência, sempre que ele detecta uma dependência desatualizada. Para obter mais informações, consulte Atualizações de versão do Dependabot.

Quando o Dependabot gera solicitações de pull, essas solicitações de pull podem ser referentes a atualizações de segurança ou de versão:

  • As Dependabot security updates são solicitações de pull automatizadas que ajudam você a atualizar as dependências com vulnerabilidades conhecidas.
  • As Dependabot version updates são solicitações de pull automatizadas que mantêm suas dependências atualizadas, mesmo quando elas não têm nenhuma vulnerabilidade. Para verificar o status das atualizações da versão, acesse a aba Insights do seu repositório e, em seguida, selecione Grafo de Dependência e Dependabot.

Se você habilitar Dependabot security updates, partes da configuração também poderão afetar as solicitações de pull criadas para Dependabot version updates. Isso ocorre porque algumas opções de configuração são comuns a ambos os tipos de atualizações. Para obter mais informações, consulte Personalizar pull requests para atualizações de segurança do Dependabot.

As pull requests abertas pelo Dependabot podem disparar fluxos de trabalho que executam ações. Para saber mais informações, confira Automatizando o Dependabot com GitHub Actions.

Dependabot security updates pode corrigir dependências vulneráveis no GitHub Actions. Quando as atualizações de segurança estiverem habilitadas, o Dependabot gerará automaticamente um pull request para atualizar GitHub Actions vulneráveis usadas nos fluxos de trabalho para a versão mínima corrigida.

Sobre atualizações de segurança agrupadas

Para reduzir ainda mais o número de pull requests que você está vendo, você pode usar a opção de configuração para agrupar conjuntos de dependências (por ecossistema de pacote). Dependabot em seguida, gera uma única solicitação de pull para atualizar o maior número possível de dependências vulneráveis no grupo para proteger versões ao mesmo tempo.

Para atualizações de segurança, Dependabot apenas agrupará dependências de diretórios diferentes por ecossistema em determinadas condições e configurações. Dependabot não agrupará dependências de diferentes ecossistemas de pacotes e não agrupará atualizações de segurança com atualizações de versão.

Você pode habilitar solicitações de pull agrupadas para Dependabot security updates de uma ou ambas as seguintes maneiras.

  • Para agrupar o máximo possível de atualizações de segurança disponíveis, entre diretórios e por ecossistema, habilite o agrupamento nas configurações "Advanced Security" do repositório ou em "Configurações globais" Advanced Security em sua organização.
  • Para obter um controle mais granular do agrupamento, como agrupamento por nome de pacote, dependências de desenvolvimento, nível do SemVer ou entre vários diretórios por ecossistema, adicione opções de configuração ao arquivo de configuração dependabot.yml em seu repositório.

Observação

Se você tiver configurado regras de grupo para Dependabot security updates em um arquivo dependabot.yml, todas as atualizações disponíveis serão agrupadas de acordo com as regras especificadas. Dependabot só serão agrupados nos diretórios não configurados em seu dependabot.yml se a configuração para atualizações de segurança agrupadas no nível da organização ou repositório também estiver habilitada.

Para obter mais informações, consulte Configuração de atualizações de segurança do Dependabot.

Sobre pontuações de compatibilidade

Dependabot security updates pode incluir pontuações de compatibilidade para informar se a atualização de uma dependência pode causar alterações significativas em seu projeto. Estes são calculados a partir de testes de CI em outros repositórios públicos onde a mesma atualização de segurança foi gerada. Uma pontuação de compatibilidade da atualização é a porcentagem de execuções de CI que foram aprovadas durante a atualização entre versões específicas da dependência.

Sobre a desativação automática de Dependabot updates

Quando os mantenedores de um repositório param de interagir com pull requests do Dependabot, o Dependabot pausa temporariamente as atualizações e deixa você a par, confira As solicitações de pull de atualização do Dependabot não são mais geradas.

Sobre notificações de Dependabot atualizações de segurança

Você pode filtrar suas notificações GitHub para mostrar Dependabot atualizações de segurança. Para obter mais informações, consulte Gerenciamento de notificações da sua caixa de entrada.