2025年6月26日、ステイブルコイン・プロトコルのResupplyは、主要なイーサネットワーク上に展開されたコントラクトに対する攻撃を受け、約1000万ドルの資産を失う結果となった。問題のコントラクトにおける価格オラクルの実装に問題があったため、攻撃者は寄付攻撃によって、新たに作成された流動性の低いマーケットに対して、貸出資産(Resupplyが発行するステーブルコインであるreUSD)の相対価格(すなわち、貸出と担保資産の為替レートの比率、「為替レート」)をゼロに操作することが可能でした。攻撃者は、寄付攻撃によって貸し出し資産(Resupplyが発行するreUSD)の相対価格(つまり、貸し出し資産と担保資産の間の為替レート)を0に操作することができ、それによって資産の健全性チェックを回避し、大量のreUSDを貸し出して利益を得ることができます。
BlockSecはウェブ上での最初の公開警告の後、予備的な分析を提供し[2, 3]、Resupplyは公式発表[4]でそれに続きましたが、技術的な詳細にはあまり触れませんでした。一方で、攻撃後にプロジェクトとその関係者の間で白熱したコミュニティ論争も起きており[5]、本稿では読者の参考のため、プロトコルの背後にある複雑な生態学的つながりを分析・探求する。
背景
1.1 補給プロトコルについて
Resupplyは、Curveエコシステムの一部である分散型ステーブルコインプロトコル[1]です。Resupplyが発行するステーブルコインはreUSDと呼ばれ、CDP(Collateralised Debt Position)に裏付けされた分散型ステーブルコインです。crvUSDとfrxUSDを含む - 外部プラットフォームで利子を稼ぐ他の安定コインに裏打ちされ、ユーザーはreUSDを貸すためにcrvUSDとfrxUSDを提供することで、安定コインの資産を借り換えることができます。

具体的には、ユーザーはチェーン上に配置されたResupply Marketでお金を借りたり貸したりすることができます。4626 Vaultを担保とし、Vaultに対応する資産を原資産とする。
例えば、この攻撃はMarket 0x6e90とVault 0x0114を巻き込み、担保となる資産はERC- 4626 Vaultで、原資産はそのVaultです。例えば0x0114の場合、関連する資産(トークン)は以下の通りです:
つまり、ユーザーはここに示すように、一定額のcvcrvUSD(またはcrvUSDですが、実際にはVaultを介してcvcrvUSDにも変換されます)をそのMarketで担保にすることで、reUSDを貸すことができます。strong>
1.2 ユーザーが特定の資産を貸す資格があるかどうかは、どのように判断するのですか?
通常の貸出契約と同様に、Resupply Market では(isSolvent修飾子によって)ユーザーのポジションの資産状況チェックも行います。モディファイアisSolventによって)。

isSolventは最終的に _を呼び出します。isSolvent 関数を呼び出し、ここでLTV(Loan-to-Value、Loan-to-Value RatioまたはBorrowing Ratio)をチェックします。これは、ユーザーの貸出と担保資産の間の比率LTVが、システムによって設定された最大値(_ltv <= maxLTV)を超えてはならないことを要求します。
ご覧の通り、上記のLTVの計算は、担保資産と比較した貸出資産の価格(交換比率)である為替レート(コード内の_exchangeRate)に依存しています。
攻略法分析
2.1 根本原因の分析
契約コードから見ると、攻撃の鍵はResupply Marketの価格オラクル実装の問題です。Resupply Marketの実装。新しく作られた流動性の低いマーケットに対して、攻撃者は寄付攻撃によって為替レートを操作し、ヘルスチェックをバイパスして大量のreUSDを貸し出し、その状況を利用することができます。
リサプライ市場はどのように為替レートを計算しているのでしょうか?


上記のコードに基づいて、為替レートの公式を次のように求めることができる:
明らかに、getPricesが返す価格が1e36より大きい場合、整数の割り算で切り捨てると、_exchangeRate = 0.になります
価格操作の方法は?

上記のコードによると、価格の計算は次のようになります。strong>
Where:

次のコード設定のためです。precision = 1, DEAD_SHARES = 1000, shares = 1e18, therefore:

最後に、変数を代入すると、価格に関する以下の式が得られる:

