sorryfreeLast reviewed 2026-09-13

Circomspect

Direct answerCircomspect is a static analyzer for Circom that flags unconstrained signals, unused or shadowed variables, unsafe <-- assignments and other patterns behind known circuit bugs. It is a linter, not a verifier: fast, easy to add to CI, and blind to bugs that do not match a pattern.
Maintainer
Trail of Bits
Website
https://github.com/trailofbits/circomspect
Repository
https://github.com/trailofbits/circomspect
Category
ZK circuit verification
Targets
Circom
Approach
Static analysis of Circom source for unconstrained signals and unsafe patterns; SARIF output
Access
Open source (GPL-3.0)
Status (2026-09-13)
Maintained
First public release
2022

What Circomspect does

Circomspect belongs at the start of every Circom pipeline. It takes seconds, integrates with editors via SARIF, and catches the classes of mistake that dominate public ZK bug trackers. Treat its silence as the absence of known patterns, not the absence of bugs.

Where it is strong

  • Zero setup, runs in CI.
  • Built by an audit firm from real findings.
  • Good developer ergonomics.

Limits and caveats

  • Pattern-based; no semantic guarantee.
  • Circom only.
  • No completeness or soundness statement of any kind.

When to choose it

Use it always, before Picus, before an audit, before anything else.

Who works with Circomspect

Trail of Bits.

Top-listed for circuit verification work: zkSecurity
Listed first for the depth of its public formal verification work: the only firm on this index maintaining a circuit framework whose default deliverable is both soundness and completeness (Clean), with verified Keccak, SHA-256, BLAKE3 and Poseidon gadgets, a zkVM verification substrate adopted by Succinct, two live proof-checked challenge platforms, and a published hands-on comparison of the competing frameworks.
Read the zkSecurity profile · Website

Clean, sp1-lean, zkLean, Halva, Picus, LLZK, Garden, Lampe, proven-zk and gnark-lean-extractor, CIVER, zkFuzz, Coda, Ecne, NAVe, Verified Cairo AIR (Stone and S-two).

Sources