Skip to main content

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

Você pode usar Dependabot security updates ou pull requests manuais para atualizar facilmente dependências vulneráveis.

Sobre a configuração de Dependabot security updates

É possível habilitar o Dependabot security updates para qualquer repositório que use Dependabot alerts e o gráfico de dependências. Para obter mais informações, confira "Sobre as atualizações de segurança do Dependabot".

Você pode habilitar ou desabilitar Dependabot security updates para um repositório individual ou para todos os repositórios pertencentes à sua conta pessoal ou organização. Para obter mais informações sobre como habilitar recursos de segurança em uma organização, confira "Como proteger sua organização".

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 obter mais informações, confira "Personalizando regras de triagem automática para priorizar alertas do Dependebot".

O Dependabot e todos os recursos relacionados são cobertos pelos Termos de Serviço do GitHub.

Repositórios com suporte

O GitHub habilita automaticamente as Dependabot security updates para repositórios recém-criados quando na conta pessoal na ou organização estiver habilitada a opção Habilitar automaticamente para novos repositórios de Dependabot security updates. Para obter mais informações, confira "Como gerenciar as Dependabot security updates dos repositórios" abaixo.

Se você criar um fork de um repositório com atualizações de segurança habilitadas, o GitHub desabilitará automaticamente as Dependabot security updates do fork. Depois, você poderá decidir se deseja habilitar as Dependabot security updates no fork específico.

Se as atualizações de segurança não estiverem habilitadas para o seu repositório e você não souber o motivo, primeiro tente habilitá-las utilizando as instruções fornecidas nas seções de procedimento abaixo. Se atualizações de segurança ainda não funcionarem, você pode entrar em contato com conosco por meio do Portal de suporte do GitHub.

Gerenciar Dependabot security updates para seus repositórios

Você pode habilitar ou desabilitar as Dependabot security updates para todos os repositórios qualificados pertencentes à sua conta pessoal ou à organização. Para obter mais informações, confira "Gerenciar as configurações de segurança e análise para a sua conta pessoal" ou "Gerenciando as configurações de segurança e de análise da sua organização".

Você pode habilitar ou desabilitar as Dependabot security updates em um repositório individual.

Habilitar ou desabilitar Dependabot security updates para um repositório individual

  1. No GitHub.com, navegue até a página principal do repositório.

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

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

  3. Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.

  4. Em "Segurança e análise de código", à direita de "Atualizações de segurança do Dependabot", clique em Habilitar para habilitar o recurso ou Desabilitar para desabilitá-lo. Para repositórios públicos, o botão ficará desabilitado se o recurso estiver sempre habilitado.

Agrupamento de Dependabot security updates em uma única pull request

Notas: as pull requests agrupadas de Dependabot security updates estão em versão beta e sujeitas a alterações.

Para reduzir o número de pull requestsl que você pode estar vendo, você pode habilitar atualizações de segurança agrupadas para seu repositório ou sua organização. Quando isso é habilitado, o Dependabot agrupará as atualizações de segurança em uma pull request para cada ecossistema de pacote. Para usar atualizações de segurança agrupadas, você deve primeiro habilitar os seguintes recursos:

Observação: quando as atualizações de segurança agrupadas são habilitadas pela primeira vez, o Dependabot tenta imediatamente criar pull requests agrupadas. Você pode notar o Dependabot fechando pull requests antigas e abrindo novas.

Você pode habilitar pull requests para Dependabot security updates de uma ou ambas as seguintes maneiras.

  • Para agrupar o maior número possível de atualizações de segurança disponíveis, entre diretórios e por ecossistema, habilite o agrupamento nas configurações de "Segurança e análise de código" para sua organização ou repositório.
  • Para obter um controle mais granular do agrupamento, como agrupamento por nome de pacote, dependências de desenvolvimento ou nível do SemVer, adicione opções de configuração ao arquivo de configuração dependabot.yml em seu repositório.

Observação: Se você configurou 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.

Habilitar ou desabilitar Dependabot security updates agrupadas para um repositório individual

