Skip to main content
Sigvex

Soundness Coverage

Find the signals a ZK circuit fails to constrain — the dominant soundness bug — by running coverage over its constraints and flagging where witnesses can diverge.

Soundness Coverage looks at a ZK circuit the way an attacker does: it asks which signals the constraints actually pin down, and which ones a malicious prover could still choose freely. You run coverage over the circuit, and it reports the signals that diverged — the places where the constraint system leaves a witness under-determined.

Why it exists

The dominant bug class in zero-knowledge circuits is not a leak or an overflow — it is a missing constraint. A signal that is computed but never constrained lets a prover substitute any value and still produce a valid proof, which breaks soundness completely. These gaps are invisible in a passing test suite, because honest inputs never exercise them. Soundness Coverage surfaces them directly by measuring which signals the constraints hold down and which they do not.

Who uses it

  • Circuit auditor — checks a circuit for under-constrained signals before it is trusted with real value.
  • ZK researcher — compares a suspect circuit against a well-constrained baseline to isolate where soundness breaks.

How to open it

  1. Sidebar → Analysis → Soundness Coverage.
  2. Direct URL — /zk-coverage.

Running coverage

  1. Run coverage over the circuit’s constraints.
  2. Read the result: signals that are fully constrained versus those that diverged — the under-constrained ones an attacker could exploit.
  3. Compare against a reference with Load well-constrained sample, or explore the feature with Load demo data.
  4. Export the findings as CSV or JSON, or take the full session JSON for your own tooling.

Limits

  • Coverage identifies where constraints are missing; deciding whether a given gap is exploitable still needs a human reading the circuit’s intent.
  • It analyses the constraint system’s structure — it is a soundness check, not a proof of overall circuit correctness.
  • ZK Studio — inspect and work with the circuit the coverage runs against.
  • ZK Verifier — analyse the on-chain verifier that accepts the circuit’s proofs.