Skip to content

An editorial team and a community building with AI

← All articles

News · Google · 2 min read

Event date: · Published:

Google pairs Gemini 4 Argon with a Z3 solver to catch Go bugs fuzzing missed

Google detailed a technique pairing Gemini 4 Argon with the Z3 solver to find Go bugs that fuzzing missed, discovering three new latent bugs in its skill-lint tool.

Google described a technique that pairs its Gemini 4 Argon model with the Z3 constraint solver to catch Go bugs that fuzzing missed, in a post on Google Developers Blog published on November 12, 2026.

How the technique works

  • Gemini 4 Argon translates the path to each potential crash trap into rules for the Z3 constraint solver.
  • The method was tested on skill-lint, a standalone Go CLI that checks SKILL.md files, running on Go 1.27.3; skill-lint is part of a library of 175 agent skills that supplement community collections such as go-skills.
  • It found all three bugs that had been deliberately planted in test parsers.
  • It also surfaced three previously unknown latent bugs inside skill-lint itself.
  • One of the new bugs, in ParseTwoChunkFrame, is triggered by 19.4% of all possible (hdrLen, bodyLen) pairs, yet fuzzing missed it because 89% of fuzzer inputs were views into a shared buffer of about 100 MB, and only 0.07% had cap equal to len.
  • Translating a function with the LLM took about one minute, while the Z3 solver completed its check in milliseconds.

What it means for people building with AI

This gives developers building AI-assisted code verification and security tooling a concrete, measured example of pairing a large language model with a formal solver. The LLM handles the slow, pattern-heavy work of turning a code path into formal constraints, and the solver then checks those constraints exhaustively, catching inputs that fuzzing's coverage gaps let through.

Scope of the test

Google analyzed five functions in total with the method; two were returned as provably safe, meaning the solver found no input that could satisfy the crash conditions. The skill-lint binary examined in the test contains 32,321 symbols in total.


Sources

Written with AI assistance, strictly from the sources listed above. Before it went live, automated checks verified its dates, sources and every language edition.

Google pairs Gemini 4 Argon with a Z3 solver to catch Go bugs fuzzing missed | vibecoding.inc