執筆:Eric、Foresight News
北京時間今日10:21頃、デルタ中立戦略を利用して安定通貨USRを発行するResolv Labsがハッキング被害に遭いました。0x04A2で始まるアドレスが、Resolv Labsプロトコルから10万枚のUSDCを使用して5,000万枚のUSRを鋳造しました。

イベントが報じられた後、USRは0.25ドル付近まで下落しましたが、記事作成時点では0.8ドル程度まで回復しています。RESOLVトークンの価格は一時、最大で約10%の下落を記録しました。

その後、ハッカーは同じ手法を用いて、10万枚のUSDCを用いて3,000万枚のUSRを鋳造した。USRが大幅にアンカーリリースしたことで、アービトラージャーは迅速に行動し、Morpho上でUSRやwstUSRなどを担保としている多くの貸出市場はほぼ空洞化し、BNBチェーン上のLista DAOも新たな借入リクエストを一時停止した。

影響を受けたのは、これらの貸借プロトコルだけではない。Resolv Labsのプロトコル設計では、ユーザーはさらに価格変動が大きく、リターンも高いが、プロトコルが損失を被った際に補填責任を負うRLPトークンを鋳造できる。現在、RLPトークンの流通量は約3,000万枚で、最大保有者であるStream Financeは1,300万枚以上のRLPを保有しており、ネットリスクエクスポージャーは約1,700万ドルである。
はい、以前xUSDが暴落したStream Financeが再び打撃を受ける可能性があります。
記事作成時点では、ハッカーはUSRをUSDCおよびUSDTに変換し、引き続きイーサリアムを購入しており、すでに1万枚以上を購入しました。20万枚のUSDCを用いて2,000万ドル以上の資産を抽出し、ハッカーはベアマーケット期間中に自身の「100倍コイン」を見つけ出しました。
また「不十分な対応」によって隙を突かれた
去年10月11日の大暴落により、デルタ中立戦略を採用した多くのステーブルコインがADL(自動レバレッジ削減)により担保損失を被った。一部のプロジェクトは、アルトコインを戦略実行資産として使用していたため、より深刻な損失を出し、中には直接逃走したケースもあった。
今回攻撃を受けたResolv Labsも、同様のメカニズムを用いてUSRを発行しました。同プロジェクトは2025年4月に、Cyber.FundとMaven11がリードし、Coinbase Venturesが参加する1,000万ドルのシードラウンドを完了し、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)がプロジェクト側ではなくハッカーに制御されていた(内部オラクルの暴走、内部犯行、または鍵の盗難によるものと推測)と疑い、mint時に_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の事例は、プロジェクト側に示す教訓である:プロトコルのセキュリティに関する仮定は、どの环节も信頼してはならない。パラメータに関わるすべての工程は、プロジェクト側が運営するバックエンドであっても、少なくとも二重検証を行う必要がある。



