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 open source 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 open source 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 open source.
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 seu projeto para 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. Confira [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning). -
**Dependabot** automaticamente monitora as dependências do seu 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. Confira [AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide).
O GitHub fornece um conjunto abrangente de métricas do Dependabot para ajudar você a monitorar, priorizar e remediar esses riscos em todos os repositórios da sua organização. Confira Sobre as 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 fornecem essas métricas de 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 de métricas do Dependabot para ter visibilidade do estado atual das vulnerabilidades de dependência da organização. Confira Exibindo métricas de alertas do Dependabot.
-
**Priorização de alertas:** revise o número de Dependabot alerts abertos e utilize filtros como a gravidade do CVSS, a probabilidade de exploração do EPSS, a disponibilidade de patch e se uma dependência vulnerável realmente é usada em artefatos implantados. Confira [Filtros de exibição de painel do Dependabot](/code-security/security-overview/filtering-alerts-in-security-overview#dependabot-dashboard-view-filters). -
**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.
Monitore a introdução de novos alertas do code scanning
Use a visualização de alertas para o code scanning para obter visibilidade da atividade de correção nas solicitações de pull da sua organização. Confira 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 o Dependabot alerts, priorize também altas pontuações EPSS e 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 de code scanning. Confira 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
- Defina uma configuração de segurança para toda a organização que habilite Dependabot e code scanning em todos os repositórios existentes e novos. Confira Sobre a habilitação de recursos de segurança em escala.
- Habilite a revisão de dependência para comentar sobre solicitações de pull em todos os repositórios.
- Crie um conjunto de regras para toda a organização para proteger a branch padrão e exigir que alertas críticos de code scanning sejam corrigidos antes que uma solicitação de pull possa ser mesclada. Confira Como gerenciar conjuntos de regras para repositórios na sua organização.
- Trabalhe com administradores de repositórios para habilitar atualizações de segurança automatizadas sempre que possível. Confira Sobre as atualizações de segurança do Dependabot.
Avaliar o impacto dos alertas
- Revise regularmente como os alertas de Dependabot e code scanning estão ajudando a impedir que vulnerabilidades de segurança entrem em sua base de código.
- Use dados históricos para demonstrar o valor do gerenciamento de dependências proativo.