Skip to main content

Exposição a vulnerabilidades em seu código e em dependências

Entenda como as vulnerabilidades em seu próprio código e em dependências de terceiros contribuem para a exposição geral de segurança da sua organização e como medir e reduzir esse risco.

Quem pode usar esse recurso?

Requer o GitHub Team ou o GitHub Enterprise

Riscos de vulnerabilidades não reparadas

Sua organização tem exposição a vulnerabilidades no código que você escreve e mantém e nas dependências código aberto ou de terceiros que seu código usa. Avaliar sua exposição a vulnerabilidades é crucial se você quiser evitar:

  • Tempo de inatividade não planejado e interrupção operacional. A exploração de vulnerabilidades pode resultar em interrupções de aplicativo, qualidade do serviço degradada ou falhas em cascata em sistemas críticos, interrompendo suas operações de negócios.

  • Aumento dos custos de correção. Quanto mais tempo o código vulnerável permanecer não protegido, mais difícil e caro será corrigido, especialmente se o código estiver profundamente integrado ou se ocorrerem incidentes. A detecção e a correção precoces reduzem o risco de respostas a incidentes dispendiosas, a aplicação de patches de emergência e os danos à reputação.

  • Propagação generalizada de riscos. Módulos e dependências vulneráveis geralmente são reutilizados em vários aplicativos e serviços, o que significa que uma única falha pode se propagar em toda a sua organização, agravando o risco e o impacto da exploração.

  • Comprometimento da cadeia de suprimentos. Os invasores podem explorar vulnerabilidades em dependências de código aberto ou de terceiros para injetar código mal-intencionado, elevar privilégios ou obter acesso não autorizado aos seus sistemas. Dependências comprometidas podem servir como pontos de entrada indiretos para criminosos, levando a incidentes de segurança de grande alcance.

  • Problemas regulatórios e de licenciamento. Muitos regulamentos e padrões do setor exigem que as organizações resolvam proativamente as vulnerabilidades conhecidas em sua cadeia de fornecimento de software. Não corrigir dependências vulneráveis pode resultar em não conformidade, auditorias, penalidades legais ou violações das obrigações de licença de código aberto.

Avaliar regularmente a exposição a vulnerabilidades ajuda você a identificar os riscos antecipadamente e priorizar a correção.

Maneiras de monitorar seus repositórios em busca de código vulnerável

  • Code scanning monitora automaticamente o código do projeto em busca de vulnerabilidades. Quando detecta um problema de segurança em um pull request, ele cria um alerta com uma sugestão de correção automática para resolver a vulnerabilidade. Isso reduz a barreira à resolução e ajuda a garantir que seu projeto permaneça seguro. Consulte Como definir a configuração padrão da verificação de código.

  • Dependabot monitora automaticamente as dependências do projeto em busca de vulnerabilidades e pacotes desatualizados. Quando detecta um problema de segurança ou uma nova versão, ele cria pull requests para atualizar as dependências afetadas, ajudando você a resolver rapidamente os riscos de segurança e manter seu software atualizado. Isso reduz o esforço manual e ajuda a garantir que o projeto permaneça seguro. Consulte Guia de início rápido do Dependabot.

GitHub fornece um conjunto abrangente de Dependabot métricas para ajudá-lo a monitorar, priorizar e corrigir esses riscos em todos os repositórios em sua organização. Consulte Métricas para alertas do Dependabot.

Reduzindo a exposição à vulnerabilidade organizacional

A redução da exposição de vulnerabilidades organizacionais requer visibilidade contínua sobre o risco, o progresso da correção e a imposição de políticas entre repositórios. Dependabot e code scanning as métricas fornecem essa visibilidade. Use as seguintes práticas recomendadas para monitorar e reduzir a exposição à vulnerabilidade da sua organização:

Monitorar métricas de vulnerabilidade para dependências

Use a visão geral das métricas para Dependabot obter visibilidade do estado atual das vulnerabilidades de dependência da sua organização. Consulte Exibindo métricas de alertas do Dependabot.

  • Priorização de alerta: Examine o número de filtros abertos Dependabot alerts e de uso, como gravidade do CVSS, probabilidade de exploração do EPSS, disponibilidade de patch e se uma dependência vulnerável é realmente usada em artefatos implantados. Confira Filtros de exibição de painel do Dependabot.
  • Detalhamento no nível do repositório: identifique quais repositórios têm o maior número de vulnerabilidades críticas ou passíveis de exploração.
  • Acompanhamento de correções: acompanhe o número e o percentual de alertas corrigidos ao longo do tempo para medir a eficácia do seu programa de gerenciamento de vulnerabilidades.

Monitorar a introdução de novos code scanning alertas

Use a visualização de alertas de code scanning para ter visibilidade sobre a atividade de correção nos pull requests da sua organização. Consulte Visualizar métricas para alertas de pull request.

  • Alertas em solicitações de pull: Examine quantos alertas foram detectados e mesclados no branch padrão sem resolução.
  • Regras mais prevalentes: Identifique as regras que são frequentemente disparadas quando a educação do desenvolvedor é necessária.
  • Detalhamento no nível do repositório: Identifique quais repositórios têm o maior número de alertas detectados em solicitações de pull, mas ainda mesclados no branch padrão.
  • Acompanhamento de correções: acompanhe o número e o percentual de alertas corrigidos ao longo do tempo para medir a eficácia do seu programa de gerenciamento de vulnerabilidades.

Priorizar os esforços de correção

Concentre-se em vulnerabilidades que apresentam o maior risco para a organização.

  • Priorize alertas com severidade alta ou crítica. Para Dependabot alerts, também priorize as pontuações altas do EPSS e os patches disponíveis.
  • Use as informações de divisão do repositório para direcionar os esforços de correção para os projetos mais em risco.
  • Incentive as equipes de desenvolvimento a lidar com vulnerabilidades que são realmente usadas em artefatos implantados por meio de propriedades personalizadas do repositório e usando o contexto de produção. Consulte Priorizando alertas do Dependabot e de verificação de código no contexto de produção.
  • Crie campanhas de segurança para incentivar e acompanhar a correção de alertas de alta prioridade code scanning . Consulte Criando e gerenciando campanhas de segurança.

Comunicar risco e progresso

  • Use as páginas de métricas para comunicar os principais fatores de risco e o progresso da correção aos stakeholders.
  • Forneça atualizações regulares sobre tendências, como a redução de vulnerabilidades críticas abertas ou melhorias nas taxas de correção.
  • Destaque os repositórios ou as equipes que exigem suporte ou atenção adicionais.

Estabelecer e impor políticas

Avaliar o impacto dos alertas

  • Revise regularmente como os alertas Dependabot e code scanning estão ajudando a impedir que vulnerabilidades de segurança entrem no seu código-fonte.
  • Use dados históricos para demonstrar o valor do gerenciamento de dependências proativo.