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?

  • Proprietários da organização
  • Gerentes de segurança
  • Usuários com acesso de administrador (podem habilitar, desabilitar e exibir Predefinições do GitHub do repositório)

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.

Note

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 regraDismiss 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. Em GitHub, acesse 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 "Security" da barra lateral, clique em Code security.

  4. Em "Dependabot alerts", clique em perto de "Regras do Dependabot".

    Captura de tela da página "Code security" 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