Curve FinanceでVyperを使用したいくつかのステーブルコインプールが7月30日に攻撃され、約4700万ドルが不正流出した。Vyperによると、バージョン0.2.15、0.2.16、0.3.0は、リエントランシーの不具合により脆弱性があるという。
「調査は進行中だが、これらのバージョンに依存するプロジェクトはすぐに私たちに連絡すべきだ」とVyperはXに投稿した。セキュリティ会社アンシリアの分析によると、136のコントラクトがリエントランシー保護付きのVyper 0.2.15を使用し、98のコントラクトはVyper 0.2.16を使用し、226のコントラクトがVyper 0.3.0を使用した。
A number of stablepools (alETH/msETH/pETH) using Vyper 0.2.15 have been exploited as a result of a malfunctioning reentrancy lock. We are assessing the situation and will update the community as things develop.
— Curve Finance (@CurveFinance) July 30, 2023
Other pools are safe. https://t.co/eWy2d3cDDj
当初の調査によると、Vyperコンパイラの一部のバージョンは、コントラクトをロックして同時に複数の関数の実行を防ぐリエントランシー保護を正しく実装していない。リエントランシー攻撃によって、コントラクトからすべての資金が引き出される可能性がある。
Vyperは、イーサリアム仮想マシン(EVM)を対象としたスマートコントラクト開発向けのPython風プログラミング言語だ。VyperがPythonとの類似性を持つことで、Pythonの開発者がWeb3に参入するスタート地点の一つになっている。
複数の分散型金融(DeFi)プロジェクトがこの攻撃に影響を受けた。分散型取引所エリプシスからは、古いVyperコンパイラを使用して攻撃されたBNB付きのステーブルプールが少数報告された。アルケミックスのalETH-ETHプールから約1360万ドルが流出し、JPEGdのpETH-ETHプールからは1140万ドルの損失、メトロノームのsETH-ETHプールからは約160万ドルが損失した。Curve Financeのマイケル・エゴロフCEOは後に、テレグラムチャンネルでスワッププールから2200万ドルを超えるCRVトークン3200万が流出したことを確認した。
Certain type of Curve factory pool is encountering read-only reentrancy attack and causing a total loss of $11m(@JPEGd_69) + $13m(@AlchemixFi) + ...
— Tony KΞ (@tonyke_bot) July 30, 2023
Initial investigation founds that vyper compiler (0.2.15) doesn't implement the reentrancy guard correctly.
add_liquidity and… pic.twitter.com/avaHdtSFsm
この不正流出はDeFiエコシステム全体にパニックを引き起こし、プール全体の取引とホワイトハットからの救出作戦を促した。コインマーケットキャップのデータによると、Curve Financeのユーティリティ・トークンCurve DAO (CRV)はこのニュースに反応して5%以上下落した。CRVの流動性はここ数カ月で著しく低下しており、激しい価格変動に脆弱になっているとコインテレグラフは報じた。Curve Financeによると、crvUSDコントラクトとそれを使ったプールは攻撃の影響を受けていない。

Curve Financeはエコシステム内で一連の事件の標的となっている。つい数日前、オムニプールプラットフォームConic Financeから326万ドルのイーサ(ETH)が盗まれ、盗まれたほぼ全額がたった1回の取引で新しいイーサリアムアドレスに送られた。