← 最新论文
💻 computer science

LibScan: Smart Contract Library Misuse Detection with Iterative Feedback and Static Verification

本文提出了名为 LibScan 的智能合约库滥用检测框架,该框架通过结合大语言模型的语义推理与基于规则的代码分析,并引入迭代自我修正机制及实证知识库,在 662 个真实合约测试中实现了 85.15% 的检测准确率,显著优于现有工具。

原作者: Yishun Wang, Wenkai Li, Xiaoqi Li, Zongwei Li, Lei Xie, Yuqing Zhang

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

原作者: Yishun Wang, Wenkai Li, Xiaoqi Li, Zongwei Li, Lei Xie, Yuqing Zhang

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

这篇论文介绍了一个名为 LibScan 的新工具,它的任务是给区块链上的“智能合约”做体检,专门找出那些因为乱用第三方代码库(Library)而产生的安全隐患。

为了让你更容易理解,我们可以把整个过程想象成**“装修房子”“使用说明书”**的故事。

1. 背景:为什么需要 LibScan?

想象一下,你想盖一栋房子(智能合约),这栋房子里住着很多钱(加密货币资产)。为了盖得快、盖得好,你决定去建材市场买一些现成的预制件代码库/Library),比如现成的门、窗户、水管。

  • 好处:这些预制件通常是大厂生产的,质量很好,能省很多事。
  • 风险:如果你没看懂说明书,或者用错了方法,比如把给木匠用的胶水涂在了玻璃上,或者把承重墙拆了,房子就会塌,里面的钱就全没了。

在区块链世界里,这种“乱用预制件”的情况非常普遍,而且因为代码一旦上链就无法修改(不可篡改),一旦出错,损失往往是巨大的(比如之前提到的 Parity 钱包事件,锁死了 1.5 亿美元)。

2. 现有的工具为什么不够用?

以前,人们检查房子有两种方法,但都有缺陷:

  • 方法 A:老式安检员(传统静态分析工具,如 Slither)
    • 特点:他们手里拿着死板的检查清单。比如清单上写着“必须检查门锁是否安装”。
    • 缺点:他们很死板。如果你把门锁装反了,但清单上没写“不能装反”,他们就查不出来。他们看不懂你的意图,只能看表面有没有违规。
  • 方法 B:天才但爱做梦的顾问(大语言模型 LLM)
    • 特点:他们非常聪明,能读懂复杂的说明书,理解你想干什么。
    • 缺点:他们容易**“幻觉”**(Hallucination)。有时候他们太自信了,明明没装错,他们却瞎编说“这里有个大漏洞”;或者明明错了,他们却觉得“这没问题”。而且他们有时候会看走眼,把复杂的代码搞混。

3. LibScan 是怎么工作的?(核心创新)

LibScan 就像是一个**“超级监理团队”,它把上述两种方法结合了起来,还加了一个“自我纠错”**的机制。

第一步:双管齐下(LLM + 静态分析)

LibScan 同时派出了“天才顾问”和“老式安检员”去检查同一份代码:

  • 天才顾问(LLM):负责理解代码的逻辑和意图。它会想:“开发者想用这个库做什么?是不是超出了库的能力范围?”
  • 老式安检员(静态分析):负责死磕代码细节。它会用数学方法(TF-IDF)和规则去比对,看看代码结构是不是真的和标准用法一致。

第二步:八种“乱用”模式

LibScan 专门总结了8 种常见的“乱用”套路,就像总结了 8 种常见的装修错误:

  1. 包装检查无效:比如明明该检查门有没有锁好,结果检查逻辑写错了。
  2. 没处理意外:水管爆了(异常),但没人去修,直接导致房子淹了。
  3. 功能乱加:本来只是个水龙头,非要把它改成能发电的机器,结果坏了。
  4. 用错对象:把给木匠用的工具强行套在玻璃工身上(类型不匹配)。
  5. 替换不彻底:换了新式的安全锁,但旧锁的孔还留着,没堵死。
  6. 高估能力:以为这个水龙头能喷出高压水枪,结果它只能出水流。
  7. 低估能力:明明水龙头自带防漏功能,你非要自己再装一套防漏装置,浪费钱还容易出错。
  8. 多余安装:明明现在的房子自带防火系统,你还非要再装一套旧的,浪费空间。

第三步: iterative Feedback(迭代反馈)—— 最聪明的部分

这是 LibScan 的独门绝技

  • 如果“天才顾问”第一次说“这里有问题”,但“老式安检员”说“没问题”。
  • LibScan 不会直接听谁的,而是让“天才顾问”重新思考:“嘿,刚才那个安检员说没问题,你再仔细看看,是不是我刚才太敏感了?或者是不是我漏看了什么?”
  • 这个过程会重复几次(迭代),就像两个人互相辩论,直到达成一致,或者直到发现真正的漏洞。这大大减少了“瞎猜”和“漏网之鱼”。

第四步:投票决定(随机森林)

最后,LibScan 会把所有检查结果交给一个**“投票委员会”**(随机森林算法)。这个委员会会综合所有信息,最终给出一个最靠谱的诊断结果:是安全的,还是有那 8 种错误之一。

4. 效果如何?

研究人员拿 662 个真实的智能合约 来测试 LibScan:

  • 准确率:达到了 85.15%
  • 对比:比目前最好的传统工具(Slither)高了 16 个百分点 以上。
  • 结论:LibScan 就像是一个既懂技术细节、又懂人类意图,还会自我反思的超级管家,能更精准地找出那些隐藏的“装修隐患”。

总结

简单来说,LibScan 就是一个智能合约的“防坑指南”。它不再死板地查清单,也不再盲目地靠猜,而是通过**“专家 + 机器 + 互相纠错”的模式,专门抓那些因为乱用现成代码库**而导致的隐蔽漏洞,保护大家的数字资产安全。

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

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

试用 Digest →