Skip to main content

Usar regras predefinidas do GitHub para priorizar alertas do Dependabot

É possível usar Predefinições do GitHub, que são regras padrão coletadas por GitHub para descartar automaticamente alertas de desenvolvimento de baixo impacto para dependências do npm.

Quem pode usar esse recurso?

People with write permissions can view Regras de triagem automática do Dependabot for the repository. People with admin permissions to a repository can enable or disable Predefinições do GitHub for the repository. Organization owners and security managers can enable or disable Predefinições do GitHub at the organization-level and optionally choose to enforce rules for repositories in the organization.

Notas: atualmente, as Regras de triagem automática do Dependabot estão na versão beta e sujeitas a alterações.

Sobre Predefinições do GitHub

A regra Dismiss low impact issues for development-scoped dependencies é uma predefinição GitHub que descarta automaticamente certos tipos de vulnerabilidades encontradas em dependências npm usadas no desenvolvimento. Esses alertas abrangem casos que parecem alarmes falsos para a maioria dos desenvolvedores como as vulnerabilidades associadas:

  • É improvável que eles sejam exploráveis em um ambiente de desenvolvedor (não produção ou runtime).
  • Podem estar relacionados ao gerenciamento de recursos, à programação e à lógica, além de a questões de divulgação de informações confidenciais.
  • Na pior das hipóteses, têm efeitos limitados, como compilações lentas ou testes de execução prolongada.
  • Não são indicativos de problemas na produção.

Observação: atualmente, só há suporte para ignorar automaticamente alertas de desenvolvimento de baixo impacto no npm.

A regra Dismiss low impact issues for development-scoped dependencies inclui vulnerabilidades relacionadas ao gerenciamento de recursos, à programação e à lógica e problemas de divulgação de informações confidenciais. Para saber mais, confira CWEs divulgados publicamente usados pela regra Dismiss low impact issues for development-scoped dependencies."

Ao filtrar esses alertas de baixo impacto, é possível se concentrar nos alertas mais relevantes para você, sem perder os alertas com escopo de desenvolvimento potencialmente de alto risco.

A regra Dismiss low impact issues for development-scoped dependencies está habilitada por padrão em repositórios públicos e pode ser desabilitada para repositórios privados. Os administradores de repositórios privados podem confirmar a aceitação habilitando a regra de alerta para seus repositórios.

Habilitar a regra Dismiss low impact issues for development-scoped dependencies para seu repositório privado

Primeiro é necessário habilitar Dependabot alerts para o repositório. Para saber mais, confira "Configurando alertas do Dependabot".

  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 "Dependabot alerts", clique em perto de "Regras do Dependabot".

    Captura de tela da página "Análise e segurança de código" de um repositório. O ícone de engrenagem está realçado com um contorno laranja.

  5. Em "GitHub predefinidos", à direita de "Descartar problemas de baixo impacto para dependências com escopo de desenvolvimento", clique em .

  6. Em "Estado", selecione o menu suspenso e clique em "Habilitado".

  7. Clique em Salvar regra.

CWEs divulgados publicamente e usados pela regra Dismiss low impact issues for development-scoped dependencies

A fim de filtrar alertas de baixo impacto para a regra Dismiss low impact issues for development-scoped dependencies, são usados os metadados de alerta ecosystem:npm e scope:development e as CWEs (Common Weakness Enumerations) a seguir selecionadas pelo GitHub. Esta lista e os padrões de vulnerabilidade abordados pelas regras internas são aprimorados regularmente.

Problemas de gerenciamento de recursos

  • CWE-400 Consumo descontrolado de recursos
  • CWE-770 Alocação de recursos sem limites ou limitação
  • CWE-409 Tratamento incorreto de dados altamente compactados (amplificação de dados)
  • CWE-908 Uso de recurso não inicializado
  • CWE-1333 Complexidade de expressão regular ineficiente
  • CWE-835 Loop com condição de saída inacessível ('loop infinito')
  • CWE-674 Recursão descontrolada
  • CWE-1119 Uso excessivo de branch incondicional

Erros de programação e lógica

  • CWE-185 Expressão regular incorreta
  • CWE-754 Verificação incorreta de condições incomuns ou excepcionais
  • CWE-755 Tratamento incorreto de condições excepcionais
  • CWE-248 Exceção não capturada
  • CWE-252 Valor de retorno não verificado
  • CWE-391 Condição de erro não verificada
  • CWE-696 Ordem de comportamento incorreta
  • CWE-1254 Granularidade de lógica de comparação incorreta
  • CWE-665 Inicialização incorreta
  • CWE-703 Verificação ou tratamento incorreto de condições excepcionais
  • CWE-178 Tratamento incorreto de distinção entre maiúsculas e minúsculas

Problemas de divulgação de informações confidenciais

  • CWE-544 Mecanismo padronizado de tratamento de erro ausente
  • CWE-377 Arquivo temporário não seguro
  • CWE-451 Deturpação de informações críticas por parte da IU (interface do usuário)
  • CWE-668 Exposição de recurso a uma esfera errada