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.
- Usar sugestões de Copilot Autofix sempre que possível para ajudar os desenvolvedores a corrigir alertas com mais rapidez e eficiência.
- Verificar se os gerentes da campanha estão disponíveis 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 os membros da equipe de segurança atribuídos para gerenciar a campanha estão disponíveis para revisar as solicitações de pull criadas para corrigir os alertas da campanha, colaborando conforme necessário.
Como usar o Copilot Autofix para ajudar a corrigir alertas de segurança
O GitHub Copilot Autofix é uma expansão do code scanning que fornece aos usuários recomendações direcionadas para auxiliar a corrigir alertas do code scanning. Ao selecionar alertas para incluir em uma campanha de segurança, você pode incluir preferencialmente alertas qualificados para serem corrigidos com a ajuda de GitHub Copilot Autofix usando o filtro autofix:supported
.
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é mil alertas.
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.
Especificar gerenciadores de campanha e links de contato
Ao criar uma campanha de segurança, selecione um ou mais "Gerentes de campanha". Um gerente de campanha deve ser:
- Um usuário com a função de proprietário da organização ou a função de gerente de segurança.
- Um membro de uma equipe com a função de proprietário da organização ou a função de gerente de segurança.
O nome dos gerentes de campanha fica visível para os desenvolvedores quando eles participam da campanha. Para apoiar a comunicação entre os desenvolvedores e os gerentes de campanhas, você também pode fornecer um link de contato, como um link para GitHub Discussions ou outro canal de comunicação, ao criar uma 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. Idealmente, os gerentes de campanha estão disponíveis para responder a perguntas e colaborar em correções difíceis por meio do link de contato. Os gerentes de campanha também devem estar disponíveis para revisar solicitações de pull para correções durante toda a 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.