Abstract
Smart contracts are self-executing digital agreements that automatically enforce the terms between parties, playing a crucial role in blockchain systems. However, due to the potential losses of digital assets caused by vulnerabilities, the security issues of Ethereum smart contracts have garnered widespread attention. To address this, researchers have developed various techniques to detect vulnerabilities in smart contracts, with fuzzing techniques achieving promising results. Nonetheless, current fuzzers are unable to effectively exercise suspicious targets because they overlook two key factors: comprehensively exploring all paths to the targets and providing high-quality directed seed inputs. This paper presents a Directed vulnerability veriFier (DFier), which elaborates effective transaction sequences with directed inputs for the fuzzer. This focuses on exploring target paths and automatically validating whether the specified locations are vulnerable. Specifically, DFier employs static analysis to help locate target paths, facilitating their comprehensive exploration. Additionally, we devise three heuristic strategies to enable our fuzzing technique to generate directed inputs that effectively validate the targets. Extensive experiments demonstrate that DFier is effective in verifying contract security, compared with three existing contract fuzzers (i.e., contractFuzzer, sFuzz, and conFuzzius), while the performance losses are in an acceptable range.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have