Empirical Review of Automated Analysis Tools on 47,587 Ethereum Smart Contracts
arXiv:1910.10601 · doi:10.1145/3377811.3380364
Abstract
Over the last few years, there has been substantial research on automated analysis, testing, and debugging of Ethereum smart contracts. However, it is not trivial to compare and reproduce that research. To address this, we present an empirical evaluation of 9 state-of-the-art automated analysis tools using two new datasets: i) a dataset of 69 annotated vulnerable smart contracts that can be used to evaluate the precision of analysis tools; and ii) a dataset with all the smart contracts in the Ethereum Blockchain that have Solidity source code available on Etherscan (a total of 47,518 contracts). The datasets are part of SmartBugs, a new extendable execution framework that we created to facilitate the integration and comparison between multiple analysis tools and the analysis of Ethereum smart contracts. We used SmartBugs to execute the 9 automated analysis tools on the two datasets. In total, we ran 428,337 analyses that took approximately 564 days and 3 hours, being the largest experimental setup to date both in the number of tools and in execution time. We found that only 42% of the vulnerabilities from our annotated dataset are detected by all the tools, with the tool Mythril having the higher accuracy (27%). When considering the largest dataset, we observed that 97% of contracts are tagged as vulnerable, thus suggesting a considerable number of false positives. Indeed, only a small number of vulnerabilities (and of only two categories) were detected simultaneously by four or more tools.
References in corpus (1)
Cited by in corpus (21)
- When ChatGPT Meets Smart Contract Vulnerability Detection: How Far Are We?
- Smart Contract and DeFi Security Tools: Do They Meet the Needs of Practitioners?
- DAppSCAN: Building Large-Scale Datasets for Smart Contract Weaknesses in DApp Projects
- Static Application Security Testing (SAST) Tools for Smart Contracts: How Far Are We?
- Combatting Front-Running in Smart Contracts: Attack Mining, Benchmark Construction and Vulnerability Detector Evaluation
- SmartBugs: A Framework to Analyze Solidity Smart Contracts
- OpenSCV: An Open Hierarchical Taxonomy for Smart Contract Vulnerabilities
- SmartState: Detecting State-Reverting Vulnerabilities in Smart Contracts via Fine-Grained State-Dependency Analysis
- ÐArcher: Detecting On-Chain-Off-Chain Synchronization Bugs in Decentralized Applications
- A Survey of Smart Contract Formal Specification and Verification
- A Survey of Security Vulnerabilities in Ethereum Smart Contracts
- A Comprehensive Study on Quality Assurance Tools for Java
- Identifying Smart Contract Security Issues in Code Snippets from Stack Overflow
- Do Automated Fixes Truly Mitigate Smart Contract Exploits?
- Abstract interpretation of Michelson smart-contracts
- StateGuard: Detecting State Derailment Defects in Decentralized Exchange Smart Contract
- Bridging the Gap: A Comparative Study of Academic and Developer Approaches to Smart Contract Vulnerabilities
- Unveiling the Landscape of Smart Contract Vulnerabilities: A Detailed Examination and Codification of Vulnerabilities in Prominent Blockchains
- A Framework and DataSet for Bugs in Ethereum Smart Contracts
- An empirical analysis of vulnerability detection tools for solidity smart contracts
- An Empirical Study of Protocols in Smart Contracts