- 攻击者在漏洞利用前花了两天多时间创建了 423 个钱包和假代币池。
- 滑点保护漏洞在连续的交换步骤中重复计算了相同的代币价值两次。
- 随着恢复工作开始,Tether 直接在攻击者的钱包中冻结了 329 万美元的 USDT。
Rhea Finance 本周发布了详细的事后报告,此前在一次漏洞利用中损失了 1840 万美元,调查人员将其描述为两种已知 DeFi 攻击方式的组合,形成了新的攻击手法。他们透露,攻击并非在几分钟内发生,而是经过了两天的准备。
攻击准备
在 4 月 13 日至 15 日期间,攻击者悄悄构建了进行资金抽取所需的基础设施:
- 创建了一个通过跨链转账注资的主钱包
- 快速自动化地将资金分配到 423 个独特的中间钱包
- 部署了专门构建的假代币合约,不暴露标准元数据
- 在 Ref Finance 上创建了八个新的交易池,将假代币与 USDC、USDT 和 wNEAR 配对,采用人为控制的价格比率
- 构建了一个连接这些假池作为攻击载体的交换路由器
当漏洞利用在 4 月 16 日启动时,整个基础设施已经就位并处于待命状态。
滑点诡计的实际运作方式
这次攻击的技术精妙之处使其引人注目。Rhea Finance 的保证金交易功能包含滑点保护,该功能会汇总所有交换步骤的预期输出,以验证用户获得公平价值。攻击者发现了该计算在连续步骤中的运作漏洞。
简单来说,漏洞利用过程如下:
- 步骤 1:1,000 USDC 转换为 999 AttackerToken,最小输出为 999
- 步骤 2:999 AttackerToken 转换回 1 USDC,最小输出为 1
- 滑点检查显示:999 加 1 等于 1,000。看起来没问题。
- 实际情况:只有 1 USDC 返回到协议。999 USDC 留在了攻击者的池中。
该检查将 AttackerToken 计为最终输出,却没有识别出它立即被用作下一步的输入。借入的资金被引入攻击者的假池。头寸的价值立即远低于其债务,触发了强制清算,耗尽了储备池。
最接近的先例是 2023 年的 KyberSwap 漏洞利用,该事件造成 5470 万美元损失,使用的是在连续操作中重复计算相同价值两次的相同原理。
目前状况
1840 万美元中约有 900 万美元已被追回或冻结,包括 Tether 直接在攻击者钱包中冻结的 329 万美元 USDT。在恢复工作继续进行期间,借贷合约已被暂停。
Near Intents 团队表示攻击者已被识别,甚至可能在 X 平台上有公开身份。已向中心化交易所开启正式追踪以识别账户所有者。
Rhea Finance 的事后报告包含完整的攻击时间表、交易哈希值以及确切的漏洞代码行。这被描述为 DeFi 历史上最详细的漏洞披露之一。
相关:Rhea Finance 在假代币池攻击后遭受 760 万美元漏洞利用
免责声明: 本文所提供的信息仅供资讯和教育目的。本文不构成财务建议或任何形式的建议。Coin Edition 对因使用所提及的内容、产品或服务而产生的任何损失不承担责任。建议读者在采取与公司相关的任何行动之前谨慎行事。
来源: https://coinedition.com/18-4m-rhea-finance-hack-built-over-two-days-post-mortem-reveals/








