paperbot · PL 论文追踪

全部论文 待读 收藏

P2 EVMFuzzer: detect EVM vulnerabilities via fuzz testing

EVMFuzzer:通过模糊测试检测 EVM 漏洞
FSE Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2019匹配度 2/10 · 该论文属于程序分析与安全测试领域,但核心方法是差分模糊测试而非静态分析,且不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户研究方向的核心交叉点不匹配。引用 76 inbox
Ying Fu, Meng Ren, Fuchen Ma, Heyuan Shi, Xin Yang, Yu Jiang, Huizhong Li, Xiang Shi
crossref: 2026-09-12

AI 速览

一句话:提出首个差分模糊测试工具,自动发现 EVM 实现中的安全漏洞。

智能合约依赖以太坊虚拟机(EVM)运行,其漏洞会危害以太坊生态,但 EVM 测试因特殊输入格式和缺乏测试预言而困难。本文提出 EVMFuzzer,首个使用差分模糊测试检测 EVM 漏洞的工具。它通过预定义变异器持续生成种子合约,将其输入目标 EVM 与基准 EVM,并利用动态优先级调度算法选择种子以最大化执行结果的不一致性;最终以多个基准 EVM 作为交叉引用预言,自动判定漏洞。作者在四个广泛使用的 EVM 中发现若干此前未知的安全缺陷,其中 5 个被纳入美国国家漏洞数据库的 CVE 编号。

问题
EVM 是智能合约的运行时环境,其漏洞可能严重危害以太坊生态,但特殊输入格式与缺少测试预言使 EVM 测试十分困难。
方法
EVMFuzzer 采用差分模糊测试:用预定义变异器生成种子合约,以动态优先级调度算法选取种子,投喂目标 EVM 和基准 EVM,并用基准 EVM 作为交叉引用预言自动发现不一致与漏洞。
评估
作者在四个广泛使用的 EVM 上开展实验,发现多个此前未知的安全缺陷,其中 5 个获得美国国家漏洞数据库的 CVE 编号。
原文摘要(Abstract)

Ethereum Virtual Machine (EVM) is the run-time environment for smart contracts and its vulnerabilities may lead to serious problems to the Ethereum ecology. With lots of techniques being continuously developed for the validation of smart contracts, the testing of EVM remains challenging because of the special test input format and the absence of oracles. In this paper, we propose EVMFuzzer, the first tool that uses differential fuzzing technique to detect vulnerabilities of EVM. The core idea is to continuously generate seed contracts and feed them to the target EVM and the benchmark EVMs, so as to find as many inconsistencies among execution results as possible, eventually discover vulnerabilities with output cross-referencing. Given a target EVM and its APIs, EVMFuzzer generates seed contracts via a set of predefined mutators, and then employs dynamic priority scheduling algorithm to guide seed contracts selection and maximize the inconsistency. Finally, EVMFuzzer leverages benchmark EVMs as cross-referencing oracles to avoid manual checking. With EVMFuzzer, we have found several previously unknown security bugs in four widely used EVMs, and 5 of which had been included in Common Vulnerabilities and Exposures (CVE) IDs in U.S. National Vulnerability Database. The video is presented at https://youtu.be/9Lejgf2GSOk.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5145,
  title = {EVMFuzzer: detect EVM vulnerabilities via fuzz testing},
  author = {Ying Fu and Meng Ren and Fuchen Ma and Heyuan Shi and Xin Yang and Yu Jiang and Huizhong Li and Xiang Shi},
  booktitle = {FSE},
  year = {2019},
  doi = {10.1145/3338906.3341175}
}