Static Application Security Testing (SAST) Tools for Smart Contracts: How Far Are We?

Type: Article

Publication Date: 2024-07-12

Citations: 0

DOI: https://doi.org/10.1145/3660772

Abstract

In recent years, the importance of smart contract security has been heightened by the increasing number of attacks against them. To address this issue, a multitude of static application security testing (SAST) tools have been proposed for detecting vulnerabilities in smart contracts. However, objectively comparing these tools to determine their effectiveness remains challenging. Existing studies often fall short due to the taxonomies and benchmarks only covering a coarse and potentially outdated set of vulnerability types, which leads to evaluations that are not entirely comprehensive and may display bias. In this paper, we fill this gap by proposing an up-to-date and fine-grained taxonomy that includes 45 unique vulnerability types for smart contracts. Taking it as a baseline, we develop an extensive benchmark that covers 40 distinct types and includes a diverse range of code characteristics, vulnerability patterns, and application scenarios. Based on them, we evaluated 8 SAST tools using this benchmark, which comprises 788 smart contract files and 10,394 vulnerabilities. Our results reveal that the existing SAST tools fail to detect around 50% of vulnerabilities in our benchmark and suffer from high false positives, with precision not surpassing 10%. We also discover that by combining the results of multiple tools, the false negative rate can be reduced effectively, at the expense of flagging 36.77 percentage points more functions. Nevertheless, many vulnerabilities, especially those beyond Access Control and Reentrancy vulnerabilities, remain undetected. We finally highlight the valuable insights from our study, hoping to provide guidance on tool development, enhancement, evaluation, and selection for developers, researchers, and practitioners.

Locations

  • arXiv (Cornell University) - View - PDF
  • Proceedings of the ACM on software engineering. - View

Similar Works

Action Title Year Authors
+ PDF Chat How effective are smart contract analysis tools? evaluating smart contract static analysis tools using bug injection 2020 Asem Ghaleb
Karthik Pattabiraman
+ CONTRACTFIX: A Framework for Automatically Fixing Vulnerabilities in Smart Contracts 2023 Pengcheng Fang
+ PDF Chat Efficiently Detecting Reentrancy Vulnerabilities in Complex Smart Contracts 2024 Zexu Wang
Jiachi Chen
Yanlin Wang
Yu Zhang
Weizhe Zhang
Zibin Zheng
+ PDF Chat Efficiently Detecting Reentrancy Vulnerabilities in Complex Smart Contracts 2024 Zexu Wang
Jiachi Chen
Yanlin Wang
Yu Zhang
Weizhe Zhang
Zibin Zheng
+ AutoMESC: Automatic Framework for Mining and Classifying Ethereum Smart Contract Vulnerabilities and Their Fixes 2022 Majd Soud
Ilham Qasse
Grischa Liebel
Mohammad Hamdaqa
+ PDF Chat AutoMESC: Automatic Framework for Mining and Classifying Ethereum Smart Contract Vulnerabilities and Their Fixes 2023 Majd Soud
Ilham Qasse
Grischa Liebel
Mohammad Hamdaqa
+ Survey on Quality Assurance of Smart Contracts 2023 Zhiyuan Wei
Jing Sun
Zijian Zhang
Xianhao Zhang
Xiaoxuan Yang
Liehuang Zhu
+ PDF Chat Smart Contract Vulnerabilities, Tools, and Benchmarks: An Updated Systematic Literature Review 2024 Gerardo Iuliano
Dario Di Nucci
+ Are We There Yet? Unraveling the State-of-the-Art Smart Contract Fuzzers 2024 Shuohan Wu
Zihao Li
Luyi Yan
Weimin Chen
Muhui Jiang
Chenxu Wang
Xiapu Luo
Hao Zhou
+ PDF Chat Are We There Yet? Unraveling the State-of-the-Art Smart Contract Fuzzers 2024 Shuohan Wu
Zihao Li
Luyi Yan
Weimin Chen
Muhui Jiang
Chenxu Wang
Xiapu Luo
Hao Zhou
+ PDF Chat CrossInspector: A Static Analysis Approach for Cross-Contract Vulnerability Detection 2024 Xiao Chen
+ PDF Chat Unity is Strength: Enhancing Precision in Reentrancy Vulnerability Detection of Smart Contract Analysis Tools 2024 Zexu Wang
Jiachi Chen
Zibin Zheng
Peilin Zheng
Yu Zhang
Weizhe Zhang
+ PDF Chat Characterizing Ethereum Upgradable Smart Contracts and Their Security Implications 2024 Xiaofan Li
Jin Yang
Jiaqi Chen
Yuzhe Tang
Xing Gao
+ PDF Chat Vulseye: Detect Smart Contract Vulnerabilities via Stateful Directed Graybox Fuzzing 2024 Ruichao Liang
Jing Chen
Cong Wu
Kun He
Yueming Wu
Ruochen Cao
Ruiying Du
Yang Liu
Ziming Zhao
+ Security Threat Mitigation for Smart Contracts: A Comprehensive Survey 2023 Nikolay Ivanov
Chenning Li
Qiben Yan
Zhiyuan Sun
Zhichao Cao
Xiapu Luo
+ Elysium: Context-Aware Bytecode-Level Patching to Automatically Heal Vulnerable Smart Contracts 2021 Christof Ferreira Torres
Hugo Jonker
Radu State
+ Bug Searching in Smart Contract 2019 Xiaotao Feng
Qin Wang
Xiaogang Zhu
Sheng Wen
+ Metamorphic Testing for Smart Contract Vulnerabilities Detection 2023 Jiahao Li
+ PDF Chat ÆGIS: Shielding Vulnerable Smart Contracts Against Attacks 2020 Christof Ferreira Torres
Mathis Baden
Robert Norvill
Beltrán Borja Fiz Pontiveros
Hugo Jonker
Sjouke Mauw
+ Security Defense For Smart Contracts: A Comprehensive Survey 2023 Nikolay Ivanov
Chenning Li
Zhiyuan Sun
Zhichao Cao
Xiapu Luo
Qiben Yan

Works That Cite This (0)

Action Title Year Authors