妖怪已经从瓶子里跑出来了?我们剖析了 PancakeBunny 和 AutoShark 的闪电贷攻击原理和攻击者的链上转账记录,发现了 Merlin Labs 同源攻击的一些蛛丝马迹。
2021 年 5 月 20 日,一群不知名的攻击者通过调用函数 getReward() 抬高 LP token 的价值,获得额外的价值 4,500 万美元的 BUNNY 奖励。5 月 25 日,PeckShield「派盾」预警发现,Fork PancakeBunny 的收益聚合器 AutoShark Finance 遭到 PancakeBunny 同源闪电贷攻击。
2021 年 5 月 26 日,就在 AutoShark Finance 遭到攻击 24 小时后,PeckShield「派盾」安全人员通过剖析 PancakeBunny 和 AutoShark 攻击原理和攻击者的链上转账记录,发现了 Fork PancakeBunny 的 Merlin Labs 遭到同源攻击。
所有上述三次攻击都有两个类似特征,攻击者盯上了 Fork PancakeBunny 的收益聚合器;攻击者完成攻击后,通过 Nerve(Anyswap)跨链桥将它们分批次转换为 ETH。
有意思的是,在 PancakeBunny 遭到攻击后,Merlin Labs 也发文表示,Merlin 通过检查 Bunny 攻击事件的漏洞,不断通过细节反复执行代码的审核,为潜在的可能性采取了额外的预防措施。此外,Merlin 开发团队对此类攻击事件提出了解决方案,可以防止类似事件在 Merlin 身上发生。同时,Merlin 强调用户的安全是他们的头等大事。
然而,Bunny 的不幸在 Merlin 的身上重演。Merlin「梅林」称它的定位是 Bunny「兔子」 的挑战者,不幸的是,梅林的魔法终未逃过兔子的诅咒。
PeckShield「派盾」简述攻击过程:
这一次,攻击者没有借闪电贷作为本金,而是将少量 BNB 存入 PancakeSwap 进行流动性挖矿,并获得相应的 LP Token,Merlin 的智能合约负责将攻击者的资产押入 PancakeSwap,获取 CAKE 奖励,并将 CAKE 奖励直接到 CAKE 池中进行下一轮的复利;攻击者调用 getReward() 函数,这一步与 BUNNY 的漏洞同源,CAKE 大量注入,使攻击者获得大量 MERLIN 的奖励,攻击者重复操作,最终共计获得 4.9 万 MERLIN 的奖励,攻击者抽离流动性后完成攻击。
随后,攻击者通过 Nerve(Anyswap)跨链桥将它们分批次转换为 ETH,PeckShield「派盾」旗下的反洗钱态势感知系统 CoinHolmes 将持续监控转移的资产动态。
PeckShield「派盾」提示:Fork PancakeBunny 的 DeFi 协议务必仔细检查自己的合约是否也存在类似的漏洞,或者寻求专业的审计机构对同类攻击进行预防和监控,不要沦为下一个「不幸者」。
在这批 BSC DeFi 的浪潮上,如果 DeFi 协议开发者不提高对安全的重视度,不仅会将 BSC 的生态安全置于风险之中,而且会沦为攻击者睥睨的羊毛地。
从 PancakeBunny 接连发生的攻击模仿案来看,攻击者都不需要太高技术和资金的门槛,只要耐心地将同源漏洞在 Fork Bunny 的 DeFi 协议上重复试验就能捞上可观的一笔。Fork 的 DeFi 协议可能尚未成为 Bunny 挑战者,就因同源漏洞损失惨重,被嘲笑为“顽固的韭菜地” 。
世界上有两种类型的“游戏“,“有限的游戏“和“无限的游戏“。有限的游戏,其目的在于赢得胜利;无限的游戏,却旨在让游戏永远进行下去。
毫无疑问,无论 Fork Bunny 的 DeFi 协议接下来会不会认真自查代码,攻击者们的无限游戏将会持续进行下去。