O GitHub lança versão beta de correção automática por IA. É a chamada correção automática de varredura de código. Trata-se de um serviço que detecta automaticamente vulnerabilidades de código e sugere correções. O serviço está disponível para inscritos no GitHub Advanced Security.
O serviço, apresentado pela primeira vez no evento Universe em novembro do ano passado, suporta JavaScript, Typescript, Java e Python, com C# e Go vindo em seguida, de acordo com o post oficial.
Sob as cobertas, há dois serviços trabalhando juntos. CodeQL é um mecanismo de análise de código semântico que permite aos desenvolvedores escrever consultas em um banco de dados criado a partir de uma base de código. As consultas CodeQL podem identificar vulnerabilidades e bugs de segurança, e o GitHub usa esse serviço para identificar código inseguro em solicitações pull.
Uma vez que o CodeQL tenha analisado o código, o Copilot entra em ação, gerando sugestões de código postadas na solicitação pull, onde os desenvolvedores podem visualizar, aceitar ou modificar as correções propostas e mesclá-las no código.
A documentação detalhada acrescenta que “a correção automática usa APIs internas do GitHub Copilot e instâncias privadas de modelos de linguagem grande (LLMs) OpenAI, como GPT-4, que têm recursos generativos suficientes para produzir correções sugeridas no código e texto explicativo para essas correções”.
GitHub lança versão beta de correção automática por IA
De acordo com o GitHub, os desenvolvedores confrontados com alertas de segurança muitas vezes não sabem como corrigi-los. “Os desenvolvedores geralmente têm pouco treinamento em segurança de código”, afirmam os documentos, “então corrigir esses alertas requer um esforço substancial”.
Quando os alertas são analisados, trechos de código são enviados ao LLM para análise, mas não usados para fins de treinamento.
Como é comum na IA, o GitHub alerta que as correções sugeridas nem sempre acertam. Haverá uma correção sugerida para a maioria dos alertas, dizem-nos, e na maioria das vezes eles podem ser confirmados sem edição ou com pequenas edições, mas “uma pequena porcentagem de correções sugeridas refletirá um mal-entendido significativo da base de código ou da vulnerabilidade”.
Uma lista de limitações observa que ele funciona melhor com o código do idioma inglês. Além disso:
- pode gerar erros de sintaxe;
- o código pode ser inserido no local errado ou as sugestões podem falhar em corrigir a vulnerabilidade, ou até mesmo introduzir novas.
- Há também riscos potenciais com dependências. Isto porque a IA pode sugerir mudanças nas dependências e “não sabe quais versões de uma dependência existente têm suporte ou são seguras”.
O GitHub sugere o uso de testes de integração contínua para mitigar essas limitações. Embora pareçam graves quando explicitados, se o serviço na maioria das vezes acertar, ainda pode oferecer benefícios substanciais. Dito isso, este é um lembrete de que a supervisão qualificada continua sendo um requisito para o uso de ferramentas de codificação de IA.
O novo serviço está disponível apenas no GitHub Advanced Security (US$ 49 por mês por committer), que só está disponível como um complemento para um plano Enterprise (US$ 21 por usuário/mês). Não há previsão sobre a disponibilidade para usuários de código aberto.