2022年5月21日,成都链安链必应-区块链安全态势感知平台舆情监测显示, bDollar项目遭受价格操控攻击,攻击者获利2381WBNB(价值约73万美元)。成都链安技术团队第一时间对事件进行了分析,结果如下。
#1 项目相关信息
由 Bearn.fi 提供的 bDollar 是币安智能链上的第一个算法稳定币,它可以确定性地调整其供应量,将代币的价格向目标价格方向移动,从而为 DeFi 带来可编程性和互操作性。
#2 事件相关信息
攻击交易
0x9b16b1b3bf587db1257c06bebd810b4ae364aab42510d0d2eb560c2565bbe7b4
攻击者地址
0x9dadbd8c507c6acbf1c555ff270d8d6ea855178e
攻击合约
0x6877f0d7815b0389396454c58b2118acd0abb79a
被攻击合约
0xeaDa3d1CCBBb1c6B4C40a16D34F64cb0df0225Fd
1、通过闪电贷借出670WBNB。
2、 将其分成多份分别转入到WBNB/BDO、BUSD/BDO等多个池子进行兑换,拉高BDO的价格。
3、攻击者接着借出30,516 cake用于后续攻击:调用DAO Fund合约中的claimAndReinvestFromPancakePool函数,该函数将cake兑换成400个wbnb,且触发了200WBNB兑换BDO,然而最后会调用_addLiquidity,用合约中的WBNB去添加流动性。此时由于BDO价格很高,导致添加流动性时需要使用项目方合约中大量的WBNB,相当于项目方高位接盘。
4、最后攻击者通过pancake兑换出WBNB,归还闪电贷,获利2381 WBNB。
本次攻击主要利用了DAO fund代理合约CommunityFund中claimAndReinvestFromPancakePool函数在添加流动性时的设计漏洞,未充分考虑到价格被恶意拉高后,项目方会在添加流动性时,用自己合约内的资金被动高位接盘的情况。
截止发文时,被盗资金还未被攻击者转出,仍存在攻击合约中:0x6877F0D7815b0389396454C58b2118ACD0aBB79A。
针对本次事件,成都链安技术团队建议:
1、合约在设计时应充分考虑可能遇到的攻击,尽量完善其安全设计;
2、项目上线前,建议选择专业的安全审计公司进行全面的安全审计,规避安全风险。