ItyFuzz: Snapshot-Based Fuzzer for Smart Contract
Chaofan Shou, Shangyin Tan, Koushik Sen

TL;DR
ItyFuzz is a snapshot-based smart contract fuzzer that efficiently explores blockchain states, quickly finds vulnerabilities, and enables on-chain testing, outperforming existing fuzzers in coverage and exploit generation.
Contribution
It introduces a novel snapshot-based approach with dataflow and comparison waypoints for effective smart contract fuzzing and on-chain vulnerability detection.
Findings
Outperforms existing fuzzers in coverage.
Rapidly finds and generates realistic exploits.
Effective on real-world and hacked DeFi contracts.
Abstract
Smart contracts are critical financial instruments, and their security is of utmost importance. However, smart contract programs are difficult to fuzz due to the persistent blockchain state behind all transactions. Mutating sequences of transactions are complex and often lead to a suboptimal exploration for both input and program spaces. In this paper, we introduce a novel snapshot-based fuzzer ItyFuzz for testing smart contracts. In ItyFuzz, instead of storing sequences of transactions and mutating from them, we snapshot states and singleton transactions. To explore interesting states, ItyFuzz introduces a dataflow waypoint mechanism to identify states with more potential momentum. ItyFuzz also incorporates comparison waypoints to prune the space of states. By maintaining snapshots of the states, ItyFuzz can synthesize concrete exploits like reentrancy attacks quickly. Because ItyFuzz…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdversarial Robustness in Machine Learning · Security and Verification in Computing · Advanced Malware Detection Techniques
