这篇论文提出了一种利用大型语言模型(LLM)自动向 Solidity 智能合约中注入漏洞的方法,旨在解决智能合约漏洞检测工具评估中“带真实标签数据集稀缺且人工构建困难”的问题。作者以 OpenSCV 分类中的 49 种漏洞类型为目标,对来自 SmartBugs 的真实智能合约进行变异注入实验。整个流程包含多阶段验证管道:依次检查合约的编译是否通过、能否正常执行、业务逻辑是否保持一致,以及是否确实存在目标漏洞。实验共生成近 1000 个候选变体,经过去重和验证后,最终得到 32 个确认存在漏洞的合约,覆盖 25 种漏洞类型,存活率仅为 16.58%。存活合约主要集中在结构较为简单的目标合约和具有局部化语法模式的漏洞类型上。论文还报告了实际部署中的挑战,包括 LLM 的非确定性输出以及难以在注入漏洞的同时保持合约原始语义。作者进一步使用这些验证后的漏洞合约对三款静态分析器进行测试,结果显示出各工具之间存在互补性和不完整的覆盖能力。整体结论表明,基于 LLM 的漏洞注入具备可行性,但可扩展性和多样性仍存在明显局限。本文适合智能合约安全研究者、漏洞检测工具开发者以及需要构建高质量基准数据集的安全工程师阅读。
💡 推荐理由: 本文为智能合约漏洞检测工具评估提供了自动化生成含真实标签数据集的新思路,能缓解手工标注成本高、数据稀缺的问题,对验证和改进静态分析器有直接参考价值。
🎯 建议动作: 研究跟进