O guia é inspirado pelo ESSP (Guia estratégico do sistema de engenharia) do GitHub, que recomenda estratégias e métricas para impulsionar melhorias em sistemas de engenharia.
Se você estiver iniciando uma distribuição do Copilot, recomendamos definir suas metas, planejar a distribuição adequadamente e comunicar as metas com clareza à equipe. Confira Alcançar as metas de engenharia da sua empresa com o GitHub Copilot.
1. Identificar barreiras ao sucesso
A primeira etapa recomendada pelo ESSP é desenvolver uma compreensão clara dos obstáculos que impedem melhorias na empresa. Ao entender sua linha de base atual, seu estado futuro desejado e as barreiras que impedem o progresso, você pode garantir alterações direcionadas e eficazes.
As equipes de desenvolvimento geralmente se concentram na velocidade e na funcionalidade para fornecer novos recursos e manter os aplicativos em execução sem problemas. Com o tempo, pequenos problemas podem se acumular, como:
- Pontos fracos de segurança conhecidos que permanecem não corrigidos
- Dependência de componentes de software mais antigos com possíveis falhas
- Atrasos no endereçamento de problemas descobertos
Isso cria uma dívida de segurança, um acúmulo significativo de problemas.
A dívida de segurança traz riscos reais. Quanto mais tempo ele fica sem reparação, maior e mais caro ele se torna. A grande dívida de segurança deixa os sistemas vulneráveis a ataques, expõe dados confidenciais e corroe a confiança do cliente.
O desafio é equilibrar o desenvolvimento rápido com a manutenção de um ambiente de software seguro e estável.
2. Avaliar suas opções
A próxima etapa é avaliar e concordar com soluções para resolver as barreiras identificadas na etapa um. Neste guia, vamos focar o impacto que o GitHub Copilot pode ter na meta identificada. As distribuições bem-sucedidas de uma nova ferramenta também exigem alterações na cultura e nos processos.
Execute avaliações de novas ferramentas e processos com grupos piloto para coletar comentários e medir o sucesso. Para obter recursos e métricas de treinamento a serem usados durante as avaliações, consulte as seções 3. Implementar alterações e Métricas a monitorar.
<a href="https://github.com/enterprise/contact?ref_product=copilot&ref_type=engagement&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline">
<span>Fale com Vendas</span><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-link-external" aria-label="link external icon" role="img"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a>
Como Copilot pode ajudar
Copilot integra considerações de segurança diretamente no ciclo de vida de desenvolvimento. Isso ajuda os desenvolvedores a identificar e lidar proativamente com possíveis vulnerabilidades, mantendo os projetos up-to-date.
Copilot reduz vulnerabilidades de segurança em todo o ciclo de vida de desenvolvimento de software.
Durante o desenvolvimento
Copilot revisa o código enquanto você o escreve. Ele usa sua compreensão de falhas de segurança comuns para sinalizar áreas que podem ser vulneráveis à exploração. Essa análise em tempo real apresenta vulnerabilidades ocultas que podem ser perdidas durante o desenvolvimento padrão ou revisões de segurança iniciais.
Quando Copilot identifica problemas, ele sugere alterações de código para corrigir vulnerabilidades. Isso permite que você resolva as fraquezas antecipadamente e impeça que a dívida de segurança se acumule.
Manutenção contínua
Copilot integra-se com os recursos de verificação de código de GitHub para manter a base de código existente segura. Quando a verificação de código identifica um alerta de segurança, Autofixo do Copilot analisa-o e fornece recomendações direcionadas para resolvê-lo.
Essas correções sugeridas reduzem o tempo gasto pesquisando vulnerabilidades e determinando como resolvê-las. Isso ajuda você a resolver alertas de segurança com mais eficiência e impede a dívida de segurança contínua.
Considerações culturais
Juntamente com o lançamento do GitHub Copilot, aborde quaisquer fatores sociais ou culturais que possam impedi-lo de atingir seus objetivos.
Os exemplos a seguir são extraídos da seção "Anti-Patterns" no ESSP.
- As equipes podem ignorar ou adiar a dívida de segurança. Isso permite que sistemas ineficientes e vulneráveis persistam. Isso pode ser causado por um foco excessivo em funcionalidades devido a prazos apertados ou pela falta de conhecimento sobre o impacto a longo prazo da dívida de segurança.
- As equipes podem criar soluções excessivamente complexas para problemas simples. Isso torna o código mais difícil de manter e problemas de segurança mais difíceis de detectar. Isso pode ser causado por um desejo de tornar algo à prova de futuro de forma desnecessária, ou pela pressão para agregar valor por meio da complexidade.
3. Implementar alterações
Quando você identificar a abordagem correta para superar seus obstáculos, amplie as soluções que identificou. Para uma distribuição bem-sucedida de uma nova ferramenta ou processo, atribua a propriedade a cada parte da distribuição, comunique-se de forma transparente sobre suas metas, forneça treinamento eficaz e meça seus resultados.
Esta seção apresenta exemplos cenários, práticas recomendadas e recursos para desenvolvedores. Use esta seção para planejar comunicações e sessões de treinamento para ajudar os funcionários a usar Copilot de uma maneira que esteja alinhada com seu objetivo.
- Analise seu código em busca de vulnerabilidades de segurança
- Usar Autofixo do Copilot para code scanning alertas
- Práticas recomendadas para desenvolvedores
- Recursos para desenvolvedores
Analise seu código em busca de vulnerabilidades de segurança
Dependendo do tamanho da base de código, Copilot talvez não seja possível analisar todo o projeto enquanto você está escrevendo código. Isso ocorre devido a restrições de contexto. No entanto, você pode solicitar que ele analise arquivos específicos para práticas de código inseguras.
-
Abra os arquivos a serem analisados em Visual Studio Code.
-
In Bate-papo do Copilot, pergunte:
Analyze this code for potential security vulnerabilities and suggest fixesUse a
#filevariável de chat para incluir especificamente o conteúdo de um arquivo no prompt. Você também pode usar arquivos de prompt e instruções personalizadas para orientar as respostas de Copilot. -
Bate-papo do Copilot analisa o código, identifica vulnerabilidades de segurança e sugere correções. -
Examine as alterações sugeridas e aplique-as conforme apropriado.
Outros exemplos de prompts:
Are there any security vulnerabilities in my code? If so, can you explain them and suggest fixes?Does this code follow secure code best practices? If not, what specific improvements can I make?What are the potential security risks in this code if it were deployed to production? How can I mitigate them?
Use Autofixo do Copilot para code scanning alertas
Autofixo do Copilot é uma parte do GitHub Code Security que sugere possíveis correções para code scanning alertas. Ele está disponível em repositórios públicos e repositórios com uma licença para GitHub Code Security.
Quando você executa uma verificação de código em um repositório, possíveis problemas são gerados como alertas code scanning. Resolva os alertas seguindo estas etapas:
- Abra um alerta no GitHub.
- Clique em Gerar correção. Isso é exibido quando Copilot pode resolver o alerta.
-
Autofixo do Copilot gera uma correção em potencial e mostra as alterações de código no alerta. Você pode confirmar essa alteração de código em uma nova ramificação ou em uma ramificação existente. - Teste o código. Em seguida, abra uma solicitação de pull para mover as alterações para o branch principal.
- Depois de mover as alterações para a ramificação principal e code scanning verificar a correção, o alerta será fechado automaticamente.
Práticas recomendadas para desenvolvedores
Os desenvolvedores devem:
- Use Bate-papo do Copilot regularmente para analisar snippets de código em busca de vulnerabilidades. Torne-se um hábito verificar o código para problemas de segurança antes de confirmar alterações.
-
**Use Autofixo do Copilot para code scanning alertas**. Quando os alertas aparecerem, use Autofixo do Copilot como primeiro passo para abordá-los rapidamente. -
**Forneça prompts claros e específicos para Bate-papo do Copilot**. Quanto mais detalhada sua solicitação, melhor Copilot pode analisar o código e sugerir correções relevantes. Por exemplo, inclua a linguagem de programação e áreas específicas de preocupação. - Combine Copilot com as ferramentas de segurança existentes. Use Copilot como uma camada adicional de análise de segurança, não como uma substituição para verificadores e práticas de segurança dedicados.
Os desenvolvedores não devem:
- Aceite Copilotautomaticamente as sugestões de segurança. Sempre examine e teste as alterações de código sugeridas para garantir que elas sejam apropriadas e eficazes.
- Confie somente em Copilot para auditorias de segurança abrangentes. Copilot é uma ferramenta útil, mas não deve substituir revisões completas de segurança e testes de penetração.
- Ignorar code scanning alertas. Resolva todos os alertas prontamente, mesmo que pareçam menores, para evitar o acúmulo de dívidas de segurança.
- Use Copilot como desculpa para evitar aprender práticas de codificação seguras. Continue a educar a si mesmo e à sua equipe sobre as melhores práticas de segurança.
- Suponha que Copilot capturará todas as vulnerabilidades. A segurança é um processo contínuo e a vigilância é sempre necessária.
- Use Copilot para ignorar as políticas de segurança. Siga os protocolos de segurança da sua organização. Use Copilot como uma ferramenta para aprimorá-los, não para contorná-los.
Recursos para desenvolvedores
- Copilot Chat em GitHub
- Encontrando vulnerabilidades existentes no código
- GitHub Skills – Introdução ao GitHub Copilot
Métricas a serem observadas
Para avaliar avaliações de novas ferramentas e garantir que suas distribuições completas estejam fornecendo melhorias consistentes, monitore os resultados e faça ajustes quando necessário. Recomendamos considerar as principais zonas de qualidade, velocidade e felicidade dos desenvolvedores e como essas zonas se reúnem para contribuir com os resultados dos negócios.
Aqui estão algumas métricas para avaliar o impacto de Copilot sobre essa meta específica.
- Taxa de dívida de segurança. Use a visão geral de segurança para ver se o número de alertas cai ao longo do tempo.
- Hora de corrigir problemas de segurança. Use a visão geral de segurança para ver se o tempo para corrigir problemas de segurança cai ao longo do tempo.