著者: コング&リサ
編集者:リズ
背景
5月28日、SlowMistはCork Protocolに関連する潜在的な不審な活動を検知し、セキュリティアラートを発行して、ユーザーに対し、警戒を強め、アカウントと資金のセキュリティに注意するようアドバイスした。

(https://x.com/SlowMist_Team/status/1927705256915333359)
その後すぐに、Cork Protocolは次のような発表を行いました。「本日11時23分(UTC)、wstETH:weETH市場でセキュリティインシデントが発生しました。リスクの拡大を防ぐため、Corkは他のすべての市場取引を停止しました。現在、他の市場への影響はありません。チームはインシデントの原因を積極的に調査しており、引き続き進捗状況を報告いたします。」

(https://x.com/Corkprotocol/status/1927808041984086083)
インシデント発生後、SlowMist セキュリティ チームが直ちに分析に介入しました。以下は攻撃手法と資金移動経路の詳細な分析です。
前提条件
Cork Protocolは、従来の金融におけるクレジット・デフォルト・スワップ(CDS)に類似した機能であるDepeg SwapをDeFiエコシステムに提供するために設計されたツールであり、ステーブルコイン、流動性誓約トークン、RWAなどのペッグ資産のデペッグリスクをヘッジするために特に使用されます。その中核となるメカニズムは、ステーブルコインと流動性誓約トークンのデペッグリスクを中心に展開されており、ユーザーはリスクデリバティブを取引することで、ステーブルコインまたはLST / LRTの価格変動リスクを市場参加者に転嫁し、リスクを軽減して資本効率を向上させることができます。主な概念は次のとおりです。
RA (償還資産): コルク市場でデペッグイベントの償還または決済に使用されるベンチマーク資産 (例: ETH::stETH 市場の ETH)。
PA (ペグ資産): RA との価格ペグ維持を目的としているが、市場のボラティリティ、プロトコルリスクなどによりアンカーレートから逸脱する可能性がある、デペッグリスクのある資産(例: ETH::stETH 市場の stETH)。
DS (デペッグ スワップ): コーク プロトコルによって発行された中核デリバティブ ツールで、デペッグのリスクをヘッジするために使用されます。これは本質的に、従来の金融におけるクレジット・デフォルト・スワップ(CDS)に似ています。ユーザーは、デペッグのリスクを回避するために、このようなトークンを購入することができます。
CT(カバートークン): DS とペアになるデリバティブ商品で、CDS の売り手の役割と同様に、デペッグのリスクを引き受けて収入を得るために使用されます。デペッグが発生した場合、保有者が損失を負担することになります。
為替レート: PA と RA 間の価値関係を測定するための中核パラメータであり、デアンカー イベントの決定とデリバティブ取引の決済ロジックに直接影響します。現在、Cork プロトコルでは、ユーザーがカスタム為替レートプロバイダーを使用して市場を作成できます。
Cork Vault: 満期期間全体にわたって流動性を自動管理し、資本効率を向上します。
ペグ安定性モジュール (PSM): DS と CT の鋳造/破棄、市場期限の設定、AMM による価格の動的な調整を担当します。ユーザーは次のような交換を行うことができます。
PA + DS = RACT + DS = RA
根本的な原因
この攻撃の根本的な原因は、一方では、Cork が CorkConfig 契約を通じてユーザーが任意の資産を償還資産 (RA) として作成することを許可しているため、攻撃者が DS を RA として使用できることです。一方、どのユーザーも CorkHook コントラクトの beforeSwap 関数を権限なく呼び出し、CorkCall 操作用のカスタマイズされたフック データを渡すことができるため、攻撃者は正当な市場にある DS を操作して別の市場に預け、RA として使用し、対応する DS トークンと CT トークンを取得できます。
攻撃分析
攻撃者はまず、合法的な市場で wstETH を使用して weETH8CT-2 トークンを購入し、最終的に DS トークンと組み合わせて wstETH トークンを RA として償還できるようにしました。

その後、攻撃者は新しい市場を作成し、カスタム為替レートプロバイダーを使用しました。このマーケットは、weETH8DS-2 トークンを RA として、wstETH を PA として作成されました。したがって、新しい市場の主要なトークンは次のようになります。
RA: weETH8DS-2PA: wstETHCT: wstETH5CT-3DS: wstETH5DS-3
weETH8DS-2 が配置されている市場における主要なトークンは次のとおりです。
RA: wstETHPA: weETHCT: weETH8CT-2DS: weETH8DS-2

新しい市場を作成した後、攻撃者は市場に一定量の流動性を追加して、プロトコルが Uniswap v4 内の対応する流動性プールを初期化し、その後 CorkHook がこのプールで beforeSwap を実行できるようにします。

次に最も重要なことは、Uniswap V4 プールマネージャーがロック解除されている限り、どのユーザーでも CorkHook の beforeSwap 関数を呼び出して任意のパラメーターを渡してプロトコルの市場流動性を操作できることです。そのため、攻撃者は Uniswap V4 プール マネージャーの unlockCallback 関数を使用して CorkHook の beforeSwap 関数を呼び出し、カスタマイズされたマーケットとフック データを渡します。

beforeSwap は、リーガルマーケットの CorkCall 関数をコールバックし、指定されたフックデータを実行します。

CorkCall は、上位層の正当な CorkHook によって渡されたデータを信頼し、それを直接解析して実行します。

これにより、攻撃者はフックデータを作成し、正規の市場にある指定された数の weETH8DS-2 トークンを RA として作成した新しい市場に転送し、新しい市場に対応する CT トークンと DS トークンを取得できるようになります。

PSM の特性により、攻撃者は取得した CT トークンと DS トークンを使用して、新しい市場で RA トークン、つまり weETH8DS-2 トークンを換金できます。

攻撃者は、weETH8DS-2 トークンを入手した後、それを以前に購入した weETH8CT-2 トークンと照合して、元の市場で wstETH トークンを換金できます。

この時点で、攻撃者は、市場で償還資産の種類が制限されておらず、プロトコルがCorkHook.beforeSwapの呼び出し元と受信データを検証していないという事実を利用して、正当な市場のDS流動性をRAとして償還するために別の市場に転送し、それによって任意の市場の流動性を盗むことを可能にしました。
ミストトラック分析
オンチェーンマネーロンダリング防止・追跡ツール「MistTrack」の分析によると、攻撃者のアドレス0xea6f30e360192bae715599e15e2f765b49e4da98は3,761.878 wstETH、1,200万ドル以上の利益を上げた。

そして、攻撃者は
8件のトランザクションによりwstETHが4,527 ETHに変換されました:

さらに、攻撃者の初期資金はSwapuz.comから転送された4.861 ETHでした。

現時点では、攻撃者のアドレスには合計 4,530.5955 ETH が残っており、当社は引き続き資金を監視していきます。

要約する
この攻撃の根本的な原因は、ユーザーが渡したデータが期待どおりであるかどうか厳密に検証されていなかったため、プロトコルの流動性が操作され、予期しない市場に転送され、攻撃者が利益を得るために違法に償還できたことです。 SlowMist セキュリティ チームは、開発者が設計時にプロトコルの各ステップが期待どおりであるかどうかを慎重に検証し、市場に流通する資産の種類を厳しく制限することを推奨しています。
