宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > MANA > 正文

ChatGPT的Web3.0安全审计艺术:有点东西,但不完全有-ODAILY

作者:

时间:1900/1/1 0:00:00

2022年11月,OpenAI推出了创新的人工智能项目。

除了可用于进行文章的撰写和总结、笑话和诗歌的创作以外,ChatGPT还可以用来调试和生成代码。

2022年全年,Web3.0领域因黑客攻击和欺诈等事件造成的资产损失超过了37亿美元,这样巨额损失不禁让业内人思考:如ChatGPT这样的新技术是否可以用以改善智能合约代码的安全性。

ZKasino是一个去中心化的平台,近期通过ChatGPT进行了一次预审计。

ZKasino希望在CertiK开展全面审计的同时,让CertiK为ChatGPT所得出的结果进行一个初步的审查,以测试ChatGPT作为AI「智能合约审计师」的能力。

那么ChatGPT的测试结果如何呢?

其是否已经准备好接替人工代码审计专家的工作?

周杰伦联名NFT Tiger Champs销售时间将延长48小时至6月27日:6月24日消息,周杰伦与巴黎圣日耳曼足球俱乐部联名推出PFP NFT项目Tiger Champs在Discord表示,NFT销售时间将延长48小时至北京时间6月27日20:00。此外,在第一个24小时购买的用户将会获得2个NFT空投,在之后24小时购买的用户将会获得1个NFT空投。

据Crypto.com网站数据,Tiger Champs总量为1万个,已于6月23日21:00开启销售,目前剩余9338个。[2022/6/24 1:29:30]

或者说它仍不足以完全替代人工?

2022年12月23日,ZKasino「聘请」了ChatGPT来识别智能合约中潜在的安全风险。该工具也的确提出了几个表面上听起来很合理的风险担忧。

然而,尽管ChatGPT不可否认地为Web3.0安全社区提供了一些有价值的服务,但是我们发现其仍有相当大的改进空间——ChatGPT遗漏了一些严重或关键性的漏洞,同时又「误伤」了那些没问题的代码。在此,我们希望CertiK安全专家的深度数据和建议能够助力ChatGPT成为一个更强大的Web3.0应用安全工具。

下文,我们将为大家详细介绍此次事件中ChatGPT的两类错误发现。

Perceptron Capital、PrimeDAO和Defi Chad在dHEDGE推出资产池:资产管理协议dHEDGE发推称,Perceptron Capital、PrimeDAO和Defi Chad分别在dHEDGE推出资产池, dHEDGE DAO均投资20000 sUSD。这些资产池都支持使用Fox Swap。[2021/3/27 19:23:10]

ChatGPT发现了合约中的哪些问题?

ChatGPT遗漏了什么

严重或关键性的漏洞?

ChatGPT提到了在许多智能合约实现中都会存在的几个常见安全问题。

但是,它未能识别某些严重的风险,包括:

项目特定的逻辑漏洞

不准确的数学计算和统计模型

代码实现和项目设计的不一致

Chainalysis完成对Celsius Network的审计:金色财经报道,区块链分析公司Chainalysis已完成对加密货币奖励和贷款平台Celsius Network的审计,确认其资产达33.18亿美元。[2020/12/10 14:44:56]

漏洞#1:项目特定的逻辑问题

ChatGPT未能识别出一个关键漏洞,该漏洞会导致攻击者可以不断地赢取并耗尽Bankroll合约中用户的资金。玩家可以通过调用可验证随机函数加入游戏,Chainlink的VRF会使用随机数触发fulfillRandomWords()函数以完成游戏。

ZKasino的代码允许用户在fulfillRandomWords()调用失败的情况下将资金取回。

在CertiK对同一智能合约代码的审查中,发现了一个潜在且有害的_transferPayout()调用,该函数被设计为可将赢取的资金转移至玩家的账户。

