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

Os Dependabot alerts podem ser habilitados ou desabilitados para o seu repositório pelo proprietário da sua empresa. Para saber mais, confira Habilitando o Dependabot para sua empresa.

  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 and analysis.

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

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