
CertiK identified two soundness bugs in zkWasm. The first one, found during Stage 1 manual review, was a missing constraint on a Load instruction from memory. The second one that was uncovered via formal verification in Stage 2, involved the Return instruction, which could enable unintended control flow by adding fake returns due to missing constraints. Both soundness vulnerabilities could allow malicious provers to generate invalid proofs to bypass verifier’s validity checks.
CertiK is a trusted audit partner for zero-knowledge protocol projects, backed by deep expertise in formal verification and applied cryptography. Our audit process combines rigorous manual code reviews by domain experts with custom formal verification to ensure both the correctness of the prover’s zero-knowledge proof generation and the integrity of the verifier's validation logic, as demonstrated in our work zkWasm. This hybrid approach allows us to uncover subtle soundness vulnerabilities and logic flaws that manual review alone often misses, providing a higher level of assurance for your zero-knowledge cryptographic systems.