“科學家”的盛宴 Cheese Bank被帶走的330萬美元

今年11月,去中心化金融(DeFi)總鎖倉量再創新高,突破16億美元。DeFi,宣稱人人公平可參與,憑藉吸納百億資金入場在今年備受矚目,但與此同時出現了一群人,他們依靠者技術實力和知識門檻專薅 DeFi 的羊毛,這群人被中文幣圈中戲稱為 “科學家”。

據PeckShield統計,自今年起,已發生多起“科學家”薅 DeFi 羊毛的安全事件。今年2月,有“科學家”利用DeFi 貸款協議 bZx 透過一筆交易獲取十幾萬賬面收益;10月,攻擊者利用閃電貸攻擊 Harvest.Finance 協議,使其損失高達 3380 萬美元,以及11月攻擊者利用閃電貸攻擊 Value DeFi 的 MultiStablesVault 池子,導致平臺虧損價值近 740萬美元的 DAI。

DeFi 中的“科學家”可類比為網際網路的技術羊毛黨。在移動網際網路補貼大戰中,職業羊毛黨應運而生。一個手機號只會註冊一次享受一次優惠,這些職業羊毛黨則開闢了一條養卡、註冊賬號、代收簡訊驗證碼、薅羊毛的產業鏈。

而在 DeFi 的世界裡,“科學家”則把 “借款、轉移(執行)、還款” 都程式設計到一筆發往智慧合約的交易裡,以此來實現以極低甚至零成本在各個 DeFi 協議之間進行高額套利,或者利用可組合性的漏洞進行攻擊盜取鉅額資金。

PeckShield 近日發現,“科學家”於北京時間11月7日凌晨3時22分,利用閃電貸(Flash loan)透過一筆交易攻擊一家去中心化數字銀行 Cheese Bank 獲利 330 萬美元。

憑空套走的 330 萬美元

PeckShield 透過追蹤和分析發現,攻擊者首先透過 dYdX 閃電貸貸出 21,000 枚ETH;

透過 dYdX 閃電貸貸出 21,000 枚ETH

隨後,在 UniswapV2 中將 50 枚WETH 兌換為 107,000 枚CHEESE (Cheese Bank 通證),此時 CHEESE 的單價為 0.00047 ETH/枚(在 UniswapV2 協議中可將 ETH 1:1 轉換為 WETH,同時WETH 也可 1:1 轉換為 ETH ),攻擊者剩餘 20,950 枚ETH;

在 UniswapV2 中將 50 枚WETH 兌換為 107,000 枚CHEESE

接下來,攻擊者在 UniswapV2 中抵押 107,000 枚CHEESE 和 78 枚ETH 來提供交易流動性,同時獲得 UniswapV2 上自動生成的 UNI_V2 LP 憑證。UNI_V2 LP 憑證是流動性提供者(LP)在 UniswapV2 上提供流動性並提取相應資產的唯一質押憑證。此時攻擊者剩餘 20,871 枚ETH(包含交易手續費);

在 UniswapV2 中抵押 107,000 枚CHEESE 和 78 枚ETH 提供交易流動性

據悉,Cheese Bank 於今年10月推出借貸協議 2.0 版本,2.0 版本支援創新的流動性憑證(LP Tokens)抵押借貸功能。攻擊者在上一步獲取 UNI_V2 LP 憑證,有利於他接下來在 Cheese Bank 上貸出其他加密資產。

攻擊者進一步把所獲取的抵押品 UNI_V2 LP 憑證轉換為 sUSD_V2 憑證,這一步有利於攻擊者以 UNI_V2 LP 憑證作為抵押品在 Cheese Bank 上貸出穩定幣;

把所獲取的抵押品UNI_V2 LP 憑證轉換為 sUSD_V2 憑證

隨後,攻擊者在 UniswapV2 中將 20,000 枚ETH 兌換為 288,000 枚CHEESE,這一步會影響 UniswapV2 上 CHEESE 池子的平衡,進而抬高 CHEESE 的價格,此時 CHEESE 的單價為 0.069 ETH/枚(相較於此前 0.00047 ETH/枚的價格提高了145倍),攻擊者剩餘 871 枚ETH(包含交易手續費)。CHEESE 單價的提高能夠有效地提升抵押在 Cheese Bank 中 UNI_V2 LP 的價值,幫助攻擊者提高在 Cheese Bank 中借貸加密資產的額度。值得注意的是,Cheese Bank 以流動性礦池 UNI_V2-CHEESE-ETH 中 WETH 的數量來衡量所對應的 UNI_V2 LP 憑證的價格,攻擊者透過提高 UNI_V2 LP 憑證的價格能有效地貸出更多 USDC 、USDT 、DAI 。

抬高 CHEESE 的價格

在這一步中,攻擊者透過重置喂價預言機來操縱 UNI_V2 LP憑證的價格,從下列公式可知,UNI_V2 LP的價格受到流動池中 WETH 的數量和 UNI_V2-USDT-ETH 池中 ETH價格的影響,即 WETH*2*ETH的價格=LP總價,LP單價=LP總價/LP總供應量,當攻擊者將增加池中 WETH 的數量時,UNI_V2 LP憑證的價格也會上漲。

重置喂價預言機來操縱 UNI_V2 LP憑證的價格

攻擊者就是透過上一步,即提高 UNI_V2 LP 憑證的價格來貸出價值 330 萬美元的 USDC 、 USDT 和 DAI,並順利從 Cheese Bank 轉出,將其納入囊中,此時,他只需將所貸的 21,000 ETH 還上即可。

據 PeckShield 統計,攻擊者共計從 Cheese Bank 中貸出 2 百萬枚USDC, 123 萬枚USDT 和 8.7 萬枚 DAI 。

從 Cheese Bank 中貸出 2 百萬枚USDC

共計 2 百萬枚USDC, 123 萬枚USDT 和 8.7 萬枚 DAI

並將這筆攻擊所獲資產從 0x02b7 的地址中分批轉出。

最後,攻擊者在 Uniswap V2 上將 288,000 枚CHEESE 轉換為 19,980 枚ETH (包含手續費),為補足所貸的 21,000 枚ETH,他將 58,000 枚 USDC 轉換為 132 ETH ,再加上剩餘的 871 枚ETH(包含交易手續費)歸還給 dYdX 閃電貸,一切就好像沒有發生過一樣。

歸還 dYdX 閃電貸

PeckShield 相關負責人表示:“在追蹤過程中,我們發現這實際上是‘科學家’精心設計的一次攻擊。在實施之前,‘科學家’演算過他所持有的 LP 憑證值正好是能把 Cheese Bank 清空的數額。”

“科學家”精心設計的攻擊

在DeFi浪潮上,獲利的多為“科學家”和大戶,技術和資金是他們的資本,而安全才是 DeFi 專案唯一有利的防線。科學家們的薅羊毛遊戲會無限進行下去,DeFi 們將如何守住最後一道防線?PeckShield 將持續緊密關注。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读