2022年11月,OpenAI推出了创新的人工智能项目。
除了可用于进行文章的撰写和总结、笑话和诗歌的创作以外,ChatGPT还可以用来调试和生成代码。
2022年全年,Web3.0领域因黑客攻击和欺诈等事件造成的资产损失超过了37亿美元,这样巨额损失不禁让业内人思考:如ChatGPT这样的新技术是否可以用以改善智能合约代码的安全性。
ZKasino是一个去中心化的平台,近期通过ChatGPT进行了一次预审计。
ZKasino希望在CertiK开展全面审计的同时,让CertiK为ChatGPT所得出的结果进行一个初步的审查,以测试ChatGPT作为AI「智能合约审计师」的能力。
那么ChatGPT的测试结果如何呢?
其是否已经准备好接替人工代码审计专家的工作?
或者说它仍不足以完全替代人工?
Chainlink在以太坊等网络上推出跨链互操作协议:金色财经报道,Chainlink用于构建跨链应用程序的CCIP协议在Avalanche、Ethereum、Optimism和Polygon上进入早期访问阶段。Chainlink表示,这将为无缝交互提供统一的界面。CCIP已被主网上的去中心化金融协议Synthetix采用,以支持以太坊、Optimism和其他链之间的跨链传输。
该团队表示,CCIP系统可以使跨链借贷应用程序受益,允许用户在一个区块链上存入抵押品,并在另一个区块链上借入资产。它还可以协助跨链数据存储、流动性质押和多个链之间的游戏应用程序。[2023/7/18 11:00:19]
2022年12月23日,ZKasino「聘请」了ChatGPT来识别智能合约中潜在的安全风险。该工具也的确提出了几个表面上听起来很合理的风险担忧。
然而,尽管ChatGPT不可否认地为Web3.0安全社区提供了一些有价值的服务,但是我们发现其仍有相当大的改进空间——ChatGPT遗漏了一些严重或关键性的漏洞,同时又「误伤」了那些没问题的代码。在此,我们希望CertiK安全专家的深度数据和建议能够助力ChatGPT成为一个更强大的Web3.0应用安全工具。
Multichain跨链总交易额突破千亿美元:金色财经报道,官方数据显示,跨链路由协议Multichain总交易额已突破千亿美元,TVL达17.6亿美元。
Multichain当前已经连通83条主流公链,支持超过3400种资产跨链,是Web3领域最主要的跨链交互协议之一。[2023/3/15 13:05:12]
下文,我们将为大家详细介绍此次事件中ChatGPT的两类错误发现。
ChatGPT发现了合约中的哪些问题?
ChatGPT遗漏了什么
严重或关键性的漏洞?
ChatGPT提到了在许多智能合约实现中都会存在的几个常见安全问题。
但是,它未能识别某些严重的风险,包括:
项目特定的逻辑漏洞
不准确的数学计算和统计模型
代码实现和项目设计的不一致
Richard Waters:当加密货币的热潮过去后,飙升的交易量已经创造了对真正的基础设施的需求:金色财经报道,英国《金融时报》西海岸主编、专注于硅谷科技的作家团队Richard Waters发表文章称,在加密货币的世界里,类似的东西会不会在不同类型的基础设施中形成?当加密货币的热潮过去后,许多在比特币阴影下兴起的货币将变得毫无价值。但他们飙升的交易量已经创造了对真正的基础设施的需求,并且正在进行大笔投资。如果区块链代表了一种新的架构,将塑造未来的在线活动,超越加密货币投机,那么对基础设施的需求将继续存在。
在这场游戏中挑选最终的赢家,需要对这个世界将如何发展做出假设。它是否会导致互补但相互关联的区块链,并为许多玩家提供空间?或者这将是一个赢家通吃的行业,少数几个网络在特定类型的交易中成为主导?为使非专业人士也能使用该技术而需要的软件和服务,会不会在新技术 \"堆栈 “的不同部分产生主导公司。(FT)[2022/2/13 9:48:29]
漏洞#1:项目特定的逻辑问题
ChatGPT未能识别出一个关键漏洞,该漏洞会导致攻击者可以不断地赢取并耗尽Bankroll合约中用户的资金。玩家可以通过调用可验证随机函数加入游戏,Chainlink的VRF会使用随机数触发fulfillRandomWords()函数以完成游戏。
动态 | TomoChain预计3月19日于区块高度3,000,000进行硬分叉:据TomoChain官方消息,TomoChain已于3月6日发布客户端v1.3,并将在区块高度3,000,000时进行硬分叉,预计时间为3月19日进行。此外,TOMO预计在第三季度发布客户端2.0版本,到时会将TomoX协议(TOMO去中心化的核心协议)添加至其客户端。[2019/3/7]
ZKasino的代码允许用户在fulfillRandomWords()调用失败的情况下将资金取回。
在CertiK对同一智能合约代码的审查中,发现了一个潜在且有害的_transferPayout()调用,该函数被设计为可将赢取的资金转移至玩家的账户。
然而攻击者可以在输了的时候调用_transferPayout()使其回滚,导致整个fulfillRandomWords()调用失败——这会使其进入长为100个区块的等待期,继而触发CoinFlip_Refund()进行退款,这意味着攻击者相当于永远不会输钱。
公告 | 币安将上线多个BCHABC、BCHSV交易市场:币安发布公告,将于2019年01月22日18:00(UTC+8)上线 BCHABC/TUSD、BCHABC/PAX、BCHABC/USDC、BCHSV/TUSD、BCHSV/PAX、BCHSV/USDC 交易市场。[2019/1/21]
虽然ChatGPT认识到了调用失败的问题,但却未能发现在这个项目中利用调用失败的攻击手法。
因此,ChatGPT没有发现该漏洞与项目逻辑相结合所产生的影响。有关具体攻击流程的描述,请参阅ZKasino的完整审计报告。
漏洞#2:不准确的数学计算和统计模型
确保满足合理预期的随机性和结果在任何游戏项目中都至关重要。为了证实这一点,需要在审计过程中对所有游戏结果的随机性进行全面评估。
尽管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甚至已经可以帮助我们参加夺旗比赛了:欢迎大家点击阅读!
LSD将是DeFi生态系统的催化剂,通过合理利用LSD资本效率,可以撬动ETH的资产杠杆,这些释放出来的流动性杠杆将大幅增加链上的资产价值和TVL,带来第二个DeFiSummer.
1900/1/1 0:00:00Tether占领接近50%的稳定币市场,创14个月新高随着美国证券交易委员会似乎要打压与美元挂钩的稳定币,历史最悠久的的稳定币Tether像往常一样占据主导地位.
1900/1/1 0:00:00香港,新的Web3.0应许之地。自2022年金融科技周以来,香港陆续释放加密利好。从《有关虚拟资产在港发展的政策宣言》到《关于加密资产和稳定币的讨论文件结论》,从发放牌照到开放散户交易,从成立W.
1900/1/1 0:00:00今天,我们比以往任何时候都更能看到Web3的必然性。建立一个更加公平的世界,让人们可以控制自己的资产和数据,从未像现在这样重要.
1900/1/1 0:00:00据Bitcoin报道,全球范围内加密货币交易所数量正在加速增长,这个加密货币交易所“版图”中有4家位于韩国,泰国,越南和菲律宾.
1900/1/1 0:00:00「每周编辑精选」是Odaily星球日报的一档“功能性”栏目。星球日报在每周覆盖大量即时资讯的基础上,也会发布许多优质的深度分析内容,但它们也许会藏在信息流和热点新闻中,与你擦肩而过.
1900/1/1 0:00:00