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

Private delegated computation is here, and there will be bugs!

Dive into the intriguing world of zero-knowledge cryptography with us as we unravel its connection to trusted and confidential computing. Learn why this tech is making us rethink security like never before. From the evolution of private and delegated computing to the revolutionary power of zero-knowledge proofs, we'll explore how these advancements are shaping industries beyond cryptocurrencies. With big players like Microsoft jumping on board and the potential for new applications, zero-knowledge cryptography is poised to redefine digital trust. Join us on this journey as we launch our new security consultancy, designed to navigate and secure this cutting-edge landscape.

ZK/SEC · May 30, 2023

noname meets Ethereum: Integration with SnarkJS

We're excited to share that our programming language, noname, now supports R1CS, making it easier to write zero-knowledge (ZK) circuits and deploy them on Ethereum using SnarkJS. This update introduces an alternative to the common Circom language, with a simple and intuitive syntax inspired by Rust and Golang. In this post, we illustrate how to deploy a noname-based Sudoku circuit on Ethereum, demonstrating core benefits like proving a solution's correctness without revealing it. Dive in to explore how noname could potentially unify the fragmented zkSNARK ecosystem and simplify your circuit writing process!

Katat Choi · June 01, 2024

Exploring Leo: A Primer on Aleo Program Security

In this blog post, we dive into Aleo, a blockchain platform that leverages zero-knowledge cryptography for creating private and scalable decentralized applications. You'll discover how Leo, its Rust-like programming language, simplifies app development by allowing developers to focus on robust privacy features without delving deep into cryptographic complexities. We also explore Leo's unique design, offering practical tips on avoiding common pitfalls and potential vulnerabilities like underflows and unauthorized access. Whether you're a developer curious about building privacy-focused solutions or just intrigued by blockchain innovation, you'll find valuable insights here.

Suneal Gong · August 07, 2024