论文

EchoFuzz:使用大型语言模型支持智能合约模糊测试

EchoFuzz: Empowering Smart Contract Fuzzing with Large Language Models

摘要

智能合约作为去中心化应用的基石,自主管理万亿美元的数字资产,使其成为有吸引力的攻击目标。模糊测试已成为一种很有前途的检测智能合约漏洞的技术,但现有方法面临两个主要挑战。 (1)状态转换和组合冗余中的逻辑差距阻碍了错误检测效率和状态空间探索成本之间的有效权衡,导致关键执行路径被忽视。 (2)基于规则的序列变异策略存在路径冗余和合约逻辑引导不足的问题,导致性能瓶颈,阻碍了对面向漏洞的深度路径的探索。为了应对这些挑战,我们提出了 EchoFuzz,这是一个 LLM 引导的模糊测试框架,引入了易受攻击的函数调用序列(VFCS)——最小的、行为保留的执行路径,通过关键状态转换暴露错误。 EchoFuzz 由两个关键程序组成。首先,我们开发了一种链引导的 LLM 方法,该方法将静态分析与逻辑理解相结合,生成特定于合同的 VFCS 候选对象,从而消除组合冗余。其次,我们采用迭代模糊测试策略,该策略使用具有实时反馈的 LLM 来自适应地将模糊测试器引向未覆盖的分支。实验表明,EchoFuzz 的性能优于最先进的方法,分支覆盖率提高了 29%,漏洞检测量提高了 62%。它还在真实合约中发现了37个以前未知的漏洞,显示出很强的实用性。