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

IP归属:香港

前言

北京时间 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 万美元。

总结

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

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

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

本文来源:陀螺科技 文章作者:创宇区块链安全实验室
收藏
举报
创宇区块链安全实验室
累计发布内容34篇 累计总热度10万+

陀螺科技现已开放专栏入驻,详情请见入驻指南: https://www.tuoluo.cn/article/detail-27547.html

创宇区块链安全实验室专栏: https://www.tuoluo.cn/columns/author1876980/

本文网址: https://www.tuoluo.cn/article/detail-10098353.html

免责声明:
1、本文版权归原作者所有,仅代表作者本人观点,不代表陀螺科技观点或立场。
2、如发现文章、图片等侵权行为,侵权责任将由作者本人承担。

相关文章