ZK/SEC Research notes from zkSecurity
All posts
zkbugs · Part 2 of 2

Introducing bugs.zksecurity.xyz a knowledge base for ZK bugs

zkbugs website

We are excited to announce the launch of bugs.zksecurity.xyz, a website dedicated to documenting and analyzing past vulnerabilities in ZK circuits. This website serves as an open repository where developers, researchers, and security professionals can explore past security issues, reproduce known vulnerabilities, and contribute to improve this knowledgebase.

On the website and the zkbugs repo, you will find:

  • A Catalog of ZK Bugs: A growing dataset of known vulnerabilities in ZK circuits, each documented with descriptions, root causes, and potential mitigations.
  • Bug Reproduction Reports: A collection of bugs we have successfully reproduced, with accompanying scripts.
  • Security Tools List: A list of available security tools for different ZK DSLs.
  • Tool Evaluations: Results from our assessments of different security tools against reproduced bugs, providing insights into their strengths and weaknesses.
  • Contribution Guidelines: Instructions on how you can participate in expanding the dataset, reproducing bugs, or improving the website.

Expanding the zkBugs Dataset

In our previous blog posts, we introduced the zkBugs repository -- a comprehensive collection of known vulnerabilities in ZK circuits -- and discussed the state of security tools for ZKPs. Today, we're excited to share significant updates to the zkBugs dataset and our ongoing efforts to build a thorough and updated knowledge base.

We have expanded the zkBugs dataset to include a total of 89 documented bugs, providing a broader spectrum of vulnerabilities for study and analysis. Out of these, we have successfully reproduced 22 vulnerabilities. Each reproduced bug is accompanied by comprehensive, end-to-end scripts that demonstrate the exploit.

Evaluating Security Tools

Further, we have evaluated two prominent tools -- Circomspect and Picus -- against the 22 reproduced bugs. The evaluation results are available in the zkBugs repository:

  • Circomspect: A static analysis tool designed to detect underconstrained vulnerabilities in Circom circuits. Our evaluation provides insights into its effectiveness and areas for improvement.
  • Picus: A formal verification tool that uses symbolic execution to identify potential flaws in Circom circuits. The assessment highlights its strengths in ensuring circuit correctness but also demonstrates potential scalability concerns.

Future Directions

Our journey doesn't end here. We plan to continue reproducing additional bugs and enriching the dataset with new findings. By expanding the repository, we aim to create a more comprehensive resource that reflects the evolving landscape of ZK vulnerabilities.

Call for Contributions

We believe that collaborative efforts are key to enhancing the security of ZK applications. We warmly welcome contributions from the community in various forms:

  • Adding New Bugs: If you're aware of vulnerabilities not yet included in our dataset, please consider contributing by adding them.
  • Reproducing Bugs: Assist in reproducing documented bugs to provide deeper insights and validation.
  • Tool Evaluation Scripts: Develop scripts to evaluate additional tools against the vulnerabilities in our dataset.
  • Website Improvements: Enhance the functionality and user experience of our website to make information more accessible.
  • Issue Reporting: Open issues for bugs you'd like to see included or reproduced, or suggest improvements to our existing resources.

Your contributions are invaluable in building a robust knowledge base that benefits the entire community.

Looking Ahead

We envision the zkBugs repository as more than just a collection of vulnerabilities. Our goal is to establish a knowledge base that serves both educational and research purposes, helping individuals learn from past vulnerabilities and fostering advancements in the field. As the ZK ecosystem continues to grow, we aim to develop a community-driven advisory platform that will provide notifications for critical bugs in the most important projects and libraries of the space.

Stay tuned for more updates, and we look forward to your active participation.

Acknowledgements

This project has been partially funded by the EF with support from Aztec, Polygon, Scroll, Taiko, and zkSync.

Keep reading
Recommended

Reproducing and Exploiting ZK Circuit Vulnerabilities

Check out our latest blog post where we dive into the world of Zero-Knowledge Proof (ZKP) vulnerabilities, sharing our insights from replicating known ZK circuit weaknesses. We’ve launched a GitHub repo with detailed scripts to help you understand, reproduce, and learn from these vulnerabilities. Discover how this hands-on approach aids in grasping attack vectors, testing fixes, and enriching educational resources. Whether you're a researcher or a developer, this post is packed with info to enhance your knowledge and skills in ZKP security. Plus, find out how you can contribute to expanding this invaluable resource!

Stefanos Chaliasos, Chenyang Yu · August 09, 2024

zkSecurity took part in judging the latest zkHack Montreal

We recently had the thrill of judging the latest zkHack competition in Montreal, where developers, researchers, and enthusiasts dove into the world of zero-knowledge proofs and privacy tech. The projects were incredibly innovative, featuring creative applications like ZK breathalyzers and ZK & GPS solutions. Check out the exciting results and insights from this year's event. You won't want to miss what these brilliant minds are bringing to the table!

ZK/SEC · September 02, 2024

zkao: Security That Compounds

Today we're launching zkao, a product by zkSecurity that makes AI security research work the way fuzzing works: not as a one-shot event, but as something you run continuously until coverage compounds.

ZK/SEC · February 07, 2026
More to explore

zkSecurity partners with ZPrize to make you win hundreds of thousands of dollars!

We're gearing up for this year's ZPrize competition, where we'll be hosting the High Throughput Signature Verification category. This challenge is all about creating the most efficient signature verification circuit using Aleo's Varuna proof system. Participants will work with ECDSA on the Bitcoin and Ethereum curve and the Ethereum hash function, keccak256. It's a great chance to dive into some of the hottest problems in arithmetic circuits and optimize cryptographic algorithms. If you're curious about pushing the boundaries in ZK, join us and share your feedback on our prize specification through our Discord channel.

ZK/SEC · August 27, 2023

The zero-knowledge attack of the year might just have happened, or how Nova got broken

Last week, a surprising paper revealed a major vulnerability in Microsoft's Nova, a leading zero-knowledge proof (ZKP) system, that showcased a false computation with a valid proof. This discovery is especially intriguing given the complexity and robustness typically associated with ZKP systems. We had just launched our company to tackle bugs in ZKP frameworks, and while we anticipated issues, complete breakdowns of systems themselves are rare. Nova's issue revolved around cycles of elliptic curves, showing how small implementation oversights in complex cryptographic systems can lead to significant errors. This post dives into the intricate mechanics of Nova and the discovery process, offering a fascinating glimpse into why rigorous specifications are crucial in cryptography.

David Wong · July 02, 2023

A Year of ZK Security

A year after launching, we've grown and evolved alongside the world of zero-knowledge proofs, uncovering bugs and learning the ins and outs of ZK technology. From circuit audits to developing our own tools like Circomscribe, it’s been a wild ride. We've discovered how easy it is to misstep with ZK code, especially as these systems grow complex and impact financial security. As zkVMs gain popularity, we're excited about the challenges ahead and are expanding our expertise. Want to dive into the world of ZK with us? Check out our latest projects and even take on our zkBank challenge!

David Wong · May 30, 2024