Notícia · Google · 2 min de leitura
Data do fato: · Publicado:
Google combina Gemini 4 Argon com um solver Z3 para encontrar bugs de Go que o fuzzing não detectava
O Google detalhou uma técnica que combina o Gemini 4 Argon com o solver Z3 para encontrar bugs em Go que o fuzzing não detectava, revelando três novos bugs latentes na ferramenta skill-lint.
O Google descreveu uma técnica que combina seu modelo Gemini 4 Argon com o solver de restrições Z3 para encontrar bugs em código Go que o fuzzing não detectava, em uma publicação no Google Developers Blog divulgada em 12 de novembro de 2026.
Como a técnica funciona
- O Gemini 4 Argon traduz o caminho até cada possível armadilha de falha em regras para o solver de restrições Z3.
- O método foi testado no
skill-lint, uma CLI independente em Go que verifica arquivos SKILL.md, executada sobre o Go 1.27.3; oskill-lintfaz parte de uma biblioteca de 175 habilidades de agentes que complementam coleções da comunidade comogo-skills. - Ele encontrou os três bugs que haviam sido inseridos de propósito nos parsers de teste.
- Também revelou três bugs latentes até então desconhecidos dentro do próprio
skill-lint. - Um dos novos bugs, em
ParseTwoChunkFrame, é disparado por 19,4% de todos os pares possíveis (hdrLen,bodyLen), mas o fuzzing não o detectou porque 89% das entradas do fuzzer eram visões sobre um buffer compartilhado de cerca de 100 MB, e apenas 0,07% tinhacapigual alen. - Traduzir uma função com o LLM levava cerca de um minuto, enquanto o solver Z3 concluía a verificação em milissegundos.
O que isso significa para quem constrói com IA
Isso dá a desenvolvedores que constroem ferramentas de verificação de código e segurança com apoio de IA um exemplo concreto e medido de combinar um modelo de linguagem grande com um solver formal. O LLM assume o trabalho lento e repetitivo de transformar um caminho de código em restrições formais, e o solver então verifica essas restrições de forma exaustiva, capturando entradas que as lacunas de cobertura do fuzzing deixam passar.
Escopo do teste
O Google analisou cinco funções no total com o método; duas foram consideradas comprovadamente seguras, ou seja, o solver não encontrou nenhuma entrada que satisfizesse as condições de falha. O binário do skill-lint examinado no teste contém 32.321 símbolos no total.
Fontes
- Catch Go bugs that fuzzing misses with Gemini and a constraint solver (Google, 12 de novembro de 2026, oficial)
Escrito com ajuda de IA, apenas a partir das fontes listadas acima. Antes de ir ao ar, verificações automáticas conferiram as datas, as fontes e todas as versões de idioma.