PANews 6月7日消息,據慢霧區消息,Equalizer Finance 今日遭受閃電貸攻擊。此次攻擊的主要原因在於Equalizer Finance 協議的FlashLoanProvider 合約與Vault 合約不兼容。慢霧安全團隊建議協議在進行實際實現時應充分考慮各個模塊間的兼容性。

慢霧安全團隊以簡訊形式將攻擊原理分享如下:

1. Equalizer Finance 存在FlashLoanProvider 與Vault 合約,FlashLoanProvider 合約提供閃電貸服務,用戶通過調用flashLoan 函數即可通過FlashLoanProvider 合約從Vault 合約中藉取資金,Vault 合約的資金來源於用戶提供的流動性。

2. 用戶可以通過Vault 合約的provideLiquidity/removeLiquidity 函數進行流動性提供/移除,流動性提供獲得的憑證與流動性移除獲得的資金都受Vault 合約中的流動性餘額與流動性憑證總供應量的比值影響。

3. 以WBNB Vault 為例攻擊者首先從PancekeSwap 閃電貸借出WBNB

4. 通過FlashLoanProvider 合約進行二次WBNB 閃電貸操作,FlashLoanProvider 會先將WBNB Vault 合約中WBNB 流動性轉給攻擊者,隨後進行閃電貸回調。

5. 攻擊者在二次閃電貸回調中,向WBNB Vault 提供流動性,由於此時WBNB Vault 中的流動性已經借出一部分給攻擊者,因此流動性餘額少於預期,則攻擊者所能獲取的流動性憑證將多於預期。

6. 攻擊者先歸還二次閃電貸,然後從WBNB Vault 中移除流動性,此時由於WBNB Vault 中的流動性已恢復正常,因此攻擊者使用添加流動性獲得憑證所取出的流動性數量將多於預期。

7. 攻擊者通過以上方式攻擊了在各個鏈上的Vault 合約,耗盡了Equalizer Finance 的流動性。