2022?年?11?月,OpenAI?推出了创新的人工智能项目。
除了可用于进行文章的撰写和总结、笑话和诗歌的创作以外,ChatGPT?还可以用来调试和生成代码。
2022?年全年,Web3.0??领域因黑客攻击和欺诈等事件造成的资产损失超过了?37?亿美元,这样巨额损失不禁让业内人思考:如?ChatGPT?这样的新技术是否可以用以改善智能合约代码的安全性。
ZKasino?是一个去中心化的平台,近期通过?ChatGPT?进行了一次预审计。
ZKasino?希望在?CertiK?开展全面审计的同时,让?CertiK?为?ChatGPT?所得出的结果进行一个初步的审查,以测试?ChatGPT?作为?AI「智能合约审计师」的能力。
那么?ChatGPT?的测试结果如何呢?
其是否已经准备好接替人工代码审计专家的工作?
或者说它仍不足以完全替代人工?
THORChain由于未知错误停机,无资金被盗:金色财经报道,周四早些时候,THORCHain在推特上表示,其开发人员已经意识到链中断的问题,并可能已经确定了问题的来源。该团队没有提出资金被盗的问题,并在推特上提到,该漏洞“与偿付能力无关”。
THORChain在推特中写道,链暂停的原因可能是由于一个“独特的交易类型”错误。THORChain没有在推特中进一步澄清或详细说明这意味着什么。(the block)[2022/10/28 11:51:15]
2022?年?12?月?23?日,ZKasino「聘请」了?ChatGPT?来识别智能合约中潜在的安全风险。该工具也的确提出了几个表面上听起来很合理的风险担忧。
然而,尽管?ChatGPT?不可否认地为Web3.0?安全社区提供了一些有价值的服务,但是我们发现其仍有相当大的改进空间——ChatGPT?遗漏了一些严重或关键性的漏洞,同时又「误伤」了那些没问题的代码。在此,我们希望?CertiK?安全专家的深度数据和建议能够助力?ChatGPT?成为一个更强大的Web3.0?应用安全工具。
Graph Blockchain将购买30万美元ADA,以参与PoS挖矿:3月31日消息,加拿大上市公司Graph Blockchain Inc.将投资价值30万美元的ADA,用于质押参与PoS挖矿。(Finbold)[2021/3/31 19:33:59]
下文,我们将为大家详细介绍此次事件中?ChatGPT?的两类错误发现。
ChatGPT?发现了合约中的哪些问题?
ChatGPT?遗漏了什么
ChatGPT?提到了在许多智能合约实现中都会存在的几个常见安全问题。
但是,它未能识别某些严重的风险,包括:
项目特定的逻辑漏洞
不准确的数学计算和统计模型
代码实现和项目设计的不一致
漏洞#1?:项目特定的逻辑问题
ChatGPT?未能识别出一个关键漏洞,该漏洞会导致攻击者可以不断地赢取并耗尽?Bankroll?合约中用户的资金。玩家可以通过调用可验证随机函数加入游戏,Chainlink?的?VRF?会使用随机数触发?fulfillRandomWords()函数以完成游戏。
Rose Chen:链上ChainUP WaaS联盟——聚力赋能 保障企业资产安全:近日,链上ChainUP WaaS联盟合伙人Rose Chen受邀参加币牛牛《牛牛面对面》专访时表示,ChainUP WaaS联盟解决了企业资产托管安全隐患、主链开发技术难、热门币种追不上等一系列痛点,目前已支持200+主链,大大节省了客户的开发时间与人力成本,致力于保障企业资产安全;同时也支持DeFi、波卡等热门币种的快速接入,让交易所创业者在热门资产中快速抢夺市场先机。作为全球领先的企业金融托管服务平台,近期ChainUP WaaS联盟会陆续上线理财、借贷等产品功能,以提升联盟企业成员的资产使用率与沉淀资金价值;也会继续支持更多热门价值主链,降低客户边际成本,扶持WaaS联盟企业成员快速长远地发展。
ChainUP WaaS联盟是链上ChainUP集团依托3年时间所服务的500多家企业客户经验,将底层资产托管和钱包封装而成的一套完整的服务,包含资产托管、节点服务、主链币种开发、热门币种一键接入、共管钱包、借贷理财等多种功能服务,通过开放钱包API与SDK,帮助交易所、项目方、媒体等快速高效接入,实现云端资产安全托管,联盟内部转账0手续费,即时到账。目前已有超过500家企业加入ChainUP WaaS联盟。[2020/11/11 12:18:10]
ZKasino?的代码允许用户在?fulfillRandomWords()?调用失败的情况下将资金取回。
动态 | 前谷歌副总裁 Surojit Chatterjee 加入 Coinbase 担任首席产品官:Coinbase 宣布前谷歌产品副总裁 Surojit Chatterjee 将加入 Coinbase 担任首席产品官(CPO)。Surojit Chatterjee 的目标是将 Coinbase 的一系列产品的加密货币经济(cryptoeconomy)带给数百万人。Surojit Chatterjee 曾在谷歌工作 11 年,期间领导过 Google Shopping 项目,在此之前他领导过印度电商网站 Flipkart 的产品管理、用户体验、产品运营和数据科学等,他之前还是谷歌移动端搜索广告产品的创始成员之一。他表示,「加密货币和区块链技术可以通过发展跨境商务、降低交易成本、提供更高的安全性和帮助个人更好的控制自己未来的财务管理,这会让金融系统更开放。」[2020/1/30]
在?CertiK?对同一智能合约代码的审查中,发现了一个潜在且有害的_transferPayout()调用,该函数被设计为可将赢取的资金转移至玩家的账户。
金色财经独家采访 Usechain创始人兼CEO曹辉宁:EOS很容易受到黑客的攻击:今日,360公司Vulcan(伏尔甘)团队发现了区块链平台EOS的一系列高危安全漏洞。对此, Usechain创始人兼CEO曹辉宁表示,区块链是一个分布式的多中心化的记账方法,这种记账方法保证了我们对系统的信任不是对某个人、某个超级节点的信任,而是整个社区相互全网广播来相互信任,所以是非常安全的。现在很多项目是“伪区块链”,要么没有币,要么没有多中心化的记账方法。EOS是一个伪区块链的概念,很容易受到黑客的攻击,每个节点是轮流做验证交易的。并且会存在黑客和超级节点联合攻击网络的可能,所以EOS网络是非常不可靠的。21个超级节点只要有一个子,就会对整个网络造成非常大的影响。此次漏洞是程序上的漏洞,超级节点的设计很容易被攻击,一旦掌握了超级节点,就掌握了整个系统。[2018/5/29]
然而攻击者可以在输了的时候调用_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?甚至已经可以帮助我们参加夺旗比赛了:欢迎大家点击阅读!
金色财经报道,在《福布斯》报道称加密货币交易所币安转移了“18亿美元的抵押品以支持其客户的稳定币”后,币安否认未经同意使用客户资产.
1900/1/1 0:00:00关于Gate.ioStartup免费空投计划为回馈平台用户,Gate.io上线“免费空投计划”,在Startup区不定期进行区块链项目的免费空投计划.
1900/1/1 0:00:00BXYProtocol是基于BNBChain和TRONNetwork开发的全球共享分布式金融创新平台,致力于构建数字金融链上生态系统。母币鲨鱼王XYW于波场链发行,打造币圈Defi新一代主流币.
1900/1/1 0:00:002023年2月23日,Coinbase和Optimism之前推特上联合发布的小蓝标终于揭晓。原来是Coinbase和OptimismCollective合作推出的基于OPStack的Base测试.
1900/1/1 0:00:00亲爱的用户:火必将于2023年2月21日21:00(GMT8)开放GNS(GainsNetwork)现货交易(GNS/USDT)和网格交易(GNS/USDT).
1900/1/1 0:00:00随着加密资产的不断破圈,新入局的传统投资者数量在不断增加。作为加密市场的枢纽,交易所是投资者进入市场的主要途径之一,如何平衡产品的易用性和专业性,提供安全可靠合规的服务成为了交易所战略转型的核心.
1900/1/1 0:00:00