FlawCheck: Detecting Smart Contract Vulnerabilities Based on Symbolic Execution

ABSTRACT Smart contracts are turing‐complete computer programs running on blockchains. Like traditional programs, smart contracts are also vulnerable. However, unlike traditional programs, it is very difficult to modify smart contracts once they are deployed on the blockchain. Therefore, reducing potential vulnerabilities in contracts before deployment to the blockchain is very important. The existing smart contract detection tools mostly fail to fully consider the complex control flow relationships within smart contracts, leading to false positives and false negatives. To address these problems, we propose FlawCheck, a vulnerability detection tool based on symbolic execution. First, it compiles smart contract source code into bytecode. Then, it disassembles bytecode into an opcode sequence, building the dependencies of contract control flow. Next, it performs preliminary analysis on the information generated during the simulated execution on the Ethereum virtual machine to identify suspicious vulnerability paths. Finally, it detects these suspicious paths by using symbolic execution. We verified that FlawCheck can detect five types of smart contract vulnerabilities. Experimental results on a dataset of 13016 real contracts shows that FlawCheck has higher accuracy than other tools.

Authors

Institutions

Publication Details

Journal
Security and Privacy
Published
2024-10-28
DOI
https://doi.org/10.1002/spy2.477
Citations
3
Primary Topic
Blockchain Technology Applications and Security
Type
article
Field-Weighted Citation Impact
2.34

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

FlawCheck: Detecting Smart Contract Vulnerabilities Based on Symbolic Execution

Hanfeng Zhang, Xiangfu Zhao, Jiahui Yang, Shiji Wang et al.
3 citations
Security and Privacy
Blockchain Technology Applications and Security
2.34
article

FlawCheck: Detecting Smart Contract Vulnerabilities Based on Symbolic Execution

Hanfeng Zhang, Xiangfu Zhao, Jiahui Yang, Shiji Wang, Naixiang Gou
article en
3 citations

Abstract

ABSTRACT Smart contracts are turing‐complete computer programs running on blockchains. Like traditional programs, smart contracts are also vulnerable. However, unlike traditional programs, it is very difficult to modify smart contracts once they are deployed on the blockchain. Therefore, reducing potential vulnerabilities in contracts before deployment to the blockchain is very important. The existing smart contract detection tools mostly fail to fully consider the complex control flow relationships within smart contracts, leading to false positives and false negatives. To address these problems, we propose FlawCheck, a vulnerability detection tool based on symbolic execution. First, it compiles smart contract source code into bytecode. Then, it disassembles bytecode into an opcode sequence, building the dependencies of contract control flow. Next, it performs preliminary analysis on the information generated during the simulated execution on the Ethereum virtual machine to identify suspicious vulnerability paths. Finally, it detects these suspicious paths by using symbolic execution. We verified that FlawCheck can detect five types of smart contract vulnerabilities. Experimental results on a dataset of 13016 real contracts shows that FlawCheck has higher accuracy than other tools.

Security and PrivacyVol. 8(2)
Yantai University (CN)
National Natural Science Foundation of China, Natural Science Foundation of Shandong Province
Openalex Percentile: Top 9%
Blockchain Technology Applications and Security
2.34
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.