7 月31 日,以太坊編程語言Vyper發佈公告稱,Vyper 0.2.15、0.2.16 和0.3.0 版本的遞歸鎖失效。隨後Curve Finance等相關協議出現了漏洞攻擊事件。漏洞的根源都是某些版本的Vyper 中出現故障的遞歸鎖。攻擊者通過反復重新簽署合約,導致未經授權的操作或資金被盜。

Curve被攻擊的資金池包括CRV/ETH、alETH/ETH、msETH/ETH以及pETH/ETH 。超過4500 萬美元的流動性已從借貸協議Alchemix、合成資產Metronome 、NFT 借貸平台JPEG'd 的池中中流失,近2500 萬美元從CRV/ETH 池中流出。每個資金池的被攻擊金額如下:

CRV/ETH : 7,193,401.77 CRV (被攻擊時價值約510 萬美元),7,680.49 WETH (約1420 萬美元)以及2,879.65 ETH (約540 萬美元)

alETH/ETH:7,258.70 WETH (約1360 萬美元) 以及4,821.55 alETH (約900 萬美元)

msETH/ETH:866.55 WETH (約160 萬美元) and 959.71 msETH (約180 萬美元)

pETH/ETH:6,106.65 WETH (1100 萬美元)

接下來我們通過舉例CRV/ETH池來分析一下攻擊路徑。

CRV/ETH 池涉及2筆攻擊交易(第二筆是白帽交易)。

攻擊交易1

https://eth.tokenview.io/en/tx/0x2e7dc8b2fb7e25fd00ed9565dcc0ad4546363171d5e00f196d48103983ae477c

7 月30 日19:08 UTC,發生了一次攻擊,Curve 池中的CRV 和ETH 遭受損失。攻擊者獲利7,193,401.77 CRV(當時價值約510 萬美元)和7,680.49 WETH(約1420 萬美元)。

攻擊路徑如下:

  • 攻擊者從Balancer開設了10,000 WETH 閃電貸,並將其全部unwrapped為ETH。
  • 隨後他們向Curve CRV/ETH 池提供了400 ETH 作為流動性,並收到了9,804.78 CRV/ETH LP 代幣。
  • 將500 ETH 兌換為1,212,778.28 CRV。
  • 從池中提取517,589.04 CRV 和203.26 ETH,銷毀4,674.13 CRV/ETH LP 代幣。
  • 提取1,730,367.33 CRV,銷毀4,674.13 CRV/ETH LP 代幣。
  • 將1,730,367.33 CRV 兌換為639.89 ETH。
  • 重複此過程,直到CRV 從池中全部消耗。

截止目前7,193,401.77 CRV和7,680.49 WETH已轉移至CRV/ETH攻擊者錢包地址。

CRV/ETH攻擊者地址:

https://eth.tokenview.io/en/address/0xb1c33b391c2569b737ec387e731e88589e8ec148

該攻擊是獨特的,因為除了“遞歸鎖漏洞”攻擊之外,還進行了套利攻擊。因為CRV-ETH 池是本次事件中唯一被攻擊的非穩定池。

攻擊交易2

https://eth.tokenview.io/en/tx/0xcd99fadd7e28a42a063e07d9d86f67c88e10a7afe5921bd28cd1124924ae2052

7 月30 日22:00 UTC,發生了第二次攻擊,耗盡了池中剩餘的2,879.65 ETH。這是c0ffeebabe.eth 的白帽行動,不久後返還給Curve 團隊。

被攻擊路徑如下:

  • 攻擊者從Balancer 開設了100 WETH 的閃電貸。
  • 他們在Uniswap 上將70 WETH 兌換為190,388.61 CRV。
  • 存入30,000 CRV到池中。
  • 向Curve 池所有者索取1,493.16 CRV/ETH LP 代幣的管理費。
  • 將池中的160,388.61 CRV 兌換為2,949.65 WETH。
  • 向Curve 池所有者索取83,647.01 CRV/ETH LP 代幣的管理費。
  • 向Balancer 償還100 WETH 以歸還閃電貸。
  • 最終2,879.65 ETH(約540 萬美元)已返還至Curve Deployer 地址。

    白帽子返還2,879.65 ETH的交易如下: https://eth.tokenview.io/en/tx/0xb76754124fdde090f25129105ed2907e3c62e0db87ecb8ffcefcb1dede0954fd

此次Curve攻擊事件主要來自Vyper漏洞而產生的合約安全威脅。隨著代幣CRV價格下跌,由於CRV流通量接近一半都掌握在創始人Michael Egorov手中,因此他也展開了自救行動,開始償還部分貸款並取回作為抵押品的CRV。這次的攻擊事件也再次為整個Defi市場安全提出警告。