A divisão DeepMind do Google anunciou o CodeMender, um agente movido a inteligência artificial que melhora a segurança no desenvolvimento de software. A ferramenta detecta, corrige e reescreve códigos vulneráveis de forma automática, sem necessidade de intervenção humana, mas com supervisão humana antes de implementar as mudanças.
Segundo os pesquisadores Raluca Ada Popa e Four Flynn, da DeepMind, o CodeMender foi desenvolvido para ser reativo e proativo ao mesmo tempo. Na prática, isso significa que a IA não apenas conserta problemas assim que eles são descobertos, mas também vasculha bases de código antigas para eliminar classes inteiras de vulnerabilidades que poderiam ser exploradas no futuro.
Nossos vídeos em destaque
"Ao criar e aplicar patches de segurança de alta qualidade automaticamente, o agente alimentado por IA do CodeMender ajuda desenvolvedores e mantenedores a focar no que fazem de melhor: construir bons softwares", explicaram os pesquisadores em comunicado oficial.
IA já corrigiu dezenas de vulnerabilidades críticas
Nos últimos seis meses, durante a fase de desenvolvimento e testes, o CodeMender já implementou 72 correções de segurança em projetos de código aberto. Entre eles, há sistemas com até 4,5 milhões de linhas de código.
O timing do anúncio não é à toa. O Google explica que, conforme suas IAs ficam melhores em descobrir vulnerabilidades (como já acontece com os projetos Big Sleep e OSS-Fuzz), fica cada vez mais difícil para humanos darem conta de corrigir tudo sozinhos.
Como funciona o CodeMender
A ferramenta utiliza os modelos Gemini Deep Think, da própria Google, como "cérebro" principal. Esses modelos de IA analisam o código em busca de falhas, identificam a raiz do problema e propõem correções que passam por uma bateria rigorosa de validações antes de serem aplicadas.
O CodeMender só libera para revisão humana patches que atendem a múltiplos critérios: resolvem a causa raiz do problema, são funcionalmente corretos, não causam novos bugs (as chamadas "regressões") e seguem as diretrizes de estilo do projeto.
Para o funcionamento desse produto, o Google desenvolveu técnicas exclusivas.
- Análise avançada de programas: o sistema usa análise estática, análise dinâmica, testes diferenciais, fuzzing e solucionadores SMT (uma técnica matemática para verificar código). Com essas ferramentas, o CodeMender examina padrões de código, fluxo de controle e fluxo de dados para identificar não apenas sintomas, mas as causas raízes das falhas.
- Sistema multiagentes: o CodeMender não é uma IA única, mas uma equipe de agentes especializados. Um deles funciona como crítico: compara o código original com a versão modificada, aponta possíveis problemas e faz o sistema se autocorrigir até chegar na solução ideal.
O Google compartilhou casos concretos de uso do CodeMender que impressionam pela complexidade. Em um deles, o sistema identificou um problema de "heap buffer overflow" (quando o programa tenta acessar mais memória do que deveria). O interessante é que a falha não estava onde o erro aparecia — o verdadeiro culpado era um gerenciamento incorreto de elementos XML em outra parte do código. Mesmo com o patch final mudando apenas algumas linhas, descobrir isso exigiu análise profunda.
CodeMender quer combater ataques zero-clique
Além de consertar bugs quando aparecem, o CodeMender também pode reescrever código antigo para usar APIs e estruturas de dados mais seguras. Um caso emblemático envolve a biblioteca libwebp, amplamente usada para compressão de imagens.
O Google aplicou anotações "-fbounds-safety" em partes do código da libwebp usando o CodeMender. Essas anotações fazem o compilador adicionar verificações de limites que impedem um atacante de explorar vulnerabilidades de buffer overflow para executar código malicioso.
Esse caso de uso remete a uma vulnerabilidade desse tipo na libwebp (catalogada como CVE-2023-4863) que foi explorada por criminosos em um ataque "zero-click" contra iPhones — ou seja, não era nem necessário o usuário clicar em nada para ser infectado.
Por enquanto, todo patch gerado pelo CodeMender passa por revisão humana antes de ir para os projetos de código aberto. O Google já está submetendo correções para bibliotecas críticas, e muitas foram aceitas pelas comunidades mantenedoras.
O processo está sendo ampliado aos poucos para garantir qualidade e incorporar feedback de quem usa de verdade. A empresa também prometeu publicar artigos técnicos detalhados sobre as técnicas do CodeMender nos próximos meses.
)
)
)
)
)
)