SAEL: Leveraging Large Language Models with Adaptive Mixture-of-Experts for Smart Contract Vulnerability Detection
作者: Lei Yu, Shiqi Cheng, Zhirong Huang, Jingyuan Zhang, Chenjie Shen, Junyi Lu, Li Yang, Fengjun Zhang, Jiajia Ma
分类: cs.CR, cs.AI, cs.SE
发布日期: 2025-07-30
备注: Accepted to ICSME 2025
💡 一句话要点
SAEL:利用自适应混合专家模型的大语言模型进行智能合约漏洞检测
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 智能合约 漏洞检测 大语言模型 混合专家模型 自适应学习
📋 核心要点
- 现有智能合约漏洞检测方法在复杂场景泛化性不足,且通用大语言模型在特定漏洞类型检测上表现欠佳。
- SAEL框架通过设计提示引导大语言模型生成解释,并结合prompt-tuning和自适应混合专家模型,融合代码特征和解释特征。
- 实验结果表明,SAEL在多种漏洞检测任务中超越了现有方法,验证了其有效性。
📝 摘要(中文)
随着区块链安全问题的日益增多,智能合约漏洞检测已成为研究重点。现有的漏洞检测方法存在局限性:静态分析方法难以应对复杂场景;基于特定预训练模型的方法在特定数据集上表现良好,但泛化能力有限。相比之下,通用大语言模型(LLM)在适应新的漏洞模式方面表现出令人印象深刻的能力。然而,与基于特定预训练模型的方法相比,它们在特定漏洞类型上的表现通常不佳。我们还观察到,通用LLM生成的解释可以提供细粒度的代码理解信息,有助于提高检测性能。受这些观察的启发,我们提出了SAEL,一个基于LLM的智能合约漏洞检测框架。我们首先设计有针对性的提示,引导LLM识别漏洞并生成解释,这些解释作为预测特征。接下来,我们对CodeT5和T5进行prompt-tuning,以处理合约代码和解释,从而提高特定任务的性能。为了结合每种方法的优势,我们引入了一种自适应混合专家架构。该架构通过门控网络动态调整特征权重,门控网络使用TopK过滤和Softmax归一化选择相关特征,并结合多头自注意力机制来增强跨特征关系。这种设计能够通过梯度优化有效地整合LLM预测、解释特征和代码特征。损失函数共同考虑了独立特征性能和整体加权预测。实验表明,SAEL在各种漏洞上优于现有方法。
🔬 方法详解
问题定义:智能合约漏洞检测旨在发现并修复智能合约中存在的安全漏洞,防止恶意攻击和资产损失。现有方法,如静态分析,难以处理复杂的代码逻辑和上下文依赖关系。而基于特定预训练模型的方法,虽然在特定数据集上表现良好,但泛化能力有限,难以适应新的漏洞模式。通用大语言模型虽然具备一定的泛化能力,但在特定漏洞类型上的检测精度仍有提升空间。
核心思路:SAEL的核心思路是结合通用大语言模型和特定任务预训练模型的优势,利用大语言模型生成漏洞解释,并将其作为特征融入到模型中。通过自适应混合专家模型,动态地调整不同特征的权重,从而提高漏洞检测的准确性和泛化能力。这种方法旨在弥补现有方法在复杂场景和特定漏洞类型检测上的不足。
技术框架:SAEL框架主要包含以下几个模块:1) 提示工程模块:设计针对性的提示,引导大语言模型识别漏洞并生成解释。2) 特征提取模块:利用prompt-tuning后的CodeT5和T5模型,分别提取合约代码特征和漏洞解释特征。3) 自适应混合专家模块:通过门控网络动态调整不同特征的权重,并利用多头自注意力机制增强跨特征关系。4) 损失函数模块:联合考虑独立特征性能和整体加权预测,进行梯度优化。
关键创新:SAEL的关键创新在于自适应混合专家模型的设计。该模型能够动态地学习不同特征的重要性,并根据输入样本自适应地调整特征权重。与传统的特征融合方法相比,自适应混合专家模型能够更好地利用不同特征的优势,提高模型的鲁棒性和泛化能力。此外,利用大语言模型生成漏洞解释并将其作为特征,也为漏洞检测提供了新的思路。
关键设计:门控网络采用TopK过滤和Softmax归一化,选择最相关的特征。多头自注意力机制用于捕捉跨特征之间的复杂关系。损失函数采用加权交叉熵损失,同时考虑独立特征的性能和整体加权预测的性能。具体参数设置(如TopK的值、注意力头的数量等)需要根据实验进行调整。
🖼️ 关键图片
📊 实验亮点
实验结果表明,SAEL在多个智能合约漏洞数据集上取得了显著的性能提升,超越了现有的静态分析方法和基于预训练模型的方法。具体而言,SAEL在漏洞检测准确率和召回率方面均有明显提升,尤其是在复杂漏洞类型上的表现更为突出。这些结果验证了SAEL框架的有效性和优越性。
🎯 应用场景
SAEL可应用于智能合约安全审计、漏洞挖掘和自动修复等领域。通过提高智能合约漏洞检测的准确性和效率,SAEL有助于降低区块链应用的安全风险,保护用户资产,促进区块链技术的健康发展。未来,SAEL可以扩展到其他类型的软件漏洞检测,具有广阔的应用前景。
📄 摘要(原文)
With the increasing security issues in blockchain, smart contract vulnerability detection has become a research focus. Existing vulnerability detection methods have their limitations: 1) Static analysis methods struggle with complex scenarios. 2) Methods based on specialized pre-trained models perform well on specific datasets but have limited generalization capabilities. In contrast, general-purpose Large Language Models (LLMs) demonstrate impressive ability in adapting to new vulnerability patterns. However, they often underperform on specific vulnerability types compared to methods based on specialized pre-trained models. We also observe that explanations generated by general-purpose LLMs can provide fine-grained code understanding information, contributing to improved detection performance. Inspired by these observations, we propose SAEL, an LLM-based framework for smart contract vulnerability detection. We first design targeted prompts to guide LLMs in identifying vulnerabilities and generating explanations, which serve as prediction features. Next, we apply prompt-tuning on CodeT5 and T5 to process contract code and explanations, enhancing task-specific performance. To combine the strengths of each approach, we introduce an Adaptive Mixture-of-Experts architecture. This dynamically adjusts feature weights via a Gating Network, which selects relevant features using TopK filtering and Softmax normalization, and incorporates a Multi-Head Self-Attention mechanism to enhance cross-feature relationships. This design enables effective integration of LLM predictions, explanation features, and code features through gradient optimization. The loss function jointly considers both independent feature performance and overall weighted predictions. Experiments show that SAEL outperforms existing methods across various vulnerabilities.