Skip to main content

Sobre as atualizações de segurança do Dependabot

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

As Dependabot security updates são gratuitas para uso em todos os repositórios no GitHub.com.

Sobre as Dependabot security updates

Dependabot security updates torna mais fácil para você corrigir dependências vulneráveis no seu repositório. Se você habilitar este recurso, quando um alerta de Dependabot for criado para uma dependência vulnerável no gráfico de dependências do seu repositório, Dependabot tenta corrigir isso automaticamente. Para obter mais informações, confira "Sobre alertas do Dependabot" e "Configurando as atualizações de segurança do Dependabot."

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 alerta. Para obter mais informações, confira "Customizing auto-triage rules to prioritize Dependabot alerts".

GitHub pode enviar Dependabot alerts para repositórios afetados por uma vulnerabilidade revelada por uma consultoria de segurança de GitHub recentemente publicada. Para obter mais informações, 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 comprometer o gráfico de dependências para o repositório. Em seguida, Dependabot levanta um pull request para atualizar a dependência para a versão mínima que inclui o patch e os links do pull request para o alerta de Dependabot ou relata um erro no alerta. Para obter mais informações, confira "Solução de problemas do Dependabot".

O recurso de Dependabot security updates está disponível para repositórios nos quais você habilitou o gráfico de dependências e Dependabot alerts. Você verá um alerta de Dependabot para cada dependência vulnerável identificada no seu gráfico de dependências completas. 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, confira "Sobre o gráfico de dependências".

Observação: para o npm, o Dependabot gerará uma solicitação de pull a fim de atualizar uma dependência definida explicitamente para uma versão segura, mesmo que isso signifique atualizar a(s) dependência(s) pai ou mesmo remover uma subdependência que não é mais necessária para a dependência pai. Para outros ecossistemas, Dependabot não poderá atualizar uma dependência indireta ou transitiva se isso também exigir uma atualização na dependência pai. Para obter mais informações, confira "Solução de problemas do Dependabot".

Você pode habilitar um recurso relacionado, Dependabot version updates, para que Dependabot abra pull requests para atualizar o manifesto para a última versão da dependência, sempre que detectar uma dependência desatualizada. Para obter mais informações, confira "Sobre as atualizações da 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, gráfico de dependência e Dependabot.

O GitHub Actions não é necessário para que Dependabot version updates e Dependabot security updates sejam executadas no GitHub. No entanto, as solicitações de pull abertas pelo Dependabot podem disparar fluxos de trabalho que executam ações. Para obter 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 uma solicitação de pull para atualizar dados vulneráveis do GitHub Actions usados em seus fluxos de trabalho para a versão mínima corrigida.

Sobre os pull requests para atualizações de segurança

Cada pull request contém tudo o que você precisa para revisar mesclar, de forma rápida e segura, uma correção proposta em seu projeto. Isto inclui informações sobre a vulnerabilidade como, por exemplo, notas de lançamento, entradas de registros de mudanças e detalhes do commit. Detalhes de quais vulnerabilidades são resolvidas por um pull request de qualquer pessoa que não tem acesso a Dependabot alerts para o repositório.

Ao fazer merge de um pull request que contém uma atualização de segurança, o alerta de Dependabot correspondente é marcado como resolvido no seu repositório. Para saber mais sobre solicitações de pull Dependabot, confira "Gerenciar pull requests para atualizações de dependências".

Observação: é uma prática recomendada ter testes automatizados e processos de aceitação em vigor para que as verificações sejam realizadas antes do merge da solicitação de pull. Isso é especialmente importante se a versão sugerida a ser atualizada contiver funcionalidades adicionais ou se uma mudança que quebrar o código do seu projeto. Para saber mais sobre a integração contínua, confira "Sobre integração contínua".

Sobre pontuações de compatibilidade

O Dependabot security updates pode incluir uma pontuação de compatibilidade para que você saiba se atualizar uma dependência poderá causar alterações significativas no 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 solicitações de pull do Dependabot, o Dependabot pausa temporariamente as atualizações e deixa você a par. Esse comportamento de recusa automática reduz os excessos porque o Dependabot não cria solicitações de pull para atualizações de versão e de segurança e não troca a base das solicitações de pull de repositórios inativos do Dependabot.

A desativação automática das atualizações do Dependabot se aplica somente a repositórios em que Dependabot abriu solicitações de pull, mas elas permanecem intocadas. Se o Dependabot não tiver aberto nenhuma solicitação de pull, o Dependabot nunca será pausado.

Um repositório ativo é um repositório para o qual um usuário (não o Dependabot) executou nenhuma das ações abaixo nos últimos 90 dias:

  • Mescle ou feche uma solicitação de pull do Dependabot no repositório.
  • Faça uma alteração no arquivo dependabot.yml para o repositório.
  • Dispare manualmente uma atualização de segurança ou uma atualização de versão.
  • Habilite Dependabot security updates para o repositório.
  • Use os comandos @dependabot em solicitações de pull.

Um repositório inativo é um repositório que tem pelo menos uma solicitação de pull do Dependabot aberta por mais de 90 dias, que foi habilitado para o período completo e em que nenhuma das ações listadas acima foi executada por um usuário.

Quando Dependabot é pausado, GitHub adiciona um aviso ao corpo de todas as solicitações de pull do Dependabot e atribui um rótulo dependabot-paused a essas solicitações de pull. Você também verá um aviso de faixa na interface do usuário da guia Configurações do repositório (em Segurança e análise de código, , Dependabot ), bem como na lista de Dependabot alerts (se Dependabot security updates são afetados).

Assim que o mantenedor interagir com uma solicitação de pull do Dependabot outra vez, Dependabot será despausado:

  • As atualizações de segurança são retomadas automaticamente para Dependabot alerts.
  • As atualizações de versão são retomadas automaticamente com o agendamento especificado no arquivo dependabot.yml.

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

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