该论文关注 The Open Network (TON) 区块链上的智能合约安全。TON 峰值市值超过 200 亿美元,已有超过 1.75 亿个激活链上地址,其合约由 TVM(TON 虚拟机)执行。TVM 的一大特点是使用一等续体(first-class continuation)配合 savelist 来管理控制流与寄存器状态:savelist 会捕获寄存器,使得数据可以跨续体边界流动而无需经过操作数栈。这导致传统的字节码级分析无法构建完整的数据流跟踪,除非显式建模 savelist 语义。作者提出 TasmScan,据称是首个面向 TVM 的字节码级静态分析框架,能够在不依赖源码的情况下进行跨续体数据流推理。其核心方法包括:通过前向寄存器分析建模 savelist 语义,对精确解析的 save 站点和本地跟踪的寄存器定义给出形式化过近似保证;随后将字节码提升为类型化中间表示 TASIR,并在其上执行路径敏感的污点分析,配合上下文感知的污点源来检测缺陷。评估使用来自 TON verifier registry 的 2921 个合约,以及一个由 208 个合约组成、带人工确认 ground truth 的标注基准。在全量语料上,TasmScan 解析了 294,546 个动态续体目标,精度达 100%;消融实验证实 savelist 传播对于解析依赖跨续体寄存器传递的间接寄存器调用不可或缺。在标注基准上,TasmScan 对五类缺陷的检出率为 95.3%,精度 96.8%;从全量语料中分层抽取 366 对样本估计整体精度为 85.8%。性能上,相较当前最优的符号执行基线取得 17 倍中位加速,且在路径分析对比中 100% 完成分析,无崩溃、无超时。
💡 推荐理由: TVM 的续体与 savelist 语义使常规字节码污点分析出现盲区,可能漏报跨续体的数据流型缺陷。TasmScan 提供了无需源码、可批量运行的检测思路与实测数据,对 TON 合约审计与链上安全监控有直接参考价值。
🎯 建议动作: 研究跟进