「胖应用链」理论:应用
MetaTrust:Onyx的治理和漏洞是如何沦为黑客的“金铲子”?
11 月 1 日,MetaScout 监测到以太坊上的借贷协议 Onyx Protocol 遭受了一次闪电贷攻击,损失了 210 万美元。根本原因是黑客盯上并首先执行了添加新市场的提案,以及 Compound 分叉协议中存咋 id 精度损失问题。
MetaTrust Labs 据此对该事件进行了深入的研究和分析,揭露黑客是如何利用治理提案和协议漏洞对 Onyx Protocol 发起这场攻击。
关于 Onyx Protocol
Onyx Protocol(https://docs.onyx.org/)是一个借贷市场,旨在为以太坊网络上的用户提供安全和无需信任的信贷和借贷服务。
在 2023 年 10 月 29 日,Onyx Protocol(https://x.com/OnyxProtocol/status/1718348637158137858?s=20)启动了提案 OIP-22 ,以将$PEPE 添加到市场中。然而遗憾的是,该提案被黑客盯上并加以攻击了。
同时,从 Onyx 链上部署的合约来看,它是 Compound 衍生协议,由于遭受攻击,其 TVL 从 286 万美元下降到 55 万美元。
攻击行动
攻击损失
两笔攻击交易的总损失约为 214 万美元
攻击者
0xdec2F31C3984F3440540DC78Ef21b1369d4eF767 0x5083956303a145f70ba9f3d80c5e6cb5ac842706
攻击合约
0x052ad2f779c1b557d9637227036ccaad623fceaa
受攻击合约
代理合约:https://etherscan.io/address/0x5fdbcd61bc9bd4b6d3fd1f49a5d253165ea11750
实现合约:https://etherscan.io/address/0x9dcb6bc351ab416f35aeab1351776e2ad295abc4#code
治理合约
https://etherscan.io/address/0xdec2f31c3984f3440540dc78ef21b1369d4ef767
攻击步骤
TL;DR
以攻击交易0x f 7 c 216 为例
1. 黑客(0x 085 bDf)首先执行提案 OIP-22 以添加一个名为 oPEPE(0x 5 fdbcd)的新市场
2. 在新市场添加后的一分钟内,从 AAVE 启动了一个闪电贷并获得了 4, 000 个$WETH
将 4, 000 个$WETH 兑换成 2, 520, 870, 348, 093 个$PEPE
将所有的$PEPE 转移到地址0x f 8 e 153
在上述地址0x f 8 e 153 创建合约,使用 1 个$PEPE 铸造了 50, 000, 000, 000, 000, 000, 000 个$oPEPE,赎回了绝大部分$oPEPE,仅剩下 2 wei 给 oPEPE 市场
将 2, 520, 870, 348, 093 个$PEPE 转移到 oPEPE 并以$oPEPE 进入市场
借入 334 个$ETH
由于精度损失问题,仅赎回了 1 wei 的$oPEPE 就换取了 2, 520, 870, 348, 093 个$PEPE
从步骤 b 到步骤 f 重复以上步骤,借入$USDC、$USDT、$PAXG、$DAI、$WBTC 和$LINK,兑换成$ETH
汇率 = (总现金 + 总借出 - 总储备)/总供应 = 2, 520, 870, 348, 093, 423, 681, 390, 050, 791, 472 / 2 = 1, 260, 435, 174, 046, 711, 840, 695, 025, 395, 736
赎回金额 = 2, 520, 870, 348, 093, 423, 681, 390, 050, 791, 470
由于受到交易截断,赎回令牌 = 赎回金额 / 汇率 = 1
清算借款人(0x f 8 e 153)的 881, 647, 840 wei $PEPE
赎回了 856, 961, 701 wei $PEPE
3. 用 4, 002 个$WETH 还清 AAVE 的闪电贷,从中获得了 1156.9 个$ETH 的利润