BDO:创宇区块链:bDollar项目遭受攻击,价格如何能成为一把利器?

前言

北京时间2022年4月30日,知道创宇区块链安全实验室?监测到BSC链上的bDollar项目遭到价格操纵攻击,导致损失约73万美元。

知道创宇区块链安全实验室?第一时间跟踪本次事件并分析。

基础信息

攻击者地址:0x9dadbd8c507c6acbf1c555ff270d8d6ea855178e

攻击合约:0x6877f0d7815b0389396454c58b2118acd0abb79a

tx:0x9b16b1b3bf587db1257c06bebd810b4ae364aab42510d0d2eb560c2565bbe7b4

CommunityFund合约:0xEca7fC4c554086198dEEbCaff6C90D368dC327e0

漏洞分析

漏洞关键在于CommunityFund合约中的claimAndReinvestFromPancakePool方法在使用Cake代币进行代币转换时,会对换取的WBNB数量进行判断并且会自动把换取的WBNB的一半换为BDO代币;而之后合约会自动使用合约中的WBNB为池子添加流动性,若此时BDO代币的价值被恶意抬高,这将导致项目方使用更多的WBNB来为池子添加流动性。

而最为关键的是,攻击者实施攻击前,在WBNB/BDO、Cake/BDO、BUSD/BDO池子中换取了大量BDO代币导致BDO价格被抬高。

在我们对攻击交易进行多次分析之后,发现事情并没有那么简单,该次攻击极有可能是被抢跑机器人抢跑交易了,依据如下:

1、该笔攻击交易比BSC链上普通交易Gas费高很多,BSC链上普通交易默认Gas费为5Gwei,而该笔交易竟高达2000Gwei。

2、我们发现该攻击合约与攻击者地址存在多笔抢跑交;

3、我们在相同区块内找寻到了真实攻击者的地址与交易,该交易被回滚了。

攻击流程

1、攻击者使用闪电贷贷款670枚WBNB;

2、之后攻击者将WBNB在各个池子中换取大量BDO代币;

3、随后攻击者再次使用闪电贷贷款30516枚Cake代币;

4、将贷款的Cake代币进行swap,换取400WBNB,其中200枚被协议自动换取为BDO代币;

5、攻击者将WBNB换取Cake代币用于归还闪电贷;

6、最后,攻击者将升值后的3,228,234枚BDO代币换取3020枚WBNB,还款闪电贷671枚,成功套利2381枚WBNB价值约73万美元。

总结

本次攻击事件核心是合约会为流动性池自动补充流动性,而未考虑代币价格是否失衡的情况,从而导致项目方可能在价格高位对流动性进行补充,出现高价接盘的情况。

建议项目方在编写项目时多加注意函数的逻辑实现,对可能遇到的多种攻击情况进行考虑。

在此提醒项目方发布项目后一定要将私钥严密保管,谨防网络钓鱼,另外,近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-5:104ms