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

知道创宇区块链安全实验室
企业专栏
热度: 14195

BSC 链上的 bDollar 项目遭受攻击,黑客通过操纵价格获利超 73万美元。

前言

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


合约

合约总结

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


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


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


声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。