Skip to main 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

Priorizando Dependabot alerts usando métricas

Os gerentes de Segurança do Aplicativo (AppSec) geralmente enfrentam uma enxurrada de Dependabot alerts, o que torna desafiador determinar quais vulnerabilidades resolver primeiro. As métricas do Dependabot 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.

Entendendo as métricas do Dependabot

As métricas do Dependabot 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. Determina se o código vulnerável é realmente usado em seu aplicativo.
  • Alertas fechados nos últimos 30 dias, incluindo o número de alertas corrigidos pelo Dependabot, descartados manualmente e descartados automaticamente: controla o progresso da resolução de alertas. Ilustra como o GitHub Code Security pode ajudar você 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.

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, confira Filtros de exibição de painel do Dependabot.

Etapas para priorizar os alertas

Estas primeiras etapas ajudam você a identificar os Dependabot alerts que colocam sua organização em maior 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 gravidade 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. Em seguida, você pode:

3. Avaliar o potencial de exploração e acesso

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).

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. Usar o filtro "Older" na lista suspensa Sort, bem como outros critérios de classificação, para ajustar a visualização aos alertas que atendem aos seus critérios de idade.

6. Aproveitar a automação

Use as pull requests automatizadas do Dependabot para corrigir vulnerabilidades rapidamente. 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.