2023年11月11日上午02:59:23,UTC+8:00,MetaScout探测到在Ethereum上的安稳币协议Raft遭受了一次闪电贷进犯,结果导致6.7百万枚安稳币$R被铸造,协议丢失了360万美元。底子原因是在铸造比例代币时产生的精度核算问题,黑客使用这一问题获取额定的比例代币。
MetaTrust Labs对这次进犯进行了深入的研讨和剖析,揭示了黑客如何使用漏洞发起进犯。
安稳币协议 Raft
About The Stablecoin Protocol Raft
Raft是一个DeFi协议,经过存入流动性质押代币(LSDs)作为典当,提供了一种本钱高效的假贷方法,一起保留了质押奖励。https://raft.fi/
到编撰本文时,其总确定价值(TVL)在今日的进犯后下降了46%,为700万美元。$R的价格下降了99.6%,为0.0036美元。
相关合约及买卖
Smart Contracts & Transactions
买卖
https://etherscan.io/tx/0xfeedbf51b4e2338e38171f6e19501327294ab1907ab44cfd2d7e7336c975ace7
进犯者
0xc1f2b71a502b551a65eee9c96318afdd5fd439fa
进犯合约
0x0a3340129816a86b62b7eafd61427f743c315ef8
受进犯合约
InterestRatePositionManager: 0x9ab6b21cdf116f611110b048987e58894786c244
进犯步骤
Attacking Steps
1. 经过闪电贷从AAVE借入6000枚$cbETH;
2. 将总计6001枚$cbETH转移到InterestRatePositionManager合约;
3. 清算InterestRatePositionManager合约上预先创建的仓位0x011992114806e2c3770df73fa0d19884215db85f;
4. 将raft典当代币的索引设置为6,003,441,032,036,096,684,181,即InterestRatePositionManager合约的$cbETH余额,并因为步骤2的捐款而扩大了上1000倍;
5. 经过使用divUp函数核算比例时,经过仅1 wei 的$cbETH就铸造1 wei比例。留意,当分子非零时,不管分母有多大,divUp函数的最小返回值都为1:
6. 重复第5步60次,以取得60 wei比例,即10,050$cbETH;
7. 经过只有90 wei $rcbETH-c兑换6003$cbETH;
8. 借入6.7百万$R,即利润,并最终在不同的Dapps中交换为价值360万美元的1575枚$ETH,其中包含:
- 在Balancer大将210万$R兑换为200万$sDAI
- 在Balancer大将120万$R兑换为115万$DAI
- 在Uniswap大将20万$R兑换为8.6万$USDC
9. 令人大跌眼镜的是,黑客将1570枚$ETH烧给了黑洞地址,这意味着黑客一分利润都没拿到。
底子原因
Root Cause
底子原因是在铸造比例代币时产生的精度核算问题,黑客使用这一问题获取额定的比例代币。因为$cbETH的捐款扩大了index,导致黑客的比例价值更高,因而黑客仅仅用了一点$rcbETH-c就兑换了6003枚$cbETH并借入大量$R。
要害代码
Key Code
财物丢失
Asset Loss
360万美元
资金流向
Fund Flow
1570$ETH因为黑客的误操作而被烧掉。
到现在编撰本文时,进犯者的钱包中有140万$R代币(价值4.6千美元)。
安全主张
Security Recommendations
1. 考虑在利率核算的情况下查看潜在的四舍五入问题,如在边缘情况下是否能够被歹意用户操作,正如Raft进犯事例景象。
2. 主张在产生紧急情况时采取监控体系并暂停协议的办法。或许,整合一个内存池堵塞体系将是有益的。这个体系能够在进犯者履行进犯时有效地检测内存池中的进犯买卖,以进行预防性堵塞,防止丢失。
此时快讯
【比特币闪电网络节点数量为14,606个】金色财经报道,1ML数据显示,当前比特币闪电网络节点为14,606个,过去30天减少1.92%;通道数量为62,724个,较一个月前减少了2.0%;网络容量为5,283.34BTC,月增加2%。