Skip to main content

Melhores práticas para corrigir alertas de segurança em escala

Diretrizes sobre como criar campanhas de segurança bem-sucedidas que incentivem a participação dos desenvolvedores e os ajudem a aumentar a compreensão sobre codificação segura.

Quem pode usar esse recurso?

Organizações no GitHub Enterprise Cloud com o GitHub Advanced Security habilitado

Note

Atualmente, as campanhas de segurança estão em versão prévia pública e sujeitas a alterações.

Elementos de uma campanha de segurança bem-sucedida

Campanhas de segurança bem-sucedidas para corrigir alertas em escala têm muitos recursos em comum, incluindo:

  • Selecionar um grupo relacionado de alertas de segurança para correção.
  • Verificar se o gerente da campanha está disponível para colaboração, revisões e perguntas sobre correções.
  • Fornecer acesso a informações educacionais sobre o tipo de alertas incluídos na campanha.
  • Disponibilizar o GitHub Copilot Chat para os desenvolvedores usarem a fim de saber mais sobre as vulnerabilidades realçadas pelos alertas de segurança na campanha.
  • Definir um prazo realista para a campanha, tendo em mente o número de alertas que você pretende corrigir.
  • Divulgar a colaboração para equipes de desenvolvedores e identificar a melhor maneira de incentivar a participação delas na sua organização.

Para obter informações sobre a experiência de desenvolvedor, confira “Como corrigir alertas em uma campanha de segurança”.

Como selecionar alertas de segurança para correção

Seu primeiro pensamento pode ser identificar todos os alertas mais urgentes e criar uma campanha de segurança para corrigi-los. Se os desenvolvedores já tiverem uma boa compreensão sobre codificação segura e tiverem interesse em corrigir possíveis vulnerabilidades, essa poderá ser uma abordagem bem-sucedida para sua empresa. No entanto, se você precisar aprimorar os conhecimentos sobre codificação segura e vulnerabilidades comuns, uma abordagem mais estratégica será útil.

Por exemplo, se você tiver muitos alertas de vulnerabilidades de cross-site scripting, poderá:

  • Criar um conteúdo educacional para desenvolvedores em um repositório usando os recursos da OWASP Foundation. Confira XSS (cross-site scripting).
  • Criar uma campanha para corrigir todos os alertas para essa vulnerabilidade, incluindo um link para o conteúdo educacional na descrição da campanha.
  • Realizar uma sessão de treinamento ou outro evento para destacar essa oportunidade de ganhar confiança na codificação segura ao corrigir bugs reais.
  • Verificar se o membro da equipe de segurança atribuído para gerenciar a campanha está disponível para revisar as pull requests criadas para corrigir os alertas da campanha, em colaboração conforme necessário.

Modelos de filtro de campanha

Ao selecionar os alertas a serem incluídos em uma campanha de segurança, você pode usar um dos filtros da página de alertas de segurança para definir um subconjunto de alertas. Como alternativa, você pode escolher um modelo de campanha para usar um dos filtros predefinidos para necessidades comuns, por exemplo: “Cross-site scripting (CWE-79)”.

Limitações nas campanhas de segurança

As limitações a seguir destinam-se a incentivar você a adotar uma abordagem equilibrada e ponderada para corrigir alertas no código. Uma abordagem iterativa, que lide com alguns conjuntos de alertas direcionados de cada vez, provavelmente resultará em uma mudança sustentável e de longo prazo na postura de segurança.

  • Um número máximo de dez campanhas de segurança ativas por vez (sem limites nas campanhas fechadas).
  • Cada campanha pode conter até 1.000 alertas distribuídos em até 100 repositórios.

Se você optar por criar uma campanha que exceda esses limites, os alertas serão omitidos para alinhar a campanha com os limites. Os alertas nos repositórios com pushes recentes são priorizados para inclusão na campanha.

Como definir a função do gerente de campanha

Ao criar uma campanha de segurança, você precisa escolher um “Gerente de campanha”. O gerente de campanha precisa ter o proprietário da organização ou a função de gerente de segurança.

O nome do gerente de campanha fica visível para os desenvolvedores quando eles participam da campanha. Caso você deseje aumentar a taxa de correção de alertas e escalar o conhecimento da equipe de segurança, essa é uma oportunidade fundamental para criar relações colaborativas com desenvolvedores. O ideal é que um gerente de campanha esteja disponível para responder a perguntas, colaborar em correções difíceis e revisar pull requests para correções durante todo o curso da campanha.

Como combinar o treinamento de segurança com uma campanha de segurança

Se a sua equipe de segurança já oferece treinamento para desenvolvedores sobre codificação segura, a criação de uma campanha com alertas escolhidos para permitir que os desenvolvedores usem as habilidades da sessão de treinamento é uma excelente maneira de reforçar o aprendizado. Mesmo que você não tenha um programa de treinamento formal, faz sentido fornecer informações sobre os tipos de vulnerabilidades de segurança incluídos na campanha, exemplos de como corrigi-las e como testar as correções. Isso simplificará a função do gerente de campanha, pois ele poderá direcionar os desenvolvedores para esses recursos a fim de obter respostas para perguntas básicas.

A OWASP Foundation disponibiliza vários recursos para aprender sobre as vulnerabilidades mais comuns e a MITRE Corporation mantém uma lista detalhada de pontos fracos comuns. Confira Sobre a OWASP Foundation e Sobre a CWE.

Como fornecer suporte de IA para aprender sobre as vulnerabilidades de segurança

O GitHub Copilot Autofix é disparado automaticamente para sugerir uma resolução para cada alerta de segurança. No entanto, os desenvolvedores geralmente vão querer ter mais informações sobre o motivo do código original não ser seguro e como testar se a correção está correta e não interrompe outros componentes.

O GitHub Copilot é uma ferramenta importante para desenvolvedores que têm dúvidas sobre codificação segura, como corrigir alertas de segurança e testar a correção deles. Verifique se todos os desenvolvedores da sua organização têm acesso ao Copilot, tanto no IDE quanto no GitHub. Confira “Conceder acesso ao Copilot para membros da sua organização”.

Tip

A habilidade do GitHub Advanced Security fornece ao Copilot Chat um contexto adicional para responder a perguntas sobre alertas de segurança.

Considerações sobre como iniciar uma campanha de segurança e definir um prazo

Assim como acontece com qualquer outro projeto, é importante definir escalas de tempo realistas para evitar que os desenvolvedores percam o interesse em participar da campanha de segurança. A menos que a sua empresa esteja corrigindo alertas de segurança como parte de uma campanha maior para reduzir a dívida técnica, a maioria dos desenvolvedores não terá tempo alocado para corrigir os alertas. Você precisa estimar as taxas de correção com base no tempo que os desenvolvedores podem encontrar entre as tarefas agendadas. Também é sempre importante ficar atento a prazos importantes da empresa que os desenvolvedores estão buscando cumprir e verificar os feriados nacionais.

Próximas etapas