慢霧:BonqDAO 黑客攻擊事件簡析
ChainCatcher 消息,針對今早 BonqDAO 項目遭黑客攻擊事件,慢霧安全團隊分析:
BonqDAO 平台採用的預言機來源是 TellorFlex 自餵價與 Chainlink 價格的比值,TellorFlex 價格更新的一個主要限制是需要價格報告者先抵押 10 個 TRB 才可以進行價格提交更新。而在 TellorFlex 中可以通過 updateStakeAmount 函數根據抵押物的價格進行周期性的更新價格報告者所需抵押的 TRB 數量。
由於 TellorFlex 預言機合約的 TRB 抵押數額一開始就被設置成 10 個,且之後沒有通過 updateStakeAmount 函數進行更新,導致攻擊者只需要抵押 10 個 TRB 後就能成為價格報告者並通過調用 submitValue 函數修改預言機中 WALBT 代幣的價格。
攻擊者對價格進行修改後調用了 Bonq 合約的 createTrove 函數為攻擊合約創建了 trove,該 trove 合約的功能主要是記錄用戶抵押物狀態、負債狀態、從市場上借款、清算等。
緊跟著攻擊者在協議裡進行抵押操作,接著調用 borrow 函數進行借款,由於 WALBT 代幣的價格被修改而拉高,導致協議給攻擊者鑄造了大量 BEUR 代幣。
在另一筆攻擊交易中,攻擊者利用上述方法修改了 WALBT 的價格,然後清算了市場上其他存在負債的用戶以此獲得大量的 WALBT 代幣。
根據慢霧 MistTrack 分析,1.13 億 WALBT 已在 Polygon 鏈 burn 並從 ETH 鏈提款 ALBT,後部分 ALBT 通過 0x 兌換為 ETH;部分 BEUR 已被攻擊者通過 Uniswap 兌換為 USDC 後通過 Multichain 跨鏈到 ETH 鏈並兌換為 DAI。
慢霧安全團隊分析認為,此次攻擊的根本原因在於攻擊者利用預言機報價所需抵押物的成本遠低於攻擊獲得利潤從而通過惡意提交錯誤的價格操控市場並清算其他用戶。截止目前,94.6 萬 ALBT 已被兌換為 695 ETH,55.8 萬 BEUR 已被兌換為 53.4 萬 DAI。黑客仍在持續兌換 ALBT 為 ETH,暫未發現資金轉移到交易所等平台,MistTrack 將持續監控黑客異動並跟進拉黑。