据慢雾区消息,6月7日,EqualizerFinance遭受闪电贷攻击。慢雾安全团队以简讯形式将攻击原理分享如下:1.EqualizerFinance存在FlashLoanProvider与Vault合约,FlashLoanProvider合约提供闪电贷服务,用户通过调用flashLoan函数即可通过FlashLoanProvider合约从Vault合约中借取资金,Vault合约的资金来源于用户提供的流动性。2.用户可以通过Vault合约的provideLiquidity/removeLiquidity函数进行流动性提供/移除,流动性提供获得的凭证与流动性移除获得的资金都受Vault合约中的流动性余额与流动性凭证总供应量的比值影响。3.以WBNBVault为例攻击者首先从PancekeSwap闪电贷借出WBNB4.通过FlashLoanProvider合约进行二次WBNB闪电贷操作,FlashLoanProvider会先将WBNBVault合约中WBNB流动性转给攻击者,随后进行闪电贷回调。5.攻击者在二次闪电贷回调中,向WBNBVault提供流动性,由于此时WBNBVault中的流动性已经借出一部分给攻击者,因此流动性余额少于预期,则攻击者所能获取的流动性凭证将多于预期。6.攻击者先归还二次闪电贷,然后从WBNBVault中移除流动性,此时由于WBNBVault中的流动性已恢复正常,因此攻击者使用添加流动性获得凭证所取出的流动性数量将多于预期。7.攻击者通过以上方式攻击了在各个链上的Vault合约,耗尽了EqualizerFinance的流动性。此次攻击的主要原因在于EqualizerFinance协议的FlashLoanProvider合约与Vault合约不兼容。慢雾安全团队建议协议在进行实际实现时应充分考虑各个模块间的兼容性。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。