Arbitrum鏈上WooPPV2合約項目被攻擊分析

來源:Beosin

北京時間2024年3月5日深夜,據Beosin Trace平臺顯示,Arbitrum鏈上的WooPPV2合約項目受到價格操控攻擊,造成約850萬美元的損失。黑客利用閃電貸借出USDC.e和Woo代幣,然後通過WooPPV2合約進行頻繁的代幣兌換。 由於WooPPV2合約的價格計算存在缺陷,黑客能夠操控兌換過程中的價格,導致大量Woo代幣被盜。 Beosin安全團隊第一時間對本次事件進行了分析。

漏洞分析

WooPPV2合約中存在一個swap函數, 用戶可以調用該函數進行代幣兌換,這裡主要是USDC.e和Woo兩者的兌換(下文均按USDC.e與Woo之間的兌換來分析),其中函數中的quoteToken變量表示的就是USDC.e。

_sellQuote函數和_sellBase函數邏輯差不多,都是根據價格計算兌換的代幣數量,再將代幣發送給調用者。_sellQuote是當調用者用USDC.e來兌換Woo代幣時調用的函數,其中主要的函數是state以及_calcBaseAmountSellQuote,state是用於返回保存Woo價格的結構體,_calcBaseAmountSellQuote是用戶計算兌換數量以及新價格的函數。

接下來我們看_calcBaseAmountSellQuote函數實現邏輯,baseAmount為計算出來的兌換數量,其中主要邏輯是USDC.e數量除以Woo的價格,得到能兌換出的Woo的數量,接下來根據當前價格以及兌換數量計算出兌換之後的新價格。

_sellBase函數與_sellQuote函數相同,只是_calcQuoteAmountSellBase函數有些許不同,主要邏輯是Woo數量乘以Woo的價格,得到能兌換出的USDC.e的數量。

根據兌換邏輯我們能發現一個問題, 這種兌換數量的計算邏輯與Uniswap等傳統swap的乘積恆定模型不同,這種模式是直接根據價格做乘除來計算數量,使得兌換過程不存在滑點,但價格又會隨著兌換而變化。如果調用者精心計算,就能將裡面的代幣套取出來。

舉個例子:

如果池子裡面初始存在1000個A代幣和1000個B代幣,B代幣價格為1。那麼如果使用500個A代幣,便能兌換出500個B代幣,此時池子變為1500:500,B代幣價格將上漲,例如變為2。接下來,使用兌換出的500個B代幣,將兌換出1000個A代幣,最終池子變為500:1000,憑空套出500A代幣。

此次事件,攻擊者便是使用了該安全問題,我們來看看攻擊者是如何進行攻擊的。

攻擊流程

本次事件攻擊者通過多次相同的手法進行攻擊,這裡以

0xe80a16678b5008d5be1484ec6e9e77dc6307632030553405863ffb38c1f94266這筆交易為例。

1.攻擊者通過閃電貸借出1000多萬枚USDC.e以及272萬枚Woo代幣。

2.接下來,攻擊者分三次使用10萬枚USDC.e兌換Woo代幣,此時可以看到Woo價格還處於正常價格,攻擊者目前持有800多萬枚Woo。

3.緊接著,攻擊者直接使用800多萬枚Woo代幣去兌換USDC.e,由於上述問題,此時800多萬枚Woo是全部按照正常價格進行兌換的,兌換了200多萬枚USDC.e,並且根據上述公式計算出此時Woo的價格為7,縮小了近1000萬倍。

4.最後,由於Woo代幣價格極小,導致攻擊者使用極少的USDC.e就將800多萬枚Woo代幣兌換出來,最後歸還閃電貸離場。

資金追蹤

黑客攻擊後,攻擊者將200枚ETH通過跨鏈橋轉至以太坊鏈上的地址上,其餘2000多枚ETH保存在Arbitrum鏈的地址上,截止發稿時,資金均未移動。

鑑於此次在Arbitrum鏈上發生的價格操控攻擊事件,我們必須認識到在虛擬資產領域中安全風險的重要性。

  • Related Posts

    幣安推出Alpha積分 規則一文全讀懂

    Jessy,比特鏈視界 參與幣安錢包TGE的要求越來越高了!…

    Bankless:有哪些值得關注的去中心化內容創作平臺?

    作者:William M. Peaster,Bankless…

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

    You Missed

    對話 Vitalik Buterin:計劃下半年進行 Fusaka 升級

    • By jakiro
    • 28 4 月, 2025
    • 2 views
    對話 Vitalik Buterin:計劃下半年進行 Fusaka 升級

    以太坊陷入困境的三大原因

    • By jakiro
    • 28 4 月, 2025
    • 5 views
    以太坊陷入困境的三大原因

    山寨幣 ETF 能避免以太坊 ETF 的命運嗎?

    • By jakiro
    • 27 4 月, 2025
    • 10 views
    山寨幣 ETF 能避免以太坊 ETF 的命運嗎?

    a16z:穩定幣指南

    • By jakiro
    • 27 4 月, 2025
    • 11 views
    a16z:穩定幣指南

    什麼是互惠關稅?它如何影響加密行業?

    • By jakiro
    • 27 4 月, 2025
    • 11 views
    什麼是互惠關稅?它如何影響加密行業?

    Web3娛樂新紀元:短劇如何解鎖個人影響力增長密碼

    • By jakiro
    • 26 4 月, 2025
    • 12 views
    Web3娛樂新紀元:短劇如何解鎖個人影響力增長密碼
    Home
    News
    School
    Search