_執筆: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チェーン上の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は、初期分析を通じて結論を出しました:攻撃はプロトコルのバックエンドで鋳造契約にパラメータを提供する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は、緊急停止には1つの署名だけで済むべきであり、権限はできるだけチームメンバーや信頼できる外部オペレーターに分配すべきだと考えています。これにより、オンチェーンの異常事態に対する注意が高まり、迅速な停止の可能性が向上し、異なるタイムゾーンをカバーすることができます。単一の署名でプロトコルを停止できるという提案はやや過激ですが、異なるタイムゾーンに跨る複数の署名が必要な場合、緊急事態の際に重要な事態を遅らせる可能性があることは確かです。信頼できる、継続的にオンチェーンの行動を監視する第三者を導入するか、緊急停止プロトコル権限を持つ監視ツールを使用することは、この事件がもたらした「後の教訓」となります。ハッカーによるDeFiプロトコルへの攻撃はすでに契約の脆弱性にとどまらず、Resolv Labsの事件はプロジェクト側への警告となるべきです:プロトコルの安全性に関する仮定は、どの環をも信用してはならず、すべてのパラメータに関わるプロセスは少なくとも二重確認を行うべきであり、プロジェクト側が運営するバックエンドも例外ではありません。
20万円でほぼ1億円を得る、DeFiステーブルコインが再び攻撃を受ける
執筆: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チェーン上の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は、初期分析を通じて結論を出しました:攻撃はプロトコルのバックエンドで鋳造契約にパラメータを提供する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は、緊急停止には1つの署名だけで済むべきであり、権限はできるだけチームメンバーや信頼できる外部オペレーターに分配すべきだと考えています。これにより、オンチェーンの異常事態に対する注意が高まり、迅速な停止の可能性が向上し、異なるタイムゾーンをカバーすることができます。
単一の署名でプロトコルを停止できるという提案はやや過激ですが、異なるタイムゾーンに跨る複数の署名が必要な場合、緊急事態の際に重要な事態を遅らせる可能性があることは確かです。信頼できる、継続的にオンチェーンの行動を監視する第三者を導入するか、緊急停止プロトコル権限を持つ監視ツールを使用することは、この事件がもたらした「後の教訓」となります。
ハッカーによるDeFiプロトコルへの攻撃はすでに契約の脆弱性にとどまらず、Resolv Labsの事件はプロジェクト側への警告となるべきです:プロトコルの安全性に関する仮定は、どの環をも信用してはならず、すべてのパラメータに関わるプロセスは少なくとも二重確認を行うべきであり、プロジェクト側が運営するバックエンドも例外ではありません。