中文

Satellite:检测与分析智能合约因子合约滥用导致的漏洞

软件工程 2025-09-30 v1

摘要

智能合约开发者普遍复用子合约以提升开发效率。类似于任何程序语言,子合约的复用可能意外包含或引入漏洞到最终智能合约中。然而,自动检测此类问题面临诸多独特挑战。特别是,在大多数情况下,智能合约被编译为字节码,其类级信息(如继承、虚函数表)甚至语义(如控制流和数据流)在编译后均作为单个智能合约被完全遮蔽。 本文提出了 Satellite,一个用于检测子合约滥用漏洞(SMV)的字节码级静态分析框架。 Satellite 包含一系列新颖设计以提升整体效能。特别地,Satellite 采用迁移学习方法恢复继承方法,这些方法是识别智能合约中子合约复用的关键。进一步,Satellite 提取一组细粒度的方法级特征并进行方法级比较,以识别智能合约中子合约的复用部分。最后,Satellite 根据漏洞类型总结一组 SMV 指标,从而有效识别 SMV。 为评估 Satellite,我们构建了一个由 58 个来自真实攻击的 SMV 组成的数据集,并从 SOTA 研究中收集额外的 56 种 SMV 模式。实验结果表明,Satellite 在识别 SMV 时表现良好,精确率为 84.68%,召回率为 92.11%。此外,Satellite 成功识别了 14 个新/未知的 SMV,涉及超过 10,011 个真实世界智能合约,影响总资产价值达 201,358 美元。

关键词

引用

@article{arxiv.2509.23679,
  title  = {Satellite: Detecting and Analyzing Smart Contract Vulnerabilities caused by Subcontract Misuse},
  author = {Zeqin Liao and Yuhong Nan and Zixu Gao and Henglong Liang and Sicheng Hao and Jiajing Wu and Zibin Zheng},
  journal= {arXiv preprint arXiv:2509.23679},
  year   = {2025}
}

备注

This is the author version of the article accepted for publication in IEEE Transactions on Software Engineering. The final version is available at 10.1109/TSE.2025.3613470