检测变得简单:大型语言模型在 Solidity 漏洞检测中的潜力
密码学与安全
2024-10-29 v2 人工智能
新兴技术
机器学习
摘要
近年来,Solidity 智能合约在以太坊主网上的大规模部署越来越吸引受经济利益驱动的攻击者。以太坊历史上几起臭名昭著的攻击包括2016年的 DAO 攻击(损失5000万美元)、2017年的 Parity Wallet 黑客事件(锁定1.46亿美元)、2018年 Beautychain 的代币 BEC(9亿美元市值跌至0),以及2022年的 NFT 游戏区块链漏洞(价值6亿美元的 Ether 被盗)。本文对大型语言模型(LLMs)及其在检测 Solidity 中 OWASP Top Ten 漏洞的能力进行了全面调查。我们引入了一个名为 VulSmart 的全新、类别平衡、结构化且带标签的数据集,用于基准测试和比较 CodeLlama、Llama2、CodeT5 和 Falcon 等开源 LLMs,以及 GPT-3.5 Turbo 和 GPT-4o Mini 等闭源模型的性能。我们提出的 SmartVD 框架通过广泛的自动化和手动评估对这些模型进行了严格测试,利用 BLEU 和 ROUGE 指标来评估智能合约中漏洞检测的有效性。我们还探索了三种不同的提示策略——零样本、少样本和思维链——以评估 SmartVD 框架的多类分类和生成能力。我们的研究结果显示,SmartVD 优于其开源对应模型,甚至超过了 GPT-3.5 和 GPT-4 Mini 等闭源基础模型的性能。经过微调后,闭源模型 GPT-3.5 Turbo 和 GPT-4o Mini 取得了令人瞩目的性能,在检测漏洞方面达到99%的准确率,在识别漏洞类型方面达到94%,在确定严重程度方面达到98%。值得注意的是,SmartVD 在使用“思维链”提示技术时表现最佳,而微调后的闭源模型在使用“零样本”提示方法时表现优异。
引用
@article{arxiv.2409.10574,
title = {Detection Made Easy: Potentials of Large Language Models for Solidity Vulnerabilities},
author = {Md Tauseef Alam and Raju Halder and Abyayananda Maiti},
journal= {arXiv preprint arXiv:2409.10574},
year = {2024}
}