Resolv ハッカー攻撃:1つの秘密鍵漏洩がどのように2300万ドルの不正な鋳造につながったか

執筆:Chainalysis

翻訳:AididiaoJP、Foresight News

2026年3月22日、Resolv DeFiプロトコルは最新の事例となり、安全仮定が崩れた場合にDeFi分野がどれほど迅速に危機に陥るかを示した。わずか数分の間に、攻撃者は担保なしの数千万枚のResolv安定コインUSRを発行し、約2500万ドル相当の価値を引き出し、USR価格は急激に乖離し、プロトコルは運用停止を余儀なくされた。

一見すると、これはスマートコントラクトの脆弱性事件のように見えるが、実際はそうではない。関係するコードの動作は設計通りに行われていた。

実際には、チェーン外のインフラに対する過剰な信頼が引き起こした事故である。DeFiシステムの複雑化とともに、外部サービス、特権キー、クラウドインフラへの依存度が高まり、その攻撃面はブロックチェーンそのものを超えて拡大している。

本稿では、事件の経緯と影響を整理し、さらに次の点を考察する:チェーン外コンポーネントが侵害された場合、リアルタイムのチェーン上の脅威検知と対応メカニズムだけが、最終的な防衛線として重要であり、コントロール可能な事象と数百万ドルの損失をもたらす脆弱性の悪用との本質的な違いを生み出す。

【事件概要】

攻撃者はまず少額(約10万〜20万ドル相当のUSDC)を預け入れ、これを用いてResolvのUSR安定コイン発行システムとやり取りした。通常、USDCを預けると同等のUSRが発行されるが、今回の事件では、攻撃者は約8000万枚のUSRを発行し、預入額の合理的範囲を超えた。

この事態が起きた背景には、発行承認の段階でチェーン外サービスに依存しており、そのサービスが特権秘密鍵を用いてUSRの発行量を承認していたことがある。しかし、関係するスマートコントラクト自体には発行上限の設定がなく、署名の有効性のみを検証していた。

担保なしのUSRを発行した後、攻撃者は迅速にそれをwstUSRに変換し、その後段階的に他の安定コインに交換し、最終的にETHとして引き出した。攻撃完了時点で、攻撃者は約2500万ドル相当のETHを獲得していた。大量の担保なしUSRが市場に流入し、価格は約80%下落した。

事件の結果を明らかにした上で、次に、発行段階の設計欠陥がどのようにこの攻撃を可能にしたかを分析する。

【Resolvのトークン発行の正常な流れ】

今回の攻撃の原因を理解するには、まずResolvの発行メカニズムの設計を把握する必要がある。

ユーザーがResolvのネイティブトークンUSRを発行したい場合、そのインタラクションは完全な自律的なオンチェーンメカニズムではなく、2段階のチェーン外プロセスを経る。

requestSwap —— ユーザーはUSDCをUSRカウンターコントラクトに預け入れ、発行リクエストを行う。

completeSwap —— SERVICE_ROLEと呼ばれる特権秘密鍵を持つチェーン外サービスがこのリクエストを審査し、コールバックコントラクトを通じて最終的なUSR発行量を決定する。

コントラクト側では、最低発行量のみ規定されているが、上限は設定されていない。オンチェーンでは、担保の預入量とUSR発行量の比率や、価格のプリオーケストラ、総量上限、最大発行比率などの制限も組み込まれていない。言い換えれば、その秘密鍵による署名された数量は、すべて発行可能となる。

【攻撃の詳細なステップ】

第一段階:Resolv AWS KMS環境へのアクセス権取得

攻撃者はResolvのクラウドインフラを侵入し、Resolvが使用するAWS KMS(Key Management Service)の環境にアクセス権を獲得した。この環境には、プロトコルの特権署名鍵が保存されている。KMSの制御権を掌握した攻撃者は、Resolvの発行秘密鍵を用いて、任意の発行操作を承認できる。

第二段階:USRトークンの発行

署名鍵を得た攻撃者は、2回にわたりswapリクエストを行った。各回とも少額のUSDC(合計約10万〜20万ドル)を預け入れ、多数の取引に分散させた。その後、SERVICE_ROLEの鍵を用いてcompleteSwap関数を呼び出し、虚偽の発行量を記入して、少額のUSDC投入だけで数千万枚のUSRを発行させた。

オンチェーンでは、以下の2つの主要な取引が確認されている。

5000万USRの発行

3000万USRの発行

これらの合計で、約8000万枚のUSRが発行され、価値は約2500万ドルに相当。

第三段階:wstUSRを用いた流動性制約の回避

攻撃者はUSRをwstUSRに変換した。wstUSRは担保プールのシェアを表す派生トークンであり、その価値はUSRと一定の比率を保たない。資金をwstUSRに変換することで、USR市場への直接的な衝撃を避け、流動性が低いが代替性の高い資産にポジションを移した。

第四段階:資金の引き出しと退出

wstUSRを保有した状態で、攻撃者はそれを安定コインに交換し、さらにETHに換え、複数の分散型取引所やクロスチェーンブリッジを利用して資金を移動させ、最大化と追跡困難化を図った。

執筆時点で、攻撃者のアドレスには以下が保持されている。

約11,400 ETH(約2400万ドル相当)

約2000万wstUSR(価格変動後の価値で約13万ドル)

【USR保有者への影響】

今回の事件は、USR保有者にとって直接的かつ深刻な打撃となった。

新たに発行された8千万枚の担保なしUSRが流動性プールに流入し、供給量の急増によりUSRとドルの連動価格は崩壊した。価格は一時0.20ドルまで下落し、80%の下落となったが、その後数時間で約0.56ドルに回復した。

事件後、Resolv Labsは声明を出し、プロトコルの全機能を停止してさらなる損失を防止し、侵入事件の調査に着手した。攻撃者が引き続き追加のUSRを発行しようとしている状況を考慮し、迅速な対応の重要性が浮き彫りとなった。

堅牢なセキュリティ思想は「仮定して脆弱性は必ず存在する」に基づくべき

Resolvはすべての通常のセキュリティ対策を実施し、18回以上のセキュリティ監査も完了しているが、それでもこのハッキングは本質的にシンプルな物語である:攻撃者は鍵を入手し、その鍵を用いて不正に資産を発行し、関係者が気付く前に資産を現金化した。

しかし、より深いレベルでは、この事件はDeFiプロトコルが依存するチェーン外インフラの安全仮定と潜在的リスクを露呈している。オンチェーンのスマートコントラクトの動作と設計は完全に一致しているが、システム全体の設計や侵入されたチェーン外インフラは十分な安全性を備えていなかった。

各種脆弱性の悪用は数分で完了し、損失が明らかになった瞬間には受動的対応は不可能となるため、リアルタイムの監視と自動化された対応メカニズムはもはや補助的なものではなく、不可欠な防衛策である。

【Hexagateによる予防事例分析】

Resolvが経験したハッキングは、リアルタイムのオンチェーン監視機能の重要性を示している。Chainalysis Hexagateを導入していれば、以下の2つの具体的な検知方法が有効だった。

方案1:異常な発行イベントの監視

Hexagateなどの監視システムを設定し、completeSwap関数の呼び出し行動を監視。特に、発行されるUSRの数量と預入担保の比率が著しく不釣り合いなケースを識別。

例えば、10万ドルのUSDC預入に対し、5000万USRを発行するなど、異常な比率は通常のユーザー操作範囲を超える。こうした呼び出しに対して閾値を設定し、比率が1.5倍を超えた場合にアラートを発するルールを作成すれば、最初の段階で主要な2取引を検知できる。

Hexagateのカスタム監視機能は、Resolvの発行ロジックの異常行動を検知した際に、自動的に対応をトリガーできる。

方案2:GateSignerとカスタム機能の連携による重要コントラクトイベントの管理

攻撃者はrequestSwapとcompleteSwapの各段階でオンチェーンイベントを生成する。HexagateのGateSigner機能とコントラクトイベント監視を連携させ、異常なMintイベントを検知した場合に自動的にコントラクトの一時停止をトリガーし、8千万USRの資金が公開市場に流出する前に阻止できる。

RESOLV-2.94%
ETH4.76%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
コメントを追加
コメントを追加
コメントなし
  • ピン