O Google usou inteligência artificial para identificar 26 novas vulnerabilidades em projetos de código aberto, incluindo um bug no OpenSSL que não foi detectado por duas décadas. O bug, batizado de CVE-2024-9143, era um problema de memória fora dos limites que causava travamentos do programa e, em casos raros, lançava código malicioso.
Para buscar vulnerabilidades e automatizar o processo, os desenvolvedores do Google utilizaram o método de teste fuzz, no qual dados aleatórios são carregados no código para identificar possíveis falhas. O blog da empresa observa que a abordagem era usar o poder dos grandes modelos de linguagem (LLMs) para gerar mais alvos difusos.
No final das contas, os LLMs foram “altamente eficazes na emulação de todo o fluxo de trabalho de um desenvolvedor típico para escrever, testar e fazer triagem de falhas detectadas”. Como resultado, a inteligência artificial foi usada para testar 272 projetos de software, onde foram descobertas 26 vulnerabilidades, incluindo um bug “antigo” no OpenSSL.
Segundo os pesquisadores, o motivo pelo qual o bug não foi detectado por 20 anos foi porque era difícil testar scripts de código individuais e porque o código já foi considerado exaustivamente testado e, portanto, não atraiu muita atenção. “Os testes não são capazes de medir todos os caminhos possíveis através dos quais um programa pode ser executado. Diferentes configurações, sinalizadores e configurações também podem ativar diferentes comportamentos que revelam novas vulnerabilidades”, explicaram os especialistas. Felizmente, o erro é de baixa gravidade devido ao risco mínimo de operação do processo.
Anteriormente, os desenvolvedores escreviam manualmente o código para testes de difusão, mas agora o Google planeja ensinar a IA não apenas a encontrar vulnerabilidades, mas também a sugerir correções automaticamente, minimizando a intervenção humana. “Nosso objetivo é chegar a um ponto em que tenhamos certeza de que podemos passar sem verificação manual”, disse a empresa.