“任性”的代价?Zunami Protocol因价格操纵被攻击,损失超过 210 万美元
摘要: 本次攻击原因是漏洞合约中LP价格计算依赖了合约自身的CRV余额,和CRV在wETH/CRV池中的兑换比例。
2023年8月14日,Beosin EagleEye安全风险监控、预警与阻断平台监测显示,以太坊链上Zunami Protocol协议遭遇价格操纵攻击,损失1152个ETH,价值210万美元。
据了解,Zunami Protocol是一个为用户分配稳定币的平台,可以理解为去中心化收入聚合器,为稳定币持有者创造更有益的解决方案。
关于本次事件有一个小插曲,此前已有安全公司善意提醒其出现漏洞,但项目方却没有重视,“任性”不管,结果本次事件发生后,已为时已晚。
Beosin安全团队第一时间对事件进行了分析,结果如下:
事件相关信息
●攻击交易Tx1:0x2aec4fdb2a09ad4269a410f2c770737626fb62c54e0fa8ac25e8582d4b690ccaTx2:0x0788ba222970c7c68a738b0e08fb197e669e61f9b226ceec4cab9b85abe8cceb
●攻击者地址0x5f4c21c9bb73c8b4a296cc256c0cde324db146df
●攻击合约0xa21a2b59d80dc42d332f778cbb9ea127100e5d75
●被攻击合约0xe47f1cd2a37c6fe69e3501ae45eca263c5a87b2b
漏洞分析
本次攻击原因是漏洞合约中LP价格计算依赖了合约自身的CRV余额,和CRV在wETH/CRV池中的兑换比例。攻击者通过向合约中转入CRV并操控wETH/CRV池子的兑换比例,从而操控了LP价格。
攻击流程
我们以0x2aec4......交易为例:
攻击准备:
1.黑客首先通过balancer:Vault闪电贷借出6811枚ETH作为攻击资金。
2. 使用闪电贷的300ETH 兑换出84 zETH,为后续zETH增值做准备
攻击阶段:
1.使用11 ETH 兑换 35293 CRV 转入sEthFraxEthCurveConvex合约,攻击者操纵sEthFraxEthCurveConvex合约中的CRV余额,为了后续攻击操控提前做好准备。
2.然后使用406个ETH 在wETH/CRV 池子中多次重复兑换CRV,从而CRV被拉高了大约10倍价格。
3.由于zETH(LP)的价值计算由CRV代币的价格和依赖sEthFraxEthCurveConvex合约中CRV与ETH计算的估价2个因素共同决定。
4.攻击者通过上面的步骤操纵了CRV的价格和漏洞合约的CRV余额,导致最终_assetPriceCached变大。
5.由于计算zETH(LP)的balanceOf中使用的_assetPriceCached变大,使得84zETH 增值到221 zETH。
6.使用第4步兑换出来的CRV再兑回ETH,用来归还闪电贷。
7.将增值后的221 zETH(LP)兑换成389 ETH。
8.归还6811 ETH 闪电贷及其他费用,最终获利26ETH。
资金追踪
截止发文时,Beosin安全分析团队发现被盗资金已全部转入Tornado cash。
总结
针对本次事件,Beosin安全团队建议:
1.相关类似的项目方应该在计算Lp价值时,考虑不同代币池依赖关系。
2.项目上线前,建议选择专业的安全审计公司进行全面的安全审计,规避安全风险。
Beosin作为一家全球领先的区块链安全公司,在全球10多个国家和地区设立了分部,业务涵盖项目上线前的代码安全审计、项目运行时的安全风险监控、预警与阻断、虚拟货币被盗资产追回、安全合规KYT/AML等“一站式”区块链安全产品+服务,公司致力于Web3生态的安全发展,已为全球3000多个企业提供区块链安全技术服务,包括HashKey Group、Amber Group、BNB Chain等,已审计智能合约和公链主网超3000份,包括PancakeSwap、Ronin Network、OKCSwap等。欢迎点击公众号留言框,与我们联系。
评论(0)
Oh! no
您是否确认要删除该条评论吗?