火爆出圈的最强 AI GPT 是否可用于合约安全审计?_GPT:NFT

近期ChatGPT爆火,其对传统文字工作的效率提高及总结能力让使用者惊艳。紧随其后CodeGPT这样基于GPT的插件出现,也充分体现了其对代码编写效率的提高。而最新GPT-4的发布,是否可以应用到对区块链、Solidity智能合约的审计中呢?

基于这样的疑问,我们进行了多种可行性测试。

测试环境及测试方法

测试使用的对比模型对象:GPT-3.5(Web),GPT-3.5-turbo-0301,GPT-4(Web)。

代码片段使用Prompt:HelpmediscovervulnerabilitiesinthisSoliditysmartcontract.

漏洞代码片段的检测对比

在此部分,我们分三次测试,使用历史上常见的漏洞代码作为测试一和测试二的用例,来验证其对基础漏洞的检测能力,测试三中使用中等难度的漏洞代码作为测试用例。

测试一

用例:《智能合约安全审计入门篇——Phishingwithtx.origin》

火币尖峰对话卡咩:Defi项目的火爆集中在基于Token的金融领域:6月24日下午,在由火币主办的火币尖峰对话“Waiting For ETH2.0”系列AMA活动中,火币矿池与dForce创始人杨民道、Infstones Head of Bussiness Sili、Stafi&Wetez创始人卡咩、真本聪联合创始人索老头就“乘风破浪的以太坊DeFi ”展开主题讨论,深度解读ETH2.0将给行业带来的重大影响。

在Stafi&Wetez创始人卡咩看来,目前Defi项目的火爆集中在基于Token的金融领域,无论是交易、稳定币、借贷还是衍生品。他表示,任何基于Token的创新金融业务都有可能是新的引爆点,也会在引爆点后形成更宽的赛道。基于Token的业务将会发展的越来越快,种类会越来越多。在这种情况下,进行组合、重组或者整合的机会就开始变多,而边缘一些为这些服务提供工具的机会也会出现。[2020/6/24]

漏洞代码:

对GPT进行提问:

GPT-3.5(Web)answer

杨东:区块链比人工智能维度更高,火爆是必然的:据《中国产经新闻》报道,中国人民大学大数据区块链与监管科技实验室主任杨东在接受记者采访时曾表示,区块链作为信任传递的工具,能够在没有中心化节点的前提下实现陌生人之间的可信记账,从而为金融交易和经济生活的其他方面带来巨大的机遇。有人曾称区块链是比人工智能更伟大的技术,这句话不无道理。从维度上来看,人工智能更主要是解决生产力,而区块链更多的是解决生产关系,所以区块链比人工智能维度更高,因此对经济社会国家,乃至个人更具广泛的影响和冲击,因此区块链火爆是必然的。[2018/5/26]

GPT-3.5-turbo-0301answer

GPT-4(Web)answer

“区块链大爷”火爆2018全球区块链精英峰会会场:据火讯财经报道称,4月28日,在2018全球区块链精英峰会会场外,一个头发花白的大爷吸引了很多人的注意,大爷手持宣传牌,上面写着“全球首个保洁链-Clean Chain,去中介化的保洁服务与管理”,同时发布需求“求技术合伙人!求交易所联系方式!”在宣传语中还表达了保洁行业是人类刚需,与区块链技术相结合势不可挡的强烈意愿。现场很多人称其为“区块链大爷”。[2018/4/28]

可以看到结果:3个测试版本都发现了关键的tx.origin相关问题。

测试二

用例:《智能合约安全审计入门篇——溢出漏洞》

漏洞代码:

对GPT进行提问:

GPT-3.5(Web)answer

Zilliqa任命Mark Hemsley为董事会主席:10月19日消息,Layer 1区块链Zilliqa任命Mark Hemsley为董事会主席。Mark Hemsley此前在交易所任职三年,并担任Cboe欧洲总裁和Cboe Global Markets, Inc.执行副总裁。

据悉,Zilliqa计划从Layer 1区块链协议过渡到PoS共识机制Zilliqa 2.0,旨在提升平台的成本效益和能源效率。 今年9月,Zilliqa宣布将于2023年初推出Web3游戏主机,其Web3功能包括加密钱包和集成挖矿,以向终端用户隐藏Web3的复杂性。(NFTgators)[2022/10/19 17:31:48]

GPT-3.5-turbo-0301answer

GPT-4(Web)answer

可以看到GPT-3.5(Web)、GPT-3.5-turbo-0301都发现了关键的Overflow漏洞,出乎意料的是GPT-4(Web)居然没有相关提示。

区块链概念行情火爆,多家公司回应参与情况:其中,汉王科技表示,目前暂时没有该业务领域的布局。华谊嘉信表示,暂未涉足区块链应用领域。浪潮信息、电连技术均表示未涉及区块链板块。第一创业则表示,是深圳市金融区块链联盟的发起会员,一直在参与区块链在证券行业应用的相关课题研究,并在积极寻找合适的应用场景应用。万达信息智慧城市业务涉及区块链技术。[2018/1/10]

测试三

用例:《空手套白狼——Popsicle被黑分析》

漏洞代码:

对GPT进行提问:

GPT-3.5(Web)answer

GPT-3.5-turbo-0301answer

GPT-4(Web)answer

对比结果,我们可以看到3个版本都未发现关键的漏洞点。

代码片段的检测总结

可以看到GPT模型对简单的漏洞代码块的检测能力还是不错的,但是对稍微复杂一点的漏洞代码暂时还无法检测,并且在测试中可以看到GPT-4(Web)的整体上下文可读性很高,输出格式清晰、舒服,但是其对代码的审计能力暂时没有远超GPT-3.5(Web)、GPT-3.5-turbo-0301,甚至在部分测试中由于Transformer输出存在一定的不确定性反而导致GPT-4(Web)遗漏了一些关键问题。

对比已知漏洞的全量合约检测

为了更加契合普通项目方在合约审计中的简单操作需求,这里我们提高些难度,针对代码量大的合约进行全量导入上下文,让GPT-4模型进行审计。

用例:《千万美元被盗——DeFi平台MonoXFinance被黑分析》

整份合约分批输入,在对话最后提出检测漏洞请求

这里使用Prompt:

Hereisasoliditysmartcontract

Contractcode

Theaboveisthecompletecode,helpmediscovervulnerabilitiesinthissmartcontract.

可以看到,GPT-4虽然在OpenAI公布的信息中其单次输入字符总数已经是当前最高,但还是会由于文本超长导致在最后提问时GPT会上下文缺失而只识别到部分内容,所以这样对大型合约而言就无法进行完整的上下文审计。

拆封整份合约,分批输入分批检测

这里使用Prompt:

对话1:

Helpmediscovervulnerabilitiesinthissoliditysmartcontract.

分段内容1

对话2:

Helpmediscovervulnerabilitiesinthissoliditysmartcontract.

分段内容2

对话3:

Helpmediscovervulnerabilitiesinthissoliditysmartcontract.

分段内容3

总结

GPT当前是否适合合约分析

优点

GPT对合约代码中基础的简单的漏洞具备部分检测能力,并且在检测出漏洞后会以很高的可读性来解释漏洞问题,这样的特性比较适合为初级合约审计工作者前期训练提供快速指导和简单答疑。

存在的问题

a.每次生成内容波动

GPT对每次对话的输出存在一定的波动,可以通过API接口参数进行调整,但是依旧不是恒定的输出,虽然这样的波动性对语言对话来说是好的方式,大大提高了对话给人的真实感。但是这对代码分析类的工作来说是一个不好的问题。因为为了覆盖AI可能告知我的多种漏洞回答,我需要多次请求同一问题并进行对比筛选,这无形中又提高了工作量,违背了AI辅助人类提高效率的基准目标。

例如这里再次运行"漏洞代码片段的检测对比测试二:

可以看到其输出结果比之前测试又多了一些额外内容。

b.漏洞分析能力依旧有很大的提高空间

对稍微复杂的漏洞进行检测即会发现当前的训练模型不能正确的分析并找到相关关键漏洞点。

GPT辅助合约审计的可行性和潜力分析

虽然当前来看GPT对合约漏洞的分析及挖掘能力还处于相对较弱的状态,但它对普通漏洞小代码块的分析并生成报告文本的能力依旧让使用者兴奋,在可预见的未来几年伴随这GPT及其他AI模型的训练开发,相信对大型复杂合约的更快速,更智能,更全面的辅助审计一定会实现。当科技发展可指数级提高人工的效率时就会发生质变,我们非常期待AI对区块链安全的助力,我们会持续关注新AI产品对区块链安全的影响。最后可见的将来我们必将与AI在一定程度上进行融合,愿AI和区块链与你同在。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

ADA5个必备的加密分析工具_GEC:TER

以太坊和其他顶级智能合约区块链上充斥着海量数据。如果你能很好地实时分析这些数据,就会有大量的alpha甚至还会有工作机会等着你去解锁.

[0:0ms0-2:847ms