Pierre Rochard:Square等将恐慌性买入BTC:比特币咨询公司Bitcoin Advisory创始人Pierre Rochard发推称,Square只买了价值5000万美元的比特币,他们会恐慌性地买进更多。最终苹果将恐慌性买入。由于通货膨胀,持有和滚动短期法币计价的固定收益“现金等价物”在财务上是不负责任的。首席财务官将被替换。[2020/10/21]

然而攻击者可以在输了的时候调用_transferPayout()使其回滚,导致整个fulfillRandomWords()调用失败——这会使其进入长为100个区块的等待期,继而触发CoinFlip_Refund()进行退款,这意味着攻击者相当于永远不会输钱。

虽然ChatGPT认识到了调用失败的问题,但却未能发现在这个项目中利用调用失败的攻击手法。

因此,ChatGPT没有发现该漏洞与项目逻辑相结合所产生的影响。有关具体攻击流程的描述,请参阅ZKasino的完整审计报告。

漏洞#2:不准确的数学计算和统计模型

确保满足合理预期的随机性和结果在任何游戏项目中都至关重要。为了证实这一点,需要在审计过程中对所有游戏结果的随机性进行全面评估。

动态 | Baer Chain孵化OASIS平台春节数据快速增长:据官方消息,春节期间,Baer Chain孵化OASIS绿洲游戏平台从1月24日除夕至1月28日初四,日均数据快速增长:

PCU(最高同时在线人数):43625,ACU(平均同时在线人数):15327,DAU(每日活跃用户):167352。较前一周,平台日活提升:1648.5%,游戏充值提升:8806%。据悉,OASIS平台SDK正式版即将推出,近期将有多款大型贺岁游戏陆续登陆,预计将迎来新一轮的增长。[2020/1/29]

尽管ChatGPT同样「认同」这一点的重要性,但它并未发现任何不公平的游戏结果。它提出了VRF的使用,以及如果VRF合约被破坏或被操纵,可能会出现不公平的结果:

“如果VRF合约不安全或被操纵,则可能会导致游戏出现不公平的结果。”

然而,这个结论仅仅只是一个结论,并没有真正解决导致游戏结果不公平的根本原因。而且我们在审计过程中也发现了一些关于随机性的潜在风险问题。

不公平的随机性

发现的其中一个关于随机性的中等级别风险是VideoPoker游戏中不公平的随机数使用问题,玩家获得某些牌的机会较少。

小数截断

另一个风险问题是在骰子类游戏中发现的,它允许玩家选择特定的倍数来使他们的预期收益最大化。

漏洞#3:代码实现和项目设计的不一致

ChatGPT往往能够理解单一函数的实现,却无法理解这样写的根本原因。

例如,它可能了解某个函数在技术层面是怎样执行的,但他无法理解在整个智能合约中,该函数有着什么样的目的。

为了确保ChatGPT在编码中不出问题,它需要更好地理解智能合约的代码逻辑。

就目前的情况而言,ChatGPT提供的是对代码的表面阅读。为了使其审计工作和水平更上一层楼,它必须学会从一个函数反向推导出其初始逻辑——这点非常重要。

不正确的输入验证

我们在Plinko合约中发现了一个输入验证问题,导致倍数设置不正确。

根据ZKasino的说法,Plinko中使用的行数应该是8到16。但是,由于以下检查中的错误,Bankroll合约所有者可以通过函数setPlinkoMultipliers()设置一个超出预期范围的行数值。

代码显示,如果numRows和risk均不满足条件,该流程将被回滚。

但是,如果两个条件中只有一个不满足,那么检查仍然会通过,并且代码不会被回滚。

ChatGPT在回答第二个问题时给出了不同的答案:该函数检查“numRows”的值是否在8到16之间,以及“risk”的值是不是小于3。如果不满足上述任一条件,函数将返回错误“InvalidNumberToSet”。

ChatGPT似乎理解了这个函数的目的。然而,它并不具备相应的应用程序知识,在没有额外信息的情况下也无法识别真正的漏洞。

值更新的不一致

