2022?年?11?月,OpenAI?推出了创新的人工智能项目。
除了可用于进行文章的撰写和总结、笑话和诗歌的创作以外,ChatGPT?还可以用来调试和生成代码。
2022?年全年,Web3.0??领域因黑客攻击和欺诈等事件造成的资产损失超过了?37?亿美元,这样巨额损失不禁让业内人思考:如?ChatGPT?这样的新技术是否可以用以改善智能合约代码的安全性。
ZKasino?是一个去中心化的平台,近期通过?ChatGPT?进行了一次预审计。
ZKasino?希望在?CertiK?开展全面审计的同时,让?CertiK?为?ChatGPT?所得出的结果进行一个初步的审查,以测试?ChatGPT?作为?AI「智能合约审计师」的能力。
那么?ChatGPT?的测试结果如何呢?
其是否已经准备好接替人工代码审计专家的工作?
或者说它仍不足以完全替代人工?
Lookonchain:过去10小时内多个巨鲸地址出售GRT:7月4日消息,据 Lookonchain 监测,0xde32开头巨鲸地址在过去 7 小时内向 Binance 存入 600 万枚 GRT (约合 77.6 万美元),并通过另一个钱包在 DEX 上出售 75 万枚 GRT(约合 10 万美元)。目前,该鲸鱼钱包中仍持有 322 万枚 GRT(约合 41.6 万美元),并质押了 2530 万枚 GRT(约合 325 万美元)。
此外,另两个巨鲸地址也在 10 小时前向 KuCoin 存入 680 万枚 GRT(约合 88.6 万美元)。[2023/7/4 22:16:59]
2022?年?12?月?23?日,ZKasino「聘请」了?ChatGPT?来识别智能合约中潜在的安全风险。该工具也的确提出了几个表面上听起来很合理的风险担忧。
然而,尽管?ChatGPT?不可否认地为Web3.0?安全社区提供了一些有价值的服务,但是我们发现其仍有相当大的改进空间——ChatGPT?遗漏了一些严重或关键性的漏洞,同时又「误伤」了那些没问题的代码。在此,我们希望?CertiK?安全专家的深度数据和建议能够助力?ChatGPT?成为一个更强大的Web3.0?应用安全工具。
Michael Saylor:比特币现货ETF将成为机构接受比特币的里程碑:6月30日消息,MicroStrategy联合创始人兼执行主席 Michael Saylor 在接受 The Block 采访时表示,比特币现货 ETF 将是加密行业的一大发展,并成为机构接受比特币的里程碑,但这不一定会导致比特币价格短期大幅上涨。[2023/7/1 22:11:28]
下文,我们将为大家详细介绍此次事件中?ChatGPT?的两类错误发现。
ChatGPT?发现了合约中的哪些问题?
ChatGPT?遗漏了什么
ChatGPT?提到了在许多智能合约实现中都会存在的几个常见安全问题。
但是,它未能识别某些严重的风险,包括:
项目特定的逻辑漏洞
不准确的数学计算和统计模型
代码实现和项目设计的不一致
漏洞#1?:项目特定的逻辑问题
数据:大型投资者正在积累XRP和Chainlink(LINK):加密分析平台Santiment的数据显示,大型投资者正在积累XRP和Chainlink(LINK)。Santiment在一篇新的Twitter帖子中表示,自Covid-19引发抛售后的一个月以来,鲸鱼们一直在购买XRP,导致余额至少为100,000 XRP的钱包地址大幅增加。在过去六个月内,持有至少1000万枚XRP的钱包地址数量增加了10.4%。Chainlink也显示出基本面好转的迹象。根据Santiment的数据,排名前100的非交易所鲸鱼地址在过去的12个月里购买了超过3420万枚LINK代币。(The Daily Hodl)[2020/11/1 11:22:04]
ChatGPT?未能识别出一个关键漏洞,该漏洞会导致攻击者可以不断地赢取并耗尽?Bankroll?合约中用户的资金。玩家可以通过调用可验证随机函数加入游戏,Chainlink?的?VRF?会使用随机数触发?fulfillRandomWords()函数以完成游戏。
Origin Chain首期流动性挖矿正式上线,10分钟质押量超300万OGT:据官方消息,9月10日23:00,Origin Chain正式上线首期OGT流动性挖矿。截止23:10,挖矿启动10分钟后,OGT质押总量超过300万枚。根据规则,本次挖矿为1000万枚OGT,当天头矿收益200%+,早期300万私募接受锁仓一个月,参与挖矿。
OGT挖矿需在其平行链生态起源库APP内进行。质押上限500万,无需KYC,挖矿收益按日结算,流动性挖矿随时可提币。
OGT于9 月 10 日 20:00在AOFEX交易所首发上线?, 开启OGT/AQ、OGT/USDT交易对,已于9月10日23:00开启提币。[2020/9/10]
ZKasino?的代码允许用户在?fulfillRandomWords()?调用失败的情况下将资金取回。
在?CertiK?对同一智能合约代码的审查中,发现了一个潜在且有害的_transferPayout()调用,该函数被设计为可将赢取的资金转移至玩家的账户。
动态 | Chainlink成为谷歌云合作伙伴:据coindesk报道,Chainlink成为谷歌官方的云合作伙伴,该关系表明谷歌对区块链技术有着深刻而细致的兴趣。谷歌云的博客文章显示,该合作关系旨在使用“Chainlink oracle智能合约”将BigQuery数据放置在区块链上。据悉,BigQuery是谷歌的数据仓库和商业智能解决方案。[2019/6/15]
然而攻击者可以在输了的时候调用_transferPayout()使其回滚,导致整个?fulfillRandomWords()调用失败——这会使其进入长为?100?个区块的等待期,继而触发?CoinFlip_Refund()进行退款,这意味着攻击者相当于永远不会输钱。
虽然?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?甚至已经可以帮助我们参加夺旗比赛了:欢迎大家点击阅读!
现在每个人都在谈论Optimism。Coinbase刚刚宣布他们将推出一个新的L2区块链,名为"Base",建立在$OPStack上.
1900/1/1 0:00:00Defactor项目解析 1、?研究院短评 项目做的是链接传统金融和去中心化金融,推特上1000w粉丝的华为官方号向其粉丝介绍了这个项目,为项目带来了很多热度.
1900/1/1 0:00:00近期以EggsCare为代表的「反向(3,3)」项目大热,不仅是因为Token的大幅上涨,更是因为其「火不过一天」的价格表现.
1900/1/1 0:00:00金色财经报道,区块链分析公司Nansen披露的数据显示,三箭资本NFT销售预估价格为6280ETH,约合1030万美元,包括30枚Fidenza,11枚CryptoPunks和17枚Ringers.
1900/1/1 0:00:00原文编译:GaryMa吴说区块链Coinbase官宣孵化L2网络Base一度让市场沸腾,根据官方描述,Base是基于OPStack技术堆栈构建的一个以太坊二层网络,本文归纳总结了与之相关的几大要点,方便读者了解.
1900/1/1 0:00:00亲爱的BitMart用户:BitMart将于2023年3月1日上线代币Web3CampToken(3P)。届时将开通3P/USDT交易对.
1900/1/1 0:00:00