← 最新论文
💻 computer science

No More Hidden Pitfalls? Exposing Smart Contract Bad Practices with LLM-Powered Hybrid Analysis

本文介绍了 SCALM,这是首个由大语言模型驱动的混合框架,它通过结合上下文感知的函数级切片与知识增强的语义推理,系统地检测超过 47 种智能合约不良实践,并展示了优于现有工具的卓越性能。

原作者: Xiaoqi Li, Zongwei Li, Wenkai Li, Yuqing Zhang, Xin Wang

发布于 2026-02-03
📖 1 分钟阅读☕ 轻松阅读

原作者: Xiaoqi Li, Zongwei Li, Wenkai Li, Yuqing Zhang, Xin Wang

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你正在一个公开、不可更改的区块链上构建一个数字保险库。一旦你锁上了门,你就无法回头去修复错误。这就是智能合约(Smart Contract):一段在区块链上自动运行的代码。

问题在于,即使代码本身没有让小偷窃取资金的“漏洞”(安全漏洞),它也可能因为存在不良习惯而构建得并不理想。也许指令很混乱,设计很复杂,或者效率很低下。这些“不良实践”就像是用胶带而不是焊接来固定一座桥梁。它现在可能还能撑住,但风险很大,以后很难修复,且可能在压力之下坍塌。

这篇论文介绍了一个名为 SCALM(智能合约审计语言模型)的新工具,旨在这些坏习惯造成麻烦之前发现它们。以下是其工作原理的简单解释:

1. 问题所在:为什么旧工具会失败

想象一下,你要在一本 1,000 页的书中寻找一个错别字。

  • 人工审查: 你雇佣一个人阅读每一页。这既慢又贵,而且他们可能会因为疲劳而忽略细微的错误。
  • 旧的自动化工具: 你使用一个“查找并替换”工具,寻找像“危险”或“错误”这样的特定词汇。如果坏代码是以一种巧妙的方式编写的,没有使用这些精确的词汇,工具就会完全错过它。

作者指出,目前的工具过于僵化。它们寻找特定的模式,但不理解代码背背后的“故事”或“逻辑”。

2. 解决方案:SCALM(超级编辑)

SCALM 是一个由**大语言模型(LLMs)**驱动的框架——也就是驱动聊天机器人的那种 AI。但 SCALM 不仅仅是聊天,它更像是一个超级聪明、高度警觉的编辑。

它利用两个主要的“超能力”来完成工作:

超能力 A:“上下文感知切片器”(侦探的放大镜)

旧工具通常孤立地查看单行代码。SCALM 则更聪明。

  • 类比: 想象你在读一句话。如果你只读这一句话,你可能无法理解它。但如果你读了前一段、后一段,并了解角色们正在与谁交谈,你就能理解其中的上下文。
  • SCALM 的做法: 它将智能合约切割成“函数切片”。但它不仅仅是切割代码;它还会抓取周围的上下文。它会观察所使用的变量、触发的事件以及代码调用的其他函数。它为它分析的每一段代码都构建了一个完整的“场景”。

超能力 B:“三层推理”(三层楼式的检查)

一旦 SCALM 获取了代码切片,它不会只扫描一次。它会通过一个三步验证过程运行代码,从微小的细节转向宏观的整体:

  1. 第一层:语法(语法检查):
    • 类比: 检查句子在语法上是否正确。
    • 作用: 它寻找基础的编码错误,比如缺失分号或使用了错误的数据类型。
  2. 第二层:设计模式(蓝图检查):
    • 类比: 检查房屋是否按照标准的建筑规则建造。门的位置对吗?电路安全吗?
    • 作用: 它检查代码是否遵循良好的设计习惯(如“检查-效果-交互”原则),或者是否使用了危险的捷径。
  3. 第三层:架构(城市规划检查):
    • 类比: 观察整个社区。这座建筑是否阻碍了交通?它是否与周围的建筑相协调?
    • 作用: 它观察整个合约是如何组合在一起的。是否存在可能陷入死循环的循环?整个系统是否安全?

3. 秘诀:RAG(图书馆卡)

AI 的一个主要问题是它会“幻觉”(编造事实)或忘记特定的规则。

  • 类比: 想象一位律师试图在没有法律图书馆的情况下进行辩护。他可能会猜测法律。现在,想象这位律师拥有一个神奇的图书馆,在开口说话之前,他可以瞬间调出与案件相关的准确法律书页。
  • SCALM 的做法: 它使用检索增强生成(RAG)。在分析代码之前,SCALM 会搜索一个包含已知不良实践的海量数据库(就像一个“犯罪现场”图书馆)。它找到类似的案例并展示给 AI。这有助于 AI 基于事实而非猜测来进行推理。

4. 结果:它奏效了吗?

作者将 SCALM 与以下对象进行了对比测试:

  • 旧的自动化工具(如 Mythril)。
  • 其他 AI 工具(如 GPTLens)。
  • 不同的 AI 模型(如 GPT-4、Claude 和 Llama)。

研究结果:

  • 更高的准确性: SCALM 比旧工具发现了更多的不良实践。在某些测试中,它的准确率接近完美(超过 95%),而其他工具则表现挣扎。
  • 发现了“隐藏”的内容: 它特别擅长发现“质量”问题(混乱的代码、糟糕的设计),而其他工具因为只关注安全攻击而完全忽略了这些问题。
  • AI 模型很重要: 并非所有 AI 模型都是平等的。最新的、最聪明的模型(如 GPT-4o)表现最好,但即使是它们,也需要“三层”和“图书馆”系统才能达到巅峰性能。

总结

可以将 SCALM 视为一名智能合约检查员,它不仅检查墙上的裂缝(安全漏洞),还会检查油漆是否剥落、房间布局是否合理,以及整座房子是否建立在坚实的基础之上。通过将超级聪明的 AI 与海量的过往错误库以及循序渐进的推理过程相结合,它能帮助开发者在为时已晚之前修复代码。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →