2023年5月28日,據Beosin-Eagle Eye態勢感知平台消息,Jimbos protocol的JimboController合約遭受黑客攻擊,黑客獲利約750萬美元。
根據官網介紹,Jimbos Protocol 是部署在Arbitrum 「反應集中流動性」的實驗協議,Jimbos Protocol 推出的主要代幣$JIMBO 旨在不同情況下定期重新平衡其協議的流動性,以提高資金利用效率。
我們所熟知的麻吉大哥黃立成,就在前幾天曾花費上百萬美元購買此項目的代幣,在攻擊發生之後,其相關代幣也一陣暴跌,不知道麻吉大哥現在有何感想。
Beosin安全團隊第一時間對事件進行了分析,現將分析結果分享如下。
事件相關信息
攻擊交易
0x44a0f5650a038ab522087c02f734b80e6c748afb207995e757ed67ca037a5eda(其中一筆)
攻擊者地址
0x102be4bccc2696c35fd5f5bfe54c1dfba416a741
攻擊合約
0xd4002233b59f7edd726fc6f14303980841306973
被攻擊合約
0x271944d9D8CA831F7c0dBCb20C4ee482376d6DE7
攻擊流程
該攻擊交易有多筆,我們用其中一筆進行分析。
1.攻擊者首先閃電貸借出10,000 WETH。
2.攻擊者然後使用大量的WETH兌換JIMBO代幣,使其拉高JIMBO價格。
3.接著攻擊者向JimboController合約轉移了100的JIMBO代幣,目的是為了後面的添加流動性做準備(因為價格JIMBO價格拉高,添加流動性時就只需要很少數量的JIMBO代幣)。
4.接著攻擊者再調用shift函數,shift函數會移除原有的流動性然後添加新的流動性。調用shift函數,會把該合約的資金拿去添加流動性,以至於JimboController合約的WETH會被全部添加流動性。
5.這時候由於在失衡狀態添加流動性(添加流動性時,會依靠當前的價格去作為依據,計算代幣需要的數量,相當於使用合約接盤了),以至於攻擊者可以獲得更多的WETH,攻擊者最後把JIMBO兌換成WETH完成獲利。
漏洞分析
本次攻擊主要利用了JimboController合約中的漏洞,它允許任意人使用shift函數讓合約執行移除和添加流動性操作,使其高位接盤。
資金追踪
截止發文時,被盜資金還未被攻擊者轉出,4048 枚ETH仍在攻擊地址中:
(https://etherscan.io/address/0x5f3591e2921d5c9291f5b224e909ab978a22ba7e)
總結
針對本次事件,Beosin安全團隊建議:合約開發時,應避免合約被外部操控進行投資;項目上線前,建議選擇專業的安全審計公司進行全面的安全審計,規避安全風險。