ReCon: Faster Smart Contract Vulnerability Detection by Reusable Symbolic Execution Tree
摘要
Smart contracts are being applied widely in several fields. Meanwhile, attacks against smart contracts have been occurring constantly, causing serious financial loss, which reflects the importance of research on smart contract vulnerability detection. Currently, academics and industry have proposed several vulnerability detection tools based on symbolic execution. However, once a new vulnerability pattern is found, previous tools need to repeatedly do path exploration on the same contracts to detect the new bug, and the redundant exploration costs a lot of time. Hence, the efficiency is limited by such an “explore-and-detect” method. To address this issue, we propose ReCon, a new “explore-then-detect” framework that decouples path exploration and vulnerability detection for smart contracts. ReCon preserves the results of previous symbolic execution and then reuses them to accelerate the detection of new vulnerabilities. Firstly, we propose an extraction method for the symbolic execution tree of smart contracts. Secondly, we propose a vulnerability detection method based on the extracted symbolic trees to detect new bugs. Finally, we evaluate ReCon on two datasets, SmartBugs and Top-10 real-world contracts. The results show that using reusable symbolic trees, ReCon can save 54.9% of time on SmartBugs and 89.6% of time on Top-10 real-world contracts.