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:
- Clicar no nome do repositório na tabela por repositório para exibir os alertas somente desse repositório.
- 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.