Os administradores de repositório podem habilitar ou desabilitar atualizações de segurança agrupadas para seu repositório. A alteração da configuração do repositório substituirá quaisquer configurações padrão da organização. As regras de grupo configuradas em um arquivo dependabot.yml substituirão as configurações da interface do usuário para habilitar ou desabilitar atualizações de segurança agrupadas no nível da organização ou do repositório.

  1. No GitHub.com, navegue até a página principal do repositório.

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

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

  3. Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.

  4. Em "Segurança e análise de código", à direita de "Atualizações de segurança agrupadas", clique em Habilitar para habilitar o recurso ou Desabilitar para desabilitá-lo.

Habilitar ou desabilitar Dependabot security updates agrupadas para uma organização

Os proprietários da organização podem habilitar ou desabilitar atualizações de segurança agrupadas para todos os repositórios em suas organizações. No entanto, os administradores de repositório dentro da organização podem atualizar as configurações de seus repositórios para substituir as configurações padrão da organização. As regras de grupo configuradas em um arquivo dependabot.yml substituirão as configurações da interface do usuário para habilitar ou desabilitar atualizações de segurança agrupadas no nível da organização ou do repositório.

  1. No canto superior direito do GitHub.com, selecione sua foto do perfil e em Suas organizações.

    Captura de tela do menu suspenso na imagem de perfil do @octocat. "Suas organizações" está contornado em laranja escuro.

  2. Ao lado da organização, clique em Configurações.

  3. Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.

  4. Em "Segurança e análise de código", à direita de "Atualizações de segurança agrupadas", clique em Desabilitar tudo ou Habilitar tudo.

  5. Opcionalmente, para habilitar Dependabot security updates agrupados para novos repositórios da organização, selecione Habilitar automaticamente para novos repositórios.

Como substituir o comportamento padrão com um arquivo de configuração

Você pode substituir o comportamento padrão de Dependabot security updates adicionando um arquivo dependabot.yml ao repositório. Com um arquivo dependabot.yml, você pode ter um controle mais granular do agrupamento e substituir o comportamento padrão das Dependabot security updates configurações.

Use a opção groups com a chave applies-to: security-updates para criar conjuntos de dependências (por gerenciador de pacotes), de modo que Dependabot abra uma única pull request para atualizar várias dependências ao mesmo tempo. Você pode definir grupos por nome de pacote (as chaves patterns e exclude-patterns), tipo de dependência (chave dependency-type) e SemVer (a chave update-types).

Dependabot cria grupos na ordem em que aparecem no arquivo dependabot.yml. Se uma atualização de dependência puder pertencer a mais de um grupo, ela será atribuída apenas ao primeiro grupo com o qual corresponder.

Se você precisar apenas das atualizações de segurança e quiser excluir as atualizações de versão, você pode definir open-pull-requests-limit como 0 para evitar atualizações de versão de um determinado package-ecosystem.

Para obter mais informações sobre as opções de configuração disponíveis para atualizações de segurança, confira "Opções de configuração para o arquivo dependabot.yml".

# Example configuration file that:
#  - Has a private registry
#  - Ignores lodash dependency
#  - Disables version-updates
#  - Defines a group by package name, for security updates for golang dependencies

version: 2
registries:
  example:
    type: npm-registry
    url: https://example.com
    token: ${{secrets.NPM_TOKEN}}
updates:
  - package-ecosystem: "npm"
    directory: "/src/npm-project"
    schedule:
      interval: "daily"
    # For Lodash, ignore all updates
    ignore:
      - dependency-name: "lodash"
    # Disable version updates for npm dependencies
    open-pull-requests-limit: 0
    registries:
      - example- package-ecosystem: "gomod"
    groups:
      golang:
        applies-to: security-updates
        patterns:
          - "golang.org*"

Observação: para que Dependabot use essa configuração para atualizações de segurança, directory deve ser o caminho para os arquivos de manifesto, e você não deve especificar um target-branch.

Leitura adicional