中文

NumScout:利用 LLM 剪枝符号执行揭示智能合约中的数值缺陷

软件工程 2025-03-14 v1

摘要

近年来,以太坊平台见证了智能合约的激增,同时总锁定价值(TVL)呈指数增长。高 TVL 智能合约通常需要复杂的数值计算,特别是在许多去中心化应用(DApps)中使用的数学金融模型中。不当计算可能引入数值缺陷,带来潜在的安全风险。现有研究主要关注整数溢出等传统数值缺陷,目前缺乏针对新型数值缺陷的系统研究和有效检测方法。在本文中,我们通过利用开放卡片方法分析 1,199 份审计报告,识别出五种新型数值缺陷。每种缺陷都通过代码示例进行定义和说明,以突出其特征和潜在后果。我们还提出了 NumScout,一个基于符号执行的工具,旨在检测这五种缺陷。具体而言,该工具结合了源代码和字节码的信息,分析比较和传输等关键操作,以有效定位缺陷并根据预定义的检测模式进行报告。此外,NumScout 使用大语言模型(LLM)来剪枝与数值操作无关的函数。这一步骤使符号执行能够快速进入目标函数,并将运行速度提高 28.4%。我们在 6,617 个真实合约上运行 NumScout,并根据人工标注结果评估其性能。我们发现 1,774 个合约包含五种缺陷中的至少一种,该工具实现了 89.7% 的整体精确度。

关键词

引用

@article{arxiv.2503.10041,
  title  = {NumScout: Unveiling Numerical Defects in Smart Contracts using LLM-Pruning Symbolic Execution},
  author = {Jiachi Chen and Zhenzhe Shao and Shuo Yang and Yiming Shen and Yanlin Wang and Ting Chen and Zhenyu Shan and Zibin Zheng},
  journal= {arXiv preprint arXiv:2503.10041},
  year   = {2025}
}