中文

结合微调与基于 LLM 的智能体进行直观智能合约审计及理由生成

软件工程 2024-09-17 v3

摘要

智能合约是构建在以太坊等区块链之上的去中心化应用。最近的研究表明,大语言模型(LLM)在审计智能合约方面具有潜力,但最先进水平表明,即使是 GPT-4 也只能达到 30% 的精确率(当决策和理由均正确时)。这可能是因为现成的 LLM 主要在通用文本/代码语料库上进行了预训练,而未在 Solidity 智能合约审计的特定领域进行微调。在本文中,我们提出了 iAudit,这是一个结合微调和基于 LLM 的智能体进行直观智能合约审计及理由生成的通用框架。具体而言,iAudit 的灵感来自于观察到人类专家审计员首先感知可能出错的地方,然后对代码进行详细分析以识别原因。因此,iAudit 采用两阶段微调方法:首先微调一个 Detector 模型进行决策,然后微调一个 Reasoner 模型生成漏洞原因。然而,仅靠微调在准确识别漏洞的最佳原因方面面临挑战。因此,我们引入了两个基于 LLM 的智能体,即 Ranker 和 Critic,基于微调 Reasoner 模型的输出,迭代地选择和辩论最合适的漏洞原因。为了评估 iAudit,我们收集了一个包含 1,734 个正样本和 1,810 个负样本的平衡数据集来微调 iAudit。然后,我们将其与传统的微调模型(CodeBERT、GraphCodeBERT、CodeT5 和 UnixCoder)以及基于提示学习的大语言模型(GPT4、GPT-3.5 和 CodeLlama-13b/34b)进行了比较。在包含 263 个真实智能合约漏洞的数据集上,iAudit 实现了 91.21% 的 F1 分数和 91.11% 的准确率。与真实原因相比,iAudit 生成的原因达到了约 38% 的一致性。

关键词

引用

@article{arxiv.2403.16073,
  title  = {Combining Fine-Tuning and LLM-based Agents for Intuitive Smart Contract Auditing with Justifications},
  author = {Wei Ma and Daoyuan Wu and Yuqiang Sun and Tianwen Wang and Shangqing Liu and Jian Zhang and Yue Xue and Yang Liu},
  journal= {arXiv preprint arXiv:2403.16073},
  year   = {2024}
}

备注

Accepted for the 47th International Conference on Software Engineering (ICSE 2025)