ソラナのリレーラーは7月17日の偽造入金攻撃で450万ドルを失った

SOL-2.86%
ACX-1.00%
Key Takeaways
  • Risk LabsのSolanaリレイヤーは、2026年7月17日に攻撃者が1,627件の入金イベントを偽造した後、450万ドルを失いました。
  • 攻撃者は、8バイトのAnchorイベントディスクリミネーターのチェックが欠落している点を悪用し、4170万ドル相当の不正な出金リクエストを作成しました。
  • Risk LabsはSolanaのルーティングを無効化し、5時間以内に修正を展開して、12時間以内に完全なサービスを復旧しました。

Risk LabsのSolanaリレイヤーは、2026年7月17日に、オフチェーンのイベント解析コードにある8バイトのチェック欠落を攻撃者が悪用し、オンチェーンで発生していない1,627件の入金イベントを偽造したことで、約450万ドルを失いました。この脆弱性により、額面総額約4,170万ドルに相当する不正な出金リクエストが可能になり、そのうち581件が埋められました。チームはSolanaのルーティングを無効化し、検知から5時間以内に修正をデプロイしました。Acrossはインテント・プロトコルとして機能し、リレイヤーが共有のユーザー用エスクローではなく自分自身の資本を前払いするため、ユーザー資金は失われず、また危険にもさらされませんでした。金銭的影響はRisk Labsの運用準備金の範囲に収まっています。

欠落した識別子チェックにより偽造の入金イベントが有効化

この脆弱性はRisk LabsのリレイヤーにあるSvmCpiEventsClientコンポーネントに存在し、イベント_authorityのPDAを通じてSpokePoolコントラクト宛ての任意の内側命令を「本物のイベント」として受け入れましたが、8バイトのAnchorイベント識別子を検証していませんでした。攻撃者はラッパープログラムをデプロイし、無害な読み取り専用のSpokePoolヘルパー関数—get_unsafe_deposit_id—を呼び出して、そこに偽造されたFundsDepositedペイロードを追記しました。リレイヤーの観点では、オンチェーンで資金が動かず、残高も変化せず、どのコントラクトにも触れられていないにもかかわらず、これらは正当な入金イベントとして見えました。Risk Labsはget_unsafe_deposit_id自体は脆弱性ではなく、攻撃者が用いた単なる運搬役だと明確化しました。根本原因はリレイヤーのコードベースにおける識別子チェックの欠落でした。

攻撃者が18チェーンにまたがる1,627件の偽造入金を提出

7月17日の05:07から06:14(UTC)の間に、攻撃者は1回限りのウォレット1,627個から、額面が約4,170万ドルの1,627件の偽造入金を提出しました。これらは単一のEVM受取人アドレスに統合される形で、18の行き先チェーンに分散されました。Risk Labsのリレイヤーはそれらの不正リクエストのうち581件を埋め、Solanaを起点チェーンとして無効化するまでに、そのリレイヤー自身の資本で約450万ドルを支払いました。残りの約3,700万ドル分の偽造入金は、リレイヤーが埋めるのをやめた時点で価値を失って期限切れになりました。スマートコントラクトは侵害されておらず、SolanaプログラムとすべてのEVMコントラクトは、インシデントを通じて設計どおりに振る舞いました。

インテント・プロトコル設計によりユーザー資金の喪失を防止

インシデントのいかなる時点でも、ユーザー資金は失われませんでした。Acrossはインテント・プロトコルとして動作し、ユーザーは起点チェーン上のエスクロー契約に資産を預け、独立したリレイヤーが自分の資本を前払いして、行き先チェーンでの送金を履行します。プロトコルは、各入金を埋めたリレイヤーを別個の決済プロセスで検証した後にのみ、リレイヤーへ払い戻します。したがって、偽造された入金はユーザーのエスクローに一度も触れていません。実在のユーザー入金はすべて、当日中に完了するか、完全に返金されました。Risk Labsは約450万ドルの総支払いを直接吸収しました。攻撃者の資金として約50万ドルがプロトコル内に閉じ込められていたため、純損失は400万ドル未満に収まり、回復作業が進むにつれてさらに縮小し続けています。

Risk Labsは検知から5時間以内に修正を展開

最初の偽造入金は7月17日の05:07(UTC)に提出されました。偽造入金ストリームは06:14(UTC)に終了し、最初の攻撃者アドレスは06:16(UTC)にブラックリスト化されました。Solanaは起点および行き先チェーンとしてAPIで08:23(UTC)に無効化され、SolanaのSpokePoolは08:35(UTC)にオンチェーンで一時停止され、最初の公開声明は08:36(UTC)に発行されました。根本原因の修正は09:37(UTC)にマージされ、10:26(UTC)にRisk Labsの全インフラへ展開されました—検知から約5時間後です。CCTPルーティングによりSolanaの入金は17:05(UTC)に再有効化され、約12時間でSolanaサービスが完全に復旧しました。他のプロトコル操作は、インシデント中ずっと影響を受けませんでした。

Solanaのイベント解析ロジックの再監査

Solanaの注文フローは現在、フォールバックCCTPルーティングのみを通じてルーティングされています。Risk Labsによれば、これは主要チェーンをすべてカバーしています。SolanaへのおよびSolanaからのインテント・ルーティングは無効化されたままで、チームはSolanaのオフチェーンイベント解析ロジックを再監査し、この脆弱性クラスが完全に閉じられていることと、スタック全体でイベント処理に関するセキュリティモデルが標準化されていることを確認しています。Risk LabsはSEAL 911と協力しています。SEAL 911は、インシデントが報告された後にほぼ即時の支援を提供し、さらに米国の法執行機関とも協力しています。攻撃者アドレスは取引所やオフランプ全体でフラグ付けされています。ACXトークンの買収プロセスはまったく影響を受けず、予定どおりに継続しています。

よくある質問

AcrossのSolanaリレイヤー攻撃で、ユーザー資金は失われましたか?

いいえ、いかなる時点でもユーザー資金は失われず、危険にもさらされませんでした。すべての正当な送金は、2026年7月17日に完了するか、完全に返金されました。

Risk Labsリレイヤーにおけるセキュリティ脆弱性の技術的な原因は何でしたか?

この脆弱性は、オフチェーンのリレイヤーコードにおける8バイトのAnchorイベント識別子の検証が欠落していたことが原因です。これにより、オンチェーンで資金が動いていないにもかかわらず、攻撃者が入金イベントを偽造し、リレイヤーがそれを実際のものとして扱えるようになりました。

Risk Labsは、Solanaリレイヤーに対する偽造攻撃にどのように対応しましたか?

Risk LabsはSolanaを起点チェーンとして無効化し、SolanaのSpokePoolをオンチェーンで一時停止し、検知から約5時間以内に根本原因の修正をデプロイしました。そして、フォールバックCCTPルーティングを用いて、約12時間でSolanaサービスを完全に復旧させました。

免責事項:本ページの情報には第三者提供の内容が含まれる場合があり、参考目的のみで提供されています。これらはGateの見解や意見を示すものではなく、金融、投資、または法律上の助言を構成するものでもありません。暗号資産取引には高いリスクが伴います。意思決定を行う際には、本ページの情報のみに依存しないでください。詳細については、免責事項をご確認ください。
コメント
0/400
コメントなし