Paper 2023/190
Practical Security Analysis of Zero-Knowledge Proof Circuits
Abstract
As privacy-sensitive applications based on zero-knowledge proofs (ZKPs) gain increasing traction, there is a pressing need to detect vulnerabilities in ZKP circuits. This paper studies common vulnerabilities in Circom (the most popular domain-specific language for ZKP circuits) and describes a static analysis framework for detecting these vulnerabilities. Our technique operates over an abstraction called the circuit dependence graph (CDG) that captures key properties of the circuit and allows expressing semantic vulnerability patterns as queries over the CDG abstraction. We have implemented 9 different detectors using this framework and perform an experimental evaluation on over 258 circuits from popular Circom projects on Github. According to our evaluation, these detectors can identify vulnerabilities, including previously unknown ones, with high precision and recall.
Note: The accepted version of USENIX Security '24
Metadata
- Available format(s)
- Category
- Implementation
- Publication info
- Published elsewhere. Minor revision. USENIX Security '24
- Keywords
- Security AnalysisZero-Knowledge Proof CircuitsVulnerability Detection
- Contact author(s)
-
hongbowen @ ucsb edu
jon @ cs utexas edu
yanju @ cs ucsb edu
kostas @ veridise com
spailoor @ cs utexas edu
kylecharbonnet @ gmail com
isil @ cs utexas edu
yufeng @ cs ucsb edu - History
- 2023-08-28: last of 3 revisions
- 2023-02-13: received
- See all versions
- Short URL
- https://ia.cr/2023/190
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2023/190, author = {Hongbo Wen and Jon Stephens and Yanju Chen and Kostas Ferles and Shankara Pailoor and Kyle Charbonnet and Isil Dillig and Yu Feng}, title = {Practical Security Analysis of Zero-Knowledge Proof Circuits}, howpublished = {Cryptology {ePrint} Archive, Paper 2023/190}, year = {2023}, url = {https://eprint.iacr.org/2023/190} }