Google cria IA que corrige bugs de segurança automaticamente

Wait 5 sec.

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."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íticasNos ú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 CodeMenderA 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-cliqueAlé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.