Return
DEPFUzz: Efficient Smart Contract Fuzzing with Function Dependence Guidance
DOI:10.1145/3763185.png)
Abstract
En 中文
Fuzzing is an effective technique to detect vulnerabilities in smart contracts. The challenge of smart contract fuzzing lies in the statefulness of contracts, which indicates that certain vulnerabilities can only be manifested in specific contract states. State-of-the-art fuzzers may generate and execute a plethora of meaningless or redundant transaction sequences during fuzzing, incurring a penalty in efficiency. To this end, we present DEPFuzz, a hybrid fuzzer for efficient smart contract fuzzing, which introduces a symbolic execution module into the feedback-based fuzzer. Guided by the distance-based function dependencies between functions, DEPFuzz can efficiently yield meaningful transaction sequences that contribute to vulnerability exposure or code coverage. The experiments on 286 benchmark smart contracts and 500 large real-world smart contracts corroborate that, compared to state-of-the-art approaches, DEPFuzz achieves higher instruction coverage rate and uncovers many more vulnerabilities with less time.
Keywords:
Ethereum
smart contract
fuzzing
symbolic execution
vulnerability detection
Journal
P
IF:
2.8
Papers:
308
Citations:
4.7K