在Slots合约中,发现了与totalValue更新不一致相关的问题,这可能导致游戏过早结束。totalValue用于监控用户的输赢,但它只跟踪了支付情况,却未从实际游戏中扣除,导致用户的损益计算错误。

写在最后

尽管经过了相应培训,但ChatGPT在其审计中还是遗漏了某些关键性的安全问题。这是由于人工智能在充分理解代码的复杂性和细微差别方面的局限性,以及其缺乏在现实场景中的实践经验。

正如其官网所述,ChatGPT是一个依赖自然语言处理进行对话的研究版本。它通常无法像人类审计专家那样去理解代码背后的意图和逻辑推理。

因此,重要的是需要通过经验丰富的安全专家的手动审计来补充ChatGPT分析的不足之处,以确保全面的准确性。

下图强调了基于人工的服务以及ChatGPT在各种标准上的优势和劣势。

就像是我们使用百度翻译一样,英文翻译结果的准确性往往取决于我们的中文措辞——ChatGPT回答的有效性在很大程度上取决于prompt的格式。

在本文中,我们将ZKasino与ChatGPT交互的预审计结果和CertiK专家执行的最终审计结果进行了比较。

随着技术的进步和对prompt工程的更清晰的理解,工程师将能够更好地利用ChatGPT。

在CertiK官方公众号接下来发布的内容中,我们将会就如何向ChatGPT提出有效问题来与大家探讨prompt工程的更多深入性内容。

但是现在,ChatGPT甚至已经可以帮助我们参加夺旗比赛了:欢迎大家点击阅读!

标签:CHACHATATGGPTChangeinchattokenATG价格HyperGPT

MANA热门资讯
区块链赋能环保,如何解决其自身局限性?-ODAILY

可持续性将日益成为区块链行业未来的核心标准。而分析特定区块链的能源效率的方法是,检查其创建和维护信息块的过程:该区块链的用户如何同意记录和验证分布式数据库每个块中包含的信息,换句话说,如何达成共识.

1900/1/1 0:00:00
Tether项目周报(0501-0507)-ODAILY

EuroTether(EUR?)和TetherGold(XAU?)已在BitMart交易所上线Tether宣布EuroTether(EUR?)和TetherGold(XAU?)已上线全球数字资产集中交易平台BitMart.

1900/1/1 0:00:00
MixMarvel于「Over the Moon」活动庆祝生态六周年蓬勃发展-ODAILY

MixMarvel,全球领先的区块链内容孵化平台和创作者社区,宣布其六周年庆典。为了使这一重要时刻更加激动人心,MixMarvel的庆典活动将聚焦于MixMarvel与Odaily即将共同举办的的OvertheMoonWeb3私享酒会.

1900/1/1 0:00:00
JZL Capital行业周报第6期:加息博弈加剧,市场出现回调-ODAILY

一、行业动态总结 行业动态 上周加密市场跟随美股有较大回调,连续8个交易日收阴并且在周四周五有较大程度跌幅,市场仍处于未来几个月的加息博弈当中,但整体上涨趋势并没有被打破,比特币在21500的位置也得到了支撑.

1900/1/1 0:00:00
“孙宇晨美术馆”藏品开箱之《三幅自画像》-ODAILY

日前,“孙宇晨美术馆”重磅亮相。作为主讲人,波场TRON创始人孙宇晨在开箱视频中向大家介绍了多个顶级藏品。本期我们将聚焦美国艺术家、波普艺术开创者之一的安迪·沃霍尔于1986年创作的作品——《三幅自画像》.

1900/1/1 0:00:00
详解Endgame:五个连续启动阶段将如何为Maker带来全面改变?-ODAILY

Endgame是MakerDAO的一个重大更新,旨在提高效率、恢复力和参与度。Endgame利用精细调整的AI工具,应用于开放、可扩展的流程,创建了一个强大的治理均衡,允许无需许可的SubDAOs和并行产品开发的增长,构建一个不断涌现.

1900/1/1 0:00:00