Gate 广场「创作者认证激励计划」优质创作者持续招募中!
立即加入,发布优质内容,参与活动即可瓜分月度 $10,000+ 创作奖励!
认证申请步骤:
1️⃣ 打开 App 首页底部【广场】 → 点击右上角头像进入个人主页
2️⃣ 点击头像右下角【申请认证】,提交申请等待审核
立即报名:https://www.gate.com/questionnaire/7159
豪华代币奖池、Gate 精美周边、流量曝光等超 $10,000 丰厚奖励等你拿!
活动详情:https://www.gate.com/announcements/article/47889
上线就被秒,Radiant Protocol 被黑客攻击损失 450 万美元
撰文:Daniel Tan
北京时间 2024 年 1 月 3 日,Arbitrum 上的 Radiant 协议受到闪贷攻击。黑客对 #Radiant 协议进行了 3 次攻击,总共损失了 1902 枚 ETH(价值 450 万美元)。根本原因是在新的 $USDC 市场上,放大和利用了「burn」函数中的数学舍入问题,使得黑客可以提取额外的 $USDC。
MetaTrust Labs 对这次攻击进行了深入的研究和分析,揭示了黑客如何利用漏洞发起攻击。
借贷协议 Radiant Protocol
Radiant 是一种去中心化、非托管借贷协议,在多个链上运行,包括 Arbitrum、BNBChain 和以太坊。
攻击发生后,Radiant 协议锁定的总价值仍然有 3.13 亿美元,这是因为项目方被攻击后迅速暂停了协议,阻止了进一步的损失。
时间线
交易
0xc5c4bbddec70edb58efba60c1f27bce6515a45ffcab4236026a5eeb3e877fc6d
0x2af556386c023f7ebe7c662fd5d1c6cc5ed7fba4723cbd75e00faaa98cd14243
0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b
资产损失
3 笔攻击交易导致总计损失超 1902 枚 ETH,价值超 450 万美元。截稿时,1902 枚 $ETH 仍然保存在黑客的钱包中(0x826d5f4d8084980366f975e10db6c4cf1f9dde6d)。
攻击者
0x826d5f4d8084980366f975e10db6c4cf1f9dde6d
攻击合约
0x39519c027b503f40867548fb0c890b11728faa8f
受攻击合约
Radiant: Lending Pool:
0xf4b1486dd74d07706052a33d31d7c0aafd0659e1
rUSDCn:
0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55
攻击之前发生了什么
攻击前 15 秒,项目方刚在 Arbitrum 上创建了一个新的 USDC 市场,黑客是第一个与新的 USDC 市场互动的人。
攻击步骤
以第一笔攻击交易 0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b 为例。
通过闪贷功能从 AAVE 借入 300 万美元 USDC;
存入 2M $USDC 至 Radiant Pool,此时 liquidityIndex 为 1e27
在 Radiant Lending Pool 上进行 200 万美元的闪贷,将 liquidityIndex 放大到 1.8e36。
重复执行步骤 3,151 次,将 liauidityIndex 放大至 2.7e38,即初始值的 270000000000 倍。
从 Radiant Pool 借入 90.6 $ETH,价值 $215K,这就是这次攻击的利润;
创建新合约(0xd8b591);
批准对新合约无限额度的 USDC,将 543K $USDC 转入新合约,并使用新合约执行以下步骤;将 543K $USDC 转入新合约,并使用新合约执行以下步骤;
充值 543K $USDC 到 Radiant 池中,铸造 2 wei 的代币,因为 amountScaled 为 2 的代币,543600000002*1e27/271800000000999999999999998631966035920=2;
存入 271K $USDC 到 Radiant 池中,铸造 amountScaled 为 1 的代币,因为 271800000001*1e27/271800000000999999999999998631966035920=1
从 Radiant 池中提取 407K $USDC,仅销毁 amountScaled 为 1 的代币。
重复步骤 10 和 11 最多 18 次,并从新市场中耗尽黑客之前存入新市场的 $USDC。
将 2 $WETH 兑换为 4.73K $USDC,将 3.23K $USDC 兑换为 1.36 $WETH。
以 350 万美元 USDC 作为本金和 1.5 万美元 USDC 作为费用,偿还 AAVE 的闪贷。
获得 90 美元 ETH 的利润。
根本原因
根本原因在于,黑客是第一个与 新创建的原生 USDC 市场进行交互的人,利用 Radiant 协议的闪电贷功能放大 liquidityIndex,并利用数学舍入问题窃取借贷池中的资产。
关键代码