Skip to content
Preprint

Lie to Me: Finding Bugs in ZK DSL Toolchains with Adversarial Witness Injection

Aug 2026 · 0 citations · 37 references
Computer Science

TL;DR

Liezz is presented, a testing framework that generates ZK DSL programs and exposes bugs through adversarial witness injection, showing that adversarial witness injection reaches failures missed by valid-execution testing.

Abstract

Zero-knowledge domain-specific language (ZK DSL) toolchains compile programs into constraint systems and generate witnesses for cryptographic proofs. Bugs in these toolchains can leave the enforced constraints weaker than the source-program semantics, admitting proofs for invalid executions. Such soundness bugs may remain invisible to valid-execution testing because all valid executions still behave correctly. We present Liezz, a testing framework that generates ZK DSL programs and exposes these bugs through adversarial witness injection. For each generated deterministic program, Liezz executes two public input assignments with different outputs and splices their witnesses, combining the input of one execution with the output of the other. The resulting witness is invalid by construction. A correct toolchain must reject it; acceptance exposes a soundness bug. Controlled divergence and multiple witness-splicing strategies preserve enough consistency to expose missing constraints. Liezz also generates parameterized standard-library calls to reach complex functionality. Liezz supports Circom, Corset, Gnark, and Noir. It finds 13 bugs, including seven with soundness impact. Several are reachable only through generated standard-library calls. Under the same testing budget, a valid-execution baseline does not expose any of the soundness failures revealed by accepted injected witnesses, showing that adversarial witness injection reaches failures missed by valid-execution testing.

View source

Similar papers

Book Open access Oct 2026

Trace-Driven Automated PoC Synthesis for On-Chain Attacks

Blockchain systems are increasingly targeted by on-chain attacks that exploit vulnerabilities in smart contracts, resulting in billions of dollars in losses. Understanding and reproducing these attacks is critical for defense, yet currently relies on manually crafting proofs-of-concept (PoCs), which is labor-intensive,...

Xing Su, Hao Wu, Han-Zhong Liang et al. · 0 citations
Preprint Sep 2026

SWE-Proof: Can Language Models Resolve Real-World Issues with Machine-Checked Proofs?

This work presents Benchproofer, a pipeline that turns a coding task with a known correct patch into a formally verified one, which writes a specification for the new code, summarizes the existing functions that code calls with axioms, and admits an instance only after mechanical and adversarial gates agree.

George Ma, Benjamin Mikek, Hao-Yu Li et al. · 1 citation
Preprint Oct 2026

Verifying deployed bytecode against executable EVM semantics, with exact gas and no added axioms

Much of Ethereum's most consequential code is immutable bytecode: old output of unverified compilers, and protocol logic run as contract code. We show that such bytecode can be verified as it is, without trusting what produced it, without simplifying the machine it runs on, and with no axioms beyond Lean's own. Blanc,...

Seulkee Baek · 0 citations
Preprint Oct 2026

ToFu: Exploiting and Fuzzing the LLM-Orchestrator-Tool Trust Boundary

Large language models (LLMs) are increasingly deployed as agents that interact with external software through tools, with an orchestration layer translating model outputs into structured tool invocations. This architecture creates an LLM-orchestrator-tool trust boundary where tool semantics may go unenforced and LLM-ge...

Md. Nazmul Islam Ananto, Pierre Prevost-Avenel, Colin Smith et al. · 0 citations
Preprint Aug 2026

When Verified Source Becomes Attack Input: Defending Smart Contracts Against LLM-Based Vulnerability Scanning

DeLLMGuard is proposed, a smart contract deployment framework that defends against malicious LLM-based vulnerability scanning while preserving public source disclosure and authorized auditing and outperforms the closed-source bytecode baseline on the primary non-proxy set.

Ming-Yuan Huang, Zimo Ji, Yifan Mo et al. · 0 citations
Preprint Oct 2026

StateSync-GKR: Machine-Checking the Trust Chain from Sparse-Merkle State Transitions to GKR Verification

GKR soundness bounds false output claims about arithmetic circuits, but an application also needs assurance that its circuit encodes the intended state transition. We machine-check this connection for sparse-Merkle membership, non-membership, and update in Isabelle/HOL. A compiler model relates circuit acceptance to tr...

Jinwoo Kim · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.