SharkTeam独家分析丨重蹈覆辙-Merlin Lab攻击事件分析
北京时间2021年5月26日,币安智能链( BSC )上DeFi 收益聚合器项目Merlin Lab遭黑客攻击,攻击方式与520的PancakeBunny攻击事件原理类似,都是通过操纵PancakeSwap中指定代币数量导致聚合器中收益计算错误,不同点是本次攻击黑客没有利用闪电贷。需要指出的是,因为Merlin和PancakeBunny都是PancakeSwap的收益聚合项目,且策略部分的智能合约很多是直接fork的PancakeBunny的,所以当PancakeBunny出现安全问题时,Merlin也第一时间做了声明并明确表达了加固措施,却仍然没有避免此次安全事故。
SharkTeam第一时间对此事件进行了攻击分析和技术分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。
一、事件分析
本次攻击交易:0x8e20a1118a669d03b66c5eca2d937646bd855a998afb1e94b94ff6303456ff97
(1)攻击者通过攻击交易调用Merlin的VaultFlipToCake合约中的getReward() 函数
(2)在本次分析时,Merlin已通过代理合约的方式进行了合约审计,升级后目前的合约为:
被攻击的合约为:
(3)进一步分析可知,此次攻击者首先资产押入 PancakeSwap,获取 CAKE 奖励,并将 CAKE 添加到 CAKE 池中获得流动性奖励。当攻击者调用 getReward 函数时,因为此前 CAKE 的数量增加,使攻击者挖出了超额的MERLIN。
(4)最后攻击者提取流动性奖励,完成攻击。并通过AnySwap转移为ETH获利离开。
二、安全建议
(1)进行合约审计,避免合约中的状态和计算错误。
(2)可使用时间加权平均价格(TWAP)来避免价格异常波动所带来的损失,以此防范黑客利用 闪电贷 攻击价格预言机。
三、SharkTeam智能合约安全审计
智能合约安全关系用户的财产安全,至关重要!区块链项目开发者应与专业的安全审计公司合作,为用户的数字资产安全和项目本身安全提供保障。
SharkTeam 作为领先的区块链安全服务团队,为开发者提供智能合约审计服务。智能合约审计服务由人工审计和自动化审计构成,满足不同客户需求,独家实现覆盖高级语言层、虚拟机层、区块链层、业务逻辑层四个方面111项审计内容,全面保障智能合约安全。
SharkTeam为客户提供高级别的区块链安全服务,区块链安全专家团队7*24小时为智能合约提供全生命周期的安全保障,服务包括:VIP安全审计服务、VIP合规审计服务、安全事故应急响应等。
SharkTeam也提供自动化审计工具,自动化审计以云服务的方式为用户提供服务。运用符号执行、形式化验证等智能合约分析技术,满足开发者智能合约日常审计需求。
==