Pular para o conteúdo

Uma equipe editorial e uma comunidade que criam com IA

← Todos os artigos

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; o skill-lint faz parte de uma biblioteca de 175 habilidades de agentes que complementam coleções da comunidade como go-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% tinha cap igual a len.
  • 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

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.

Google combina Gemini 4 Argon com um solver Z3 para encontrar bugs de Go que o fuzzing não detectava | vibecoding.inc