paperbot · PL 论文追踪

全部论文 待读 收藏

P2 How effective are smart contract analysis tools? evaluating smart contract static analysis tools using bug injection

智能合约分析工具有多有效?使用缺陷注入评估智能合约静态分析工具
ISSTA Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis2020匹配度 3/10 · 论文关注智能合约静态分析工具的系统化评估与缺陷注入,属于程序分析/静态分析评测工作,但其核心并非 PL 与 AI/LLM/Agent 的交叉,也不涉及浮点或贝叶斯程序分析。虽然其问题驱动和基准评估思想对静态分析评测有参考价值,但与用户当前主攻方向仅有边缘关联。引用 207 inbox
Asem Ghaleb, Karthik Pattabiraman
crossref: 2026-09-12

AI 速览

一句话:提出 SolidiFI,通过自动缺陷注入系统评估智能合约静态分析工具,揭示漏报与误报。

针对智能合约安全漏洞频发且缺乏系统评估静态分析工具的问题,本文提出 SolidiFI——一种自动化、系统化的评估方法。SolidiFI 在智能合约所有可能位置注入缺陷,引入目标安全漏洞,再用待评估工具分析生成的有缺陷合约,从而识别工具无法检测的漏报以及误报。作者使用 50 个合约、9369 个不同缺陷,评估 Oyente、Securify、Mythril、SmartCheck、Manticore 和 Slither 六个广泛使用的工具。结果显示,这些工具漏检了许多声称可检测的漏洞,并报告大量误报。

问题
现有智能合约静态分析工具众多,但缺乏系统方法评估其检测效果,开发者难以判断其可靠性。
方法
提出 SolidiFI,通过向智能合约所有潜在位置注入缺陷来制造目标安全漏洞,并用静态分析工具检测注入后的合约,识别漏报和误报。
评估
用 50 个合约和 9369 个不同注入缺陷评估六种广泛使用的工具,发现大量漏检与误报。
原文摘要(Abstract)

Security attacks targeting smart contracts have been on the rise, which have led to financial loss and erosion of trust. Therefore, it is important to enable developers to discover security vulnerabilities in smart contracts before deployment. A number of static analysis tools have been developed for finding security bugs in smart contracts. However, despite the numerous bug-finding tools, there is no systematic approach to evaluate the proposed tools and gauge their effectiveness. This paper proposes SolidiFI, an automated and systematic approach for evaluating smart contracts’ static analysis tools. SolidiFI is based on injecting bugs (i.e., code defects) into all potential locations in a smart contract to introduce targeted security vulnerabilities. SolidiFI then checks the generated buggy contract using the static analysis tools, and identifies the bugs that the tools are unable to detect (false-negatives) along with identifying the bugs reported as false-positives. SolidiFI is used to evaluate six widely-used static analysis tools, namely, Oyente, Securify, Mythril, SmartCheck, Manticore and Slither, using a set of 50 contracts injected by 9369 distinct bugs. It finds several instances of bugs that are not detected by the evaluated tools despite their claims of being able to detect such bugs, and all the tools report many false positives.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot6037,
  title = {How effective are smart contract analysis tools? evaluating smart contract static analysis tools using bug injection},
  author = {Asem Ghaleb and Karthik Pattabiraman},
  booktitle = {ISSTA},
  year = {2020},
  doi = {10.1145/3395363.3397385}
}