火爆出圈的“最强 AI” —— GPT 是否可用于合约安全审计?
前言
近期 ChatGPT 爆火,其对传统文字工作的效率提高及总结能力让使用者惊艳。紧随其后 CodeGPT 这样基于 GPT 的插件出现,也充分体现了其对代码编写效率的提高。而最新 GPT-4 的发布,是否可以应用到对区块链 、Solidity 智能合约的审计中呢?
基于这样的疑问,我们进行了多种可行性测试。
测试环境及测试方法测试使用的对比模型对象:GPT-3.5(Web), GPT-3.5-turbo-0301, GPT-4(Web)。
代码片段使用 Prompt:Help me discover vulnerabilities in this Solidity smart contract.
漏洞代码片段的检测对比
在此部分,我们分三次测试,使用历史上常见的漏洞代码作为测试一和测试二的用例,来验证其对基础漏洞的检测能力,测试三中使用中等难度的漏洞代码作为测试用例。
-
测试一
用例:《智能合约安全审计入门篇 —— Phishing with tx.origin》
漏洞代码:
(1)对 GPT 进行提问:
(2)GPT-3.5(Web) answer
(3)GPT-3.5-turbo-0301 answer
(4)GPT-4(Web) answer
可以看到结果:3 个测试版本都发现了关键的 tx.origin 相关问题。
-
测试二
用例:《智能合约安全审计入门篇 —— 溢出漏洞》
漏洞代码:
(1)对GPT进行提问:
(2)GPT-3.5(Web) answer
(3)GPT-3.5-turbo-0301 answer
(4)GPT-4(Web) answer
可以看到 GPT-3.5(Web)、GPT-3.5-turbo-0301 都发现了关键的 Overflow 漏洞,出乎意料的是 GPT-4(Web) 居然没有相关提示。
- 星际资讯
免责声明:投资有风险,入市须谨慎。本资讯不作为投资建议。