おわかりのように、価格の価値をスケールアップする鍵は、total_assetsとtotalSupplyのギャップをスケールアップして、total_assetsが極端に大きく、totalSupplyが極端に小さくなるようにすることです。Resupplyの実際のプロトコル実装では、計算式のtotal_assetsは原資産(crvUSD)に依存し、totalSupplyはマーケット全体の流動性のシェア(cvcrvUSD)に依存します。
2.2攻撃トランザクション分析
攻撃トランザクション[4]によると、攻撃者は次のコアステップを行ったと分析できます:
1.ライトニングローンを使って4,000 USDCを借り、3,999 crvUSDに変換。2.コントローラー0x8970に2,000crvUSDを寄付した。
3.ボールト0x0114に~2crvUSDを入金し、1シェア(cvcrvUSD)を取得する。
4.市場0x6e90の担保を1単位(つまりVault 0x0114の1株)追加します。
5.市場0x6e90から10,000,000reUSDを融資します。2">この時点で_exchangeRateの値が0であり、_ltvが0になるため、_isSolventチェックをパスできることがわかります。li>
なぜこの時点で_exchangeRateが0なのか?なぜなら、攻撃者は契約を操作して、前のステップを通じて次の状態に到達させたからです:

再訪問為替レートの計算方法:
<
この時点では、価格>.gt; 1e36となり、_exchangeRate = 0.
6.貸したreUSDを利益で両替する。left;">再供給今回のアタックマーケットの価格オラクルは、カーブ[11]が提供するものと同様のテンプレート契約を実装しています:
![]()
しかし、Curveは実装の範囲を与えています:

残念なことに、Resupplyプロトコルは、その実装の範囲を与えていないようだ。Resupplyプロトコルは、この適用上の注意点を念頭に置いて実装されていないようです。
協会との関係とコミュニティーの論争
4.1 カーブ・エコの5つのプロジェクトにおける複雑な関係の網
再供給の深い意味を理解するために、次のことを行います。

カーブファイナンスはエコシステム全体の中核であり、流動性プーリング、crvUSD、LlamaLendプロトコルを提供しています。Convexは誓約とガバナンスを通じてCurveのリターンを最適化し、PrismaとResupplyに追加のインセンティブを提供します。 PrismaはCurveのLPトークンとConvexのリターン強化に依存し、ResupplyはCurveのLlamaLendプロトコルに直接基づいています。CurveのLlamaLendはreUSDを発行し、ConvexとYearnによって共同開発されており、Curveプールのリターンを最適化するだけでなく、Convexとのパートナーシップを通じてResupplyの開発も推進しています。
カーブファイナンス:カーブのコアプラットフォーム、カーブの流動性プール(crvUSDプールやLVUSDプールなど。crvUSDプール)とLlamaLendプロトコルは、reUSD発行のためのResupply、LPトークンの質入れのためのPrisma、利回り最適化のためのYearn、投票ガバナンスのためのConvexによって直接使用されています。
コンベックスファイナンス:コンベックスはカーブの利回り向上プロトコルであり、ユーザーはより高いCRV報酬を受け取るためにカーブLPトークンを誓約します。ConvexはCurveのガバナンスウェイトの50%近くを管理し、PrismaとResupplyの収益強化メカニズムを提供します。
プリズマファイナンス:プリズマはカーブのLPトークンを活用して誓約し、ユーザーはコンベックスを通じて強化された報酬を受け取ります。PrismaはCurveの流動性とConvexの収益メカニズムに依存しています。
Yearnファイナンス:Yearnは、Curveプール内のLPトークンのリターンを最適化する(例えば、Convexによって強化される)ことで、ユーザーに高い報酬を提供する収益アグリゲーターです。YearnはResupplyを開発するためにConvexと提携し、その収入戦略においてCurveプールを広範囲に使用しています。
Resupply:ConvexとYearnが共同開発したResupplyは、ユーザーがcrvUSDのような安定コインを貸すことでreUSDを獲得し、ConvexでCRUSDを獲得するために自動的にトークンを誓約することを可能にします。また、ConvexでCRVとCVXの報酬を得るために自動的にトークンを誓約し、収益最適化の閉じたループを作成します。
4.2論争と影響
しかし、レサプライが攻撃されたとき、その複雑なつながりはすぐに論争の種となった。カーブの創設者マイケル・エゴロフはすぐにレサプライとの関係を断ち、「レサプライの関係者は一人ではない」と強調した。そのプロジェクトに携わっているカーブの人間は一人もいない。 そのプロジェクトに携わっているカーブの人間は一人もいない。このような明確な発言は、危機に直面したときのDeFiエコシステムにおける複雑な協力関係のもろさを皮肉にも反映している。

上記のような相互接続されたプロジェクトは、高度に結合した生態系を形成している。したがって、Resupply攻撃がプロトコルの妥当性とセキュリティに関するコミュニティの広範な議論を巻き起こしたことは驚くべきことではありません[5]。
もっと考えるべきことがある
5.1 タイムライン
2025年5月17日、補給公式アドレス0x1f84経由。カーブのOneWay Lending Factoryが新しいLlamaLend Market[6]を展開。span leaf="" style="">このマーケットはcrvUSDを貸し出し資産として、wstUSRを担保トークンとして使用します。
2025年5月31日、新しい提案wstUSR-long LlamaLend MarketがResuu[7]で公開されました。7]はResupplyのGovernanceページで公開され、ユーザーはこのLlamaLend Marketを通じてreUSDを投じることができるように設計されている。
2025年6月11日、この提案は[8]で公開された。8]に掲載された。
2025年6月26日、00:18:47 (UTC)に提案が可決され、Resupplyの公式アドレスである0x0417が[9]で新しいResupplyPair(すなわち、Resupply crvUSD/wstUSR Market)0x6e90をチェーン上に展開しました。
攻撃者は2025年6月26日01時53分59秒(UTC)、Market 0x6e90アップロードの展開から約1時間半後に攻撃を成功させました[ 4]。4];一方、BlockSecはこの攻撃を検知し、プロジェクトへの連絡を試みました。
2025年6月26日02:26 (UTC)、BlockSecはプロジェクトが失敗し、これ以上被害を拡大できないことを確認した後、パブリックアラート[2]を発表しました。
2025年6月26日02:53:23 (UTC)、プロジェクト当事者は契約を中断しました[4]。

2025年6月26日02:53:23 (UTC)、プロジェクト当事者は契約を中断した。5.2ファルコンがあれば悲劇は避けられたかもしれない
ResupplyFiのディザスター・ムービー『Late at Night』。が再生され、BlockSec Phalcon[2]:

これは事後的な馬と虫の知らせではなく、攻撃が起こった瞬間に鳴り響くモーニングコールです。
メモリプールの段階でトランザクションを監視することで、ファルコンは攻撃トランザクションがメモリプールに入った瞬間に異常なパターンを特定することができます。このシステムは、200以上の典型的な攻撃の特徴を統合したAI駆動型のインテリジェントな分析エンジンをベースにしており、過去6ヶ月間、0.0001%未満という超低偽警報率を維持し、真に正確な脅威の検出を可能にしています。
Phalconの自動攻撃ブロックメカニズムは、脅威が特定されるとすぐに起動します。システムは独自に開発されたガス入札戦略を利用し、保護トランザクションが攻撃トランザクションを先取りできるようにするとともに、プロトコルの緊急一時停止機能を自動的にトリガーします。応答プロセス全体は、EOAやマルチシグネチャ・ウォレットなどの複数の特権制御モードをサポートし、さまざまなタイプのプロトコルに柔軟なセキュリティ・ソリューションを提供します。
もしResupplyがPhalconをMarketの展開に統合していれば、攻撃は完全に回避できたかもしれません:
もしResupplyがPhalconをMarketの展開に統合していれば、攻撃は完全に回避できたかもしれません:マーケット0x6e90の展開から1.5時間以内に、ファルコンシステムは自動的に新しいマーケットの展開を検出し、その設定パラメータをインテリジェントに分析し、潜在的な寄付攻撃リスクを特定します。システムは即座にプロジェクトオーナーにリスク警告を送り、初期流動性保護の強化や関連パラメータの調整を提案します。さらに重要なことに、攻撃トランザクションがUTC 01:53:59にメモリプールに入ると、ファルコンのAIアルゴリズムは典型的な寄付攻撃パターンを即座に識別し、自動的に緊急一時停止を発動して、保護されたトランザクションがガス入札によって最初に実行されるようにし、1000万ドルの損失を完全に回避します。
1,000万ドルのResupplyや他の無数の攻撃は、DeFiの世界ではセキュリティはオプションではなく、生き残るための必需品であることを教えてくれました。次の攻撃まで後悔しないように。