上线就被秒,Radiant Protocol 被黑客攻击损失 450 万美元
撰文:Daniel Tan
北京时间 2024 年 1 月 3 日,AXiaobai Navigationrbitrum 上的 Radiant 协议受到闪贷攻击。黑客对 #Radiant 协议进行了 3 次攻击,总共损失了 1902 枚 ETH(价值 450 万美元)。根本原因是在新的 $USDC 市场上,放大和利用了「burn」函数中的数学舍入问题,使得黑客可以提取额外的 $USDC。
MetaTrust Labs 对这次攻击进行了深入的研究和分析,揭示了黑客如何利用漏洞发起攻击。
借贷协议 Radiant Protocol
Radiant 是一种去中心化、非托管借贷协议,在多个链上运行,包括 Arbitrum、BNBChain 和以太坊。
攻击发生后,Radiant 协议锁定的总价值仍然有 3.13 亿美元,这是因为项目方被攻击后迅速暂停了协议,阻止了进一步的损失。
时间线
trade
0xc5c4bbddec70edb58efba60c1f27bce6515a45ffcab4236026a5eeb3e877fc6d
0x2af556386c023f7ebe7c662fd5d1c6cc5ed7fba4723cbd75e00faaa98cd14243
0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b
资产损失
3 笔攻击交易导致总计损失超 1902 枚 ETH,价值超 450 万美元。截稿时,1902 枚 $ETH 仍然保存在黑客的wallet中(0x826d5f4d8084980366f975e10db6c4cf1f9dde6d)。
攻击者
0x826d5f4d8084980366f975e10db6c4cf1f9dde6d
攻击contract
0x39519c027b503f40867548fb0c890b11728faa8f
受攻击contract
Radiant: Lending Pool:
0xf4b1486dd74d07706052a33d31d7c0aafd0659e1
rUSDCn:
0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55
攻击之前发生了什么
攻击前 15 秒,项目方刚在 Arbitrum 上创建了一个新的 USDC 市场,黑客是第一个与新的 USDC 市场互动的人。
攻击步骤
以第一笔攻击交易 0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b 为例。
1. 通过闪贷功能从 AAVE 借入 300 万美元 USDC;
2. 存入 2M $USDC 至 Radiant Pool,此时 liquidityIndex 为 1e27
3. 在 Radiant Lending Pool 上进行 200 万美元的闪贷,将 liquidityIndex 放大到 1.8e36。
4. 重复执行步骤 3,151 次,将 liauidityIndex 放大至 2.7e38,即初始值的 270000000000 倍。
5. 从 Radiant Pool 借入 90.6 $ETH,价值 $215K,这就是这次攻击的利润;
6. 创建新合约(0xd8b591);
7. 批准对新合约无限额度的 USDC,将 543K $USDC 转入新合约,并使用新合约执行以下步骤;将 543K $USDC 转入新合约,并使用新合约执行以下步骤;
8. 充值 543K $USDC 到 Radiant 池中,铸造 2 wei 的Token,因为 amountScaled 为 2 的Token,543600000002*1e27/271800000000999999999999998631966035920=2;
9. 从 Radiant 池中提取 407K $USDC,仅燃烧 1 wei 的Token,因为 amountScaled 为 1,407700000000*1e27/271800000000999999999999998631966035920=1.5 以及数学舍入问题。请注意,amountScaled 是一个 uint256 类型变量,它将把 1.5 转换为 1。
10. 存入 271K $USDC 到 Radiant 池中,铸造 amountScaled 为 1 的代币,因为 271800000001*1e27/271800000000999999999999998631966035920=1
11. 从 Radiant 池中提取 407K $USDC,仅销毁 amountScaled 为 1 的代币。
12. 重复步骤 10 和 11 最多 18 次,并从新市场中耗尽黑客之前存入新市场的 $USDC。
13. 将 2 $WETH 兑换为 4.73K $USDC,将 3.23K $USDC 兑换为 1.36 $WETH。
14. 以 350 万美元 USDC 作为本金和 1.5 万美元 USDC 作为费用,偿还 AAVE 的闪贷。
15. 获得 90 美元 ETH 的利润。
根本原因
根本原因在于,黑客是第一个与 新创建的原生 USDC 市场进行交互的人,利用 Radiant 协议的闪电贷功能放大 liquidityIndex,并利用数学舍入问题steal取借贷池中的资产。
关键代码
The article comes from the Internet:上线就被秒,Radiant Protocol 被黑客攻击损失 450 万美元
这次史诗级空投不仅仅是一次奖励,更是火币HTX对用户长期以来信任与支持的真挚感谢。 近日,火币HTX宣布即将启动一场史诗级空投,为广大用户呈现一场前所未有的财富盛宴。这一消息迅速传遍中文币圈,激发了用户们对于即将到来的史诗级空投的期待和兴奋。作为一个热衷于区块…