免责声明:文章已更新,以反映 Omniscia 没有审核 MasterPlatypusV4 合约的版本。 相反,该公司在 1 年 21 月 5 日至 2021 月 XNUMX 日审核了 MasterPlatypusVXNUMX 合约的一个版本。
8 万美元的 Platypus 闪电贷攻击之所以成为可能,是因为代码顺序错误, 根据 鸭嘴兽审计员 Omniscia 的尸检报告。 审计公司声称他们审计的版本中不存在有问题的代码。
鉴于最近 @鸭嘴兽 事件 https://t.co/30PzcoIJnt 团队已经准备了一份技术性事后分析,详细描述了该漏洞利用是如何被揭开的。
一定要遵循 @Omniscia_sec 接收更多安全更新!https://t.co/cf784QtKPK pic.twitter.com/egHyoYaBhn
— 奥姆尼西亚 (@Omniscia_sec) 2023 年 2 月 17 日
根据该报告,Platypus MasterPlatypusV4 合约“在其紧急撤回机制中包含一个致命的误解”,这使得它“在更新与股权头寸相关的 LP 代币之前执行偿付能力检查”。
该报告强调,emergencyWithdraw 函数的代码具有防止攻击的所有必要元素,但这些元素只是以错误的顺序编写,正如 Omniscia 解释的那样:
“这个问题可以通过重新排序 MasterPlatypusV4::emergencyWithdraw 语句并在用户的金额输入设置为 0 后执行偿付能力检查来防止,这将阻止攻击发生。”
Omniscia 在 1 年 21 月 5 日至 2021 月 XNUMX 日期间审计了 MasterPlatypusVXNUMX 合约的一个版本。但是,该版本“不包含与外部 platypusTreasure 系统的集成点”,因此不包含顺序错误的代码行。
值得注意的是,在 Omniscia 进行审计时,被利用的代码并不存在。 Omniscia 的观点暗示,开发人员必须在审计完成后的某个时刻部署了新版本的合约。
相关新闻: Raydium 公布黑客攻击细节,建议对受害者进行赔偿
审计员声称 Avalanche C-Chain 地址 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 的合约实施是 剥削. 该合约的第 582-584 行似乎在 PlatypusTreasure 合约上调用一个名为“isSolvent”的函数,第 599-601 行似乎将用户的金额、因子和奖励债务设置为零。 但是,在调用“isSolvent”函数后,这些数量将设置为零。
鸭嘴兽团队 确认 16 月 XNUMX 日,攻击者利用了“USP 偿付能力检查机制中的缺陷”,但该团队最初并未提供更多细节。 审计员的这份新报告进一步阐明了攻击者可能如何完成攻击。
鸭嘴兽团队于 16 月 XNUMX 日宣布, 发生攻击. 它试图联系黑客并获得返还资金以换取漏洞赏金。 袭击者 使用闪贷 执行漏洞利用,这类似于在 Defrost Finance漏洞利用 25 年 2022 月 XNUMX 日。
来源:https://cointelegraph.com/news/platypus-attack-exploited-incorrect-ordering-of-code-auditor-claims