上线就被秒,Radiant Protocol被黑客攻击损失450万美元

by Daniel Tan





01

摘要

北京时间2024 年 1 月 3 日,Arbitrum 上的 Radiant 协议受到闪贷攻击。黑客对 #Radiant 协议进行了 3 次攻击,总共损失了 1902枚 ETH(价值 450 万美元)。根本原因是在新的 $USDC 市场上,放大和利用了“burn”函数中的数学舍入问题,使得黑客可以提取额外的 $USDC。
MetaTrust Labs对这次攻击进行了深入的研究和分析,揭示了黑客如何利用漏洞发起攻击。



02

借贷协议 Radiant Protocol

Radiant 是一种去中心化、非托管借贷协议,在多个链上运行,包括 Arbitrum、BNBChain 和以太坊。
上线就被秒,Radiant Protocol被黑客攻击损失450万美元
攻击发生后,Radiant 协议锁定的总价值仍然有 3.13 亿美元,这是因为项目方被攻击后迅速暂停了协议,阻止了进一步的损失。
上线就被秒,Radiant Protocol被黑客攻击损失450万美元



03

时间线

上线就被秒,Radiant Protocol被黑客攻击损失450万美元



04

交易

0xc5c4bbddec70edb58efba60c1f27bce6515a45ffcab4236026a5eeb3e877fc6d
0x2af556386c023f7ebe7c662fd5d1c6cc5ed7fba4723cbd75e00faaa98cd14243
0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b



05

资产损失

3 笔攻击交易导致总计损失超 1902 枚 ETH,价值超 450 万美元。截稿时,1902枚 $ETH 仍然保存在黑客的钱包中(0x826d5f4d8084980366f975e10db6c4cf1f9dde6d)。

攻击者

0x826d5f4d8084980366f975e10db6c4cf1f9dde6d

攻击合约

0x39519c027b503f40867548fb0c890b11728faa8f

受攻击合约

Radiant: Lending Pool: 
0xf4b1486dd74d07706052a33d31d7c0aafd0659e1
rUSDCn: 
0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55



06

攻击之前发生了什么

攻击前 15 秒,项目方刚在Arbitrum 上创建了一个新的 USDC 市场,黑客是第一个与新的 USDC 市场互动的人。
上线就被秒,Radiant Protocol被黑客攻击损失450万美元



07

攻击步骤

以第一笔攻击交易0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b为例。
1. 通过闪贷功能从AAVE借入300万美元USDC;
2. 存入2M $USDC至Radiant Pool,此时liquidityIndex为1e27
上线就被秒,Radiant Protocol被黑客攻击损失450万美元
3. 在 Radiant Lending Pool 上进行 200 万美元的闪贷,将liquidityIndex放大到 1.8e36。
4. 重复执行步骤3,151 次,将liauidityIndex 放大至2.7e38,即初始值的270000000000倍。
上线就被秒,Radiant Protocol被黑客攻击损失450万美元
5. 从 Radiant Pool 借入 90.6 $ETH,价值 $215K,这就是这次攻击的利润;
6. 创建新合约(0xd8b591);
7. 批准对新合约无限额度的 USDC,将 543K $USDC 转入新合约,并使用新合约执行以下步骤;将 543K $USDC 转入新合约,并使用新合约执行以下步骤;
8. 充值543K $USDC到Radiant池中,铸造2 wei的代币,因为amountScaled为2的代币,543600000002*1e27/271800000000999999999999998631966035920=2;
上线就被秒,Radiant Protocol被黑客攻击损失450万美元
上线就被秒,Radiant Protocol被黑客攻击损失450万美元
9. 从Radiant池中提取407K $USDC,仅燃烧1 wei的代币,因为amountScaled为1,407700000000*1e27/271800000000999999999999998631966035920=1.5以及数学舍入问题。请注意,amountScaled 是一个 uint256 类型变量,它将把 1.5 转换为 1。
上线就被秒,Radiant Protocol被黑客攻击损失450万美元
上线就被秒,Radiant Protocol被黑客攻击损失450万美元
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 的利润。



08

根本原因

根本原因在于,黑客是第一个与 新创建的原生 USDC 市场进行交互的人,利用 Radiant 协议的闪电贷功能放大liquidityIndex,并利用数学舍入问题窃取借贷池中的资产。



09

关键代码

上线就被秒,Radiant Protocol被黑客攻击损失450万美元
上线就被秒,Radiant Protocol被黑客攻击损失450万美元


 MetaTrust Labs

MetaTrust LabsWeb3AIWeb3AIAI

: https://www.metatrust.io/

Twitter: https://twitter.com/MetaTrustLabs

Linkedin: https://www.linkedin.com/in/metatrust



  

原文始发于微信公众号(MetaTrust Labs):上线就被秒,Radiant Protocol被黑客攻击损失450万美元

版权声明:admin 发表于 2024年1月3日 下午8:50。
转载请注明:上线就被秒,Radiant Protocol被黑客攻击损失450万美元 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...