ItyFuzz: Snapshot-Based Fuzzer for Smart Contract

06/29/2023
by   Chaofan Shou, et al.
0

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 has second-level response time to test a smart contract, it can be used for on-chain testing, which has many benefits compared to local development testing. Finally, we evaluate ItyFuzz on real-world smart contracts and some hacked on-chain DeFi projects. ItyFuzz outperforms existing fuzzers in terms of instructional coverage and can find and generate realistic exploits for on-chain projects quickly.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/15/2019

Harvey: A Greybox Fuzzer for Smart Contracts

We present Harvey, an industrial greybox fuzzer for smart contracts, whi...
research
04/09/2020

OV: Validity-based Optimistic Smart Contracts

Smart contract (SC) platforms form blocks of transactions into a chain a...
research
08/10/2019

Mutation Testing for Ethereum Smart Contract

Smart contract is a special program that manages digital assets on block...
research
09/27/2019

Gas limit aware mutation testing of smart contracts at scale

The blockchain is a key technology that has been adopted in many applica...
research
11/24/2019

Basis Path Coverage Criteria for Smart Contract Application Testing

The widespread recognition of the smart contracts has established their ...
research
09/23/2019

Suspicious Transactions in Smart Spaces

IoT systems have enabled ubiquitous communication in physical spaces, ma...
research
06/28/2021

Training Massive Deep Neural Networks in a Smart Contract: A New Hope

Deep neural networks (DNNs) could be very useful in blockchain applicati...

Please sign up or login with your details

Forgot password? Click here to reset