執筆者:Eric、Foresight News
北京時間の今日10:21頃、Deltaニュートラル戦略を利用して安定コインUSRを発行するResolv Labsがハッキングされました。0x04A2で始まるアドレスは、10万USDCを使ってResolv Labsプロトコルから5000万USRを鋳造しました。
事件が明らかになると、USRは0.25ドル近くに急落し、執筆時には0.8ドル程度に回復しました。RESOLVトークンの価格は、一時的に10%近く下落しました。
その後、ハッカーは同様の手法で再び10万USDCを使って3000万USRを鋳造しました。USRの大幅な価値の下落に伴い、アービトラージトレーダーも迅速に行動し、Morpho上ではUSR、wstUSRなどを担保としてサポートする多くの貸出市場がほぼ空になりました。BNB Chain上のLista DAOも新しい借入リクエストを一時停止しました。
影響を受けているのはこれらの貸出協定だけではありません。Resolv Labs のプロトコル設計では、ユーザーは価格変動が大きく、利益も高いが、プロトコルが損失を受けた際に補償責任を負う RLP トークンを発行することもできます。現在、RLP トークンの流通量は約3000万枚で、最大保有者である Stream Finance が1300万枚以上の RLP を保有し、純リスクエクスポージャーは約1700万ドルです。
そうです、以前 xUSD の暴落で一度打撃を受けた Stream Finance が再び打撃を受けるかもしれません。
執筆時点で、ハッカーは USR を USDC と USDT に変換し、イーサリアムを継続的に購入しており、現在1万枚以上を購入しています。20万枚の USDC で2000万ドル以上の資産を引き出し、ハッカーはベアマーケットで自分に合った「百倍コイン」を見つけました。
また一度「不厳密」さが突かれた
昨年の10月11日の大暴落により、Delta ニュートラル戦略を使用して発行された多くのステーブルコインが ADL(自動レバレッジ削減)によって担保の損失を被りました。一部の山寨コインを実行戦略として使用した資産のプロジェクトは、さらに甚大な損失を被り、直接逃げることになりました。
今回攻撃を受けた Resolv Labs も同様のメカニズムを利用して USR を発行しており、このプロジェクトは2025年4月に Cyber.Fund と Maven11 のリード投資を受け、Coinbase Ventures が参加した1000万ドルのシードラウンドの資金調達を完了したことを発表し、5月末から6月初めにかけてトークン RESOLV をローンチしました。
しかし、Resolv Labs が攻撃を受けた理由は極端な市場状況ではなく、USR 発行のメカニズム設計が「不十分であった」からです。
現在、このハッカー事件の原因について分析を行った安全会社や公式の機関はありません。DeFi コミュニティの YAM は、分析を通じて初期の結論を出しました:攻撃はプロトコルのバックエンドで USR 発行契約にパラメータを提供するための SERVICE_ROLE がハッカーに制御されたことが原因である可能性が高いです。
Grok の分析によれば、ユーザーが USR を発行する際には、チェーン上でリクエストを開始し、契約の requestMint 関数を呼び出し、パラメータには次が含まれます:
_depositTokenAddress:預け入れるトークンのアドレス;
_amount:預け入れ数量;
_minMintAmount:最低限期待される USR 数量(スリッページ防止)。
その後、ユーザーは USDC または USDT を契約に預け入れ、プロジェクトチームのバックエンド SERVICE_ROLE がリクエストを監視し、Pyth オラクルが預け入れた資産の価値を確認し、その後 completeMint または completeSwap 関数を呼び出して、実際の発行される USR 数量を決定します。
問題は、発行契約が SERVICE_ROLE が提供する _mintAmount を完全に信頼しており、その数字がオフチェーンで Pyth によって検証されたものであると考えているため、上限制限を設定しておらず、チェーン上のオラクルによる検証も行っておらず、直接 mint(_mintAmount) を実行したことです。
これに基づき、YAM はハッカーがプロジェクトチームが制御すべき SERVICE_ROLE を制御していると疑っています(内部オラクルの失控、守秘義務の違反、または秘密鍵の盗難が原因である可能性があります)。発行時に直接 _mintAmount を 5000 万に設定し、10 万枚の USDC で 5000 万枚の USR を発行する攻撃事件を実現しました。
根本的に、Grok が示した結論は、Resolv がプロトコル設計時にユーザーの発行リクエストを受け付けるアドレス(または契約)がハッカーに制御される可能性を考慮していなかったことであり、USR の発行リクエストが最終的な USR の発行契約に送信される際に、最大発行額を設定せず、発行契約がチェーン上のオラクルによる二重検証を行わず、SERVICE_ROLE が提供するすべてのパラメータを直接信頼してしまったことです。
予防も不十分
ハッキングの原因を推測するだけでなく、YAM はプロジェクトチームの危機対応に対する準備不足も指摘しています。
YAM は X 上で、Resolv Labs がハッカーによる最初の攻撃が完了してから3時間後にプロトコルを一時停止したと述べました。そのうち約1時間の遅れは、マルチサイン取引に必要な4つの署名を集めるためのものでした。YAM は、緊急停止には一つの署名だけで済むべきであり、権限はできるだけチームメンバーまたは信頼できる外部オペレーターに分配されるべきだと考えています。これにより、チェーン上の異常事態への注目が高まり、迅速な停止の可能性が向上し、異なるタイムゾーンをカバーすることができます。
単一の署名でプロトコルを停止できるという提案はやや過激ですが、異なるタイムゾーンで複数の署名が必要であるため、緊急事態が発生した際に重大な遅れを引き起こす可能性があります。信頼できる第三者を導入し、チェーン上の行動を継続的に監視するか、緊急停止プロトコルの権限を持つ監視ツールを使用することは、この事件がもたらした「後事之師」です。
ハッカーによる DeFi プロトコルへの攻撃はすでに契約の脆弱性に限定されておらず、Resolv Labs の事件はプロジェクトチームに警告しています:プロトコルの安全性に関する仮定は、どの部分も信頼してはいけません。すべての関連パラメータは少なくとも二重検証が必要であり、プロジェクトチーム自身が運営するバックエンドも例外ではありません。
