Skip to main content
Skip to content

Priorizando alertas do Dependabot usando métricas

Você pode priorizar Dependabot alerts em sua organização analisando as métricas fornecidas. Usando essa abordagem, você pode informar desenvolvedores para se concentrarem primeiro nas vulnerabilidades mais importantes.

Quem pode usar esse recurso?

Proprietários da organização, gerentes de segurança e membros da organização com a função de administrador

Organizações pertencentes a uma conta do GitHub Team com o GitHub Code Security, ou pertencentes a uma conta do GitHub Enterprise com GitHub Code Security

Priorizando Dependabot alerts com o uso de métricas

Os gerentes de Segurança do Aplicativo (AppSec) geralmente enfrentam uma enxurrada de Dependabot alerts, tornando desafiador determinar quais vulnerabilidades resolver primeiro. Dependabot as métricas fornecem insights valiosos que ajudam a priorizar alertas com eficiência, garantindo que problemas críticos de segurança sejam resolvidos imediatamente. Os usuários podem tomar decisões informadas, concentrando recursos nas vulnerabilidades mais impactantes. Essa abordagem fortalece a postura de segurança da organização e simplifica o gerenciamento de vulnerabilidades.

Noções básicas sobre Dependabot métricas

Dependabot as métricas oferecem informações detalhadas sobre vulnerabilidades detectadas em suas dependências. As principais métricas incluem:

  • Gravidade: indica o impacto potencial de uma vulnerabilidade (por exemplo, baixo, médio, alto, crítico).
  • Potencial de exploração: avalia a facilidade com que uma vulnerabilidade pode ser explorada.
  • Relação de dependência: diferencia entre dependências diretas e transitivas.
  • Escopo da dependência: diferencia entre dependências de runtime e desenvolvimento.
  • Alertas fechados nos últimos 30 dias, incluindo o número de alertas corrigidos por Dependabot, descartados manualmente e descartados automaticamente: Acompanha o progresso da resolução de alertas. Ilustra como GitHub Code Security pode ajudá-lo a detectar vulnerabilidades antecipadamente.
  • Tabela mostrando o número total de alertas abertos para cada repositório, bem como dados de gravidade e potencial de exploração: permite que você se aprofunde mais no nível do repositório.

Para obter mais informações sobre essas métricas, confira Métricas para alertas do Dependabot.

Além disso, você pode especificar filtros complexos, que são combinações dos filtros individuais disponíveis. Para obter mais informações sobre filtros, consulte Dependabot os filtros de exibição do painel.

Etapas para priorizar os alertas

Essas primeiras etapas ajudam você a identificar o Dependabot alerts que mais coloca sua organização em risco, para que você possa informar aos desenvolvedores em quais alertas se concentrar para correção.

1. Ajustar a ordem do funil para atender às necessidades da sua organização

Você pode personalizar a ordem do funil padrão no gráfico "Priorização de alertas" para garantir que ela reflita o perfil de risco específico, as prioridades de negócios e os requisitos de conformidade da sua organização. Confira Exibindo métricas de alertas do Dependabot.

2. Concentrar-se em alertas críticos e de alta gravidade

Comece identificando alertas com a severidade mais alta usando os filtros severity-critical ou severity-high. Essas vulnerabilidades representam o maior risco e geralmente são priorizadas pelos padrões de conformidade.

3. Avaliar a exploração e a atingibilidade

Priorize vulnerabilidades que são as mais propensas a serem exploradas em sua base de código. Para identificar alertas mais propensos a serem explorados, você pode usar o filtro epss-percentage associado a um valor (por exemplo, epss-percentage:>=0.10).

Observação

Reachability analysis para Dependabot alerts está em prévia pública e sujeito a alterações.

Para repositórios JavaScript que usam npm, pnpm ou Yarn e repositórios TypeScript, use reachability analysis para avaliar se seu aplicativo pode chamar funções vulneráveis em suas dependências. Esse é um sinal separado da exploração: um caminho de chamada não prova que um invasor pode explorar uma vulnerabilidade.

  1. Abra um repositório Dependabot alerts e filtre por reachability:reachable,potentially-reachable.
  2. Priorize esses alertas junto com a gravidade e o EPSS. Para alertas alcançáveis, examine as evidências de caminho de chamada para entender como seu código chama a função vulnerável. Confira Visualizando e atualizando alertas do Dependabot.

Para resultados de "Alcançabilidade indisponível", use severidade, EPSS, escopo de dependência e relação de dependência para priorizar alertas. Um resultado indisponível não significa que a função vulnerável não pode ser chamada.

Dê aos alertas "inacessíveis" uma prioridade mais baixa, mas não feche ou descarte um alerta apenas por causa de seu veredicto. Veredictos são avaliações pontuais e podem ser alterados conforme o código ou um aviso muda.

4. Examinar o escopo e a relação de dependência

Dependências diretas normalmente são mais fáceis de atualizar e podem ter um impacto maior na segurança do aplicativo. Recomendamos resolvê-las antes das dependências transitivas quando possível. Filtrar alertas usando o filtro relationship:direct nos permite ver vulnerabilidades em dependências diretas para ecossistemas com suporte, como o npm.

As dependências de runtime são usadas por um aplicativo em produção. Atualizar esse tipo de dependência pode tratar de vulnerabilidades de segurança, correções de bugs e melhorias de desempenho que afetam diretamente seus usuários ou sistemas finais. Por outro lado, as dependências de desenvolvimento são usadas somente durante processos de desenvolvimento, teste ou build. Embora sejam importantes, problemas nessas dependências geralmente não afetam seu aplicativo em execução ou os respectivos usuários.

Use os filtros scope:runtime ou scope:development para exibir apenas alertas de dependências de runtime ou desenvolvimento, respectivamente.

5. Considerar a idade dos alertas

Alertas mais antigos podem indicar riscos de longa data. Revise e resolva regularmente alertas antigos para impedir que a dívida de segurança se acumule. Por exemplo, depois de estabelecer que um repositório específico tem mais alertas que precisam ser priorizados do que outros repositórios, você pode:

  1. Clicar no nome do repositório na tabela por repositório para exibir os alertas somente desse repositório.
  2. Use o filtro “Mais antigos” na lista suspensa Ordenar, bem como outros critérios de ordenação, para ajustar a visualização de modo a exibir os alertas que atendam aos seus critérios por data.

6. Aproveitar a automação

Use as solicitações de pull automatizadas do Dependabot para corrigir rapidamente vulnerabilidades. Integre essas atualizações ao pipeline de CI/CD para ter uma resolução mais rápida e maior eficiência.

Práticas recomendadas

  • Estabeleça SLAs (contratos de nível de serviço) para resolver vulnerabilidades com base na gravidade.
  • Monitore métricas regularmente para identificar tendências e problemas recorrentes.
  • Colabore com desenvolvedores para garantir atualizações oportunas e minimizar a interrupção.
  • Documente as decisões para fornecer transparência e dar suporte à priorização futura.