实验表明,人工智能可以帮助审计智能合约,但目前还不完善

人工智能可以用于审计智能合约,但还不完善

人工智能(AI)已经改变了众多行业,包括医疗、汽车、市场营销和金融,现在它的潜力正在用于区块链行业最关键的领域之一——智能合约安全性。

许多测试已经显示了基于人工智能的区块链审计的巨大潜力,但这种新兴技术仍然缺乏一些重要的人类专业人员固有的品质——直觉、细腻的判断和学科专长。

我们自己的组织OpenZeppelin最近进行了一系列实验,突出了人工智能在检测漏洞方面的价值。使用OpenAI最新的GPT-4模型来识别Solidity智能合约中的安全问题。测试的代码来自Ethernaut智能合约黑客网络游戏,旨在帮助审计员学习如何寻找漏洞。在实验中,GPT-4成功地在28个挑战中的20个中发现了漏洞。

相关文章:Reddit准备好了:封闭的API比你想象的要贵

在某些情况下,只需提供代码并询问合约是否存在漏洞就能得出准确的结果,例如构造函数中的命名问题:

ChatGPT分析智能合约。来源:OpenZeppelin

在其他情况下,结果更加复杂或者非常糟糕。有时,需要通过提供一个带有引导性问题的正确回答来提示AI,例如“你能在之前的合约中更改库地址吗?”在最糟糕的情况下,即使事情已经很明确,GPT-4也无法找到漏洞,比如“如果你从构造函数内部调用函数,你可以通过Gate one和Gate two,现在你如何进入GatekeeperTwo智能合约?”AI甚至发明了一个实际上不存在的漏洞。

这突显了这项技术目前的局限性。不过,GPT-4在其前身GPT-3.5的基础上取得了显著进展,GPT-3.5是OpenAI在ChatGPT初始发布时使用的大型语言模型(LLM)。2022年12月,对ChatGPT进行的实验显示,该模型只能成功解决26个级别中的5个。GPT-4和GPT-3.5都是通过使用强化学习从人类反馈中进行训练的数据,这种技术在训练过程中涉及了人类反馈循环,以增强语言模型。

Coinbase进行了类似的实验,得出了类似的结果。这个实验利用ChatGPT来审查代币安全性。虽然AI能够为大部分智能合约提供与手动审查相似的结果,但在其他情况下,AI很难提供结果。此外,Coinbase还指出了ChatGPT将高风险资产标记为低风险资产的几个实例。

相关文章:别天真了——黑石的ETF对比特币不会看多

需要注意的是,ChatGPT和GPT-4是为自然语言处理、人类对话和文本生成而开发的LLM,而不是为漏洞检测而开发的。通过足够多的智能合约漏洞示例,LLM有可能获得识别漏洞所需的知识和模式。

然而,如果我们希望获得更有针对性和可靠的漏洞检测解决方案,那么专门针对高质量漏洞数据集进行训练的机器学习模型很可能会产生更好的结果。针对特定目标定制的训练数据和模型可以加快改进速度并提供更准确的结果。

例如,OpenZeppelin的AI团队最近构建了一个定制的机器学习模型来检测再入攻击——这是一种常见的漏洞形式,当智能合约对其他合约进行外部调用时可能发生。早期评估结果显示,与业界领先的安全工具相比,该模型的性能更为出色,误报率低于1%。

实现人工智能和人类专业知识的平衡

到目前为止的实验表明,虽然当前的AI模型可以帮助识别安全漏洞,但不太可能取代人类安全专业人员的细腻判断和学科专长。GPT-4主要依赖公开可用的数据直到2021年,因此无法识别超出其训练数据范围的复杂或独特漏洞。鉴于区块链的快速发展,开发人员持续学习行业内的最新进展和潜在漏洞至关重要。

展望未来,智能合约安全的未来很可能涉及人类专业知识和不断改进的AI工具之间的合作。对抗以AI为武器的网络犯罪分子最有效的防御将是利用AI来识别最常见和众所周知的漏洞,同时人类专家跟上最新进展,并相应地更新AI解决方案。在网络安全领域之外,AI和区块链的联合努力将有很多积极和开创性的解决方案。

单靠AI无法取代人类。然而,学会利用AI工具的人类审计师将比对这项新兴技术视而不见的审计师更加有效。