犯罪

KelpDAOのブリッジ 悪用事件の内幕:存在しないアドレスに対して約2億9200万ドルのrsETHが放出された経緯バーン

概要

  • 2026年4月18日、北朝鮮のラザルス グループと関連する攻撃者らが、KelpDAOのLayerZeroブリッジ から約2億9200万ドル(116,500 rsETH)を盗み出しました。重要な点として、これはスマートコントラクト ハッキング によるものではなく、オフチェーン のインフラに対する巧妙な攻撃でした。
  • 攻撃者は、内部のRPCノードを乗っ取り、外部ノードに対してDDoS攻撃を仕掛けることで、単一障害点(ポイント )を持つ検証ネットワーク(1-of-1 DVN構成)に偽のデータを流し込みました。これにより、Ethereum (コントラクト )は、ソースチェーン上の架空のトークン「バーン」に基づいて資金を解放するよう誘導されました。
  • 従来の オンチェーン のすべてのトランザクションが完全に有効に見えたため、セキュリティツールはこの攻撃を見逃してしまいました。この種のエキスプロイトを検知するには、クロスチェーン不変性モニタリングが必要です。つまり、 のチェーン上で解放されたトークンが、ソースチェーン上で焼却されたトークンと数学的に一致していることを継続的に検証する必要があります。送付先
  • 迅速な対応により、さらなる被害は防がれた。KelpDAOは契約を一時停止することに成功し、ブロック を通じて2件目となる9,500万ドルの盗難を阻止した。また、Arbitrum Security Councilは法執行機関 と連携し、攻撃者の下流資金のうち30,000ETH 以上を凍結した。

 

オンチェーン、取引自体は問題ないように見えた。メッセージは中継され、署名は検証され、116,500 rsETH(約2億9,200万ドル相当)が、LayerZeroベースのブリッジ (コントラクト )からEthereum へ移動した。calldata自体には、エクスプロイトを示唆する兆候は一切見られなかった。 しかし、ロックされていたrsETHはKelpDAOのブリッジ エスクローから不正に解放され、リステーキングを行っていたコミュニティは、ペッグの前提が密かに破られていた持っている トークンを手にすることになった。ハッキング から3日後の火曜日、Arbitrumセキュリティ評議会は攻撃者の下流資金の大部分を凍結する措置を講じた。この介入により、この種のエクスプロイトが通常標的とする脆弱性のいくつかが塞がれた。

これは、いわゆる「スマートコントラクト 」の脆弱性ではありませんでした。再入バグも、アクセスチェックの欠落も、価格オラクルを悪用した手口もありませんでした。KelpDAOのインシデントは、おそらくそれ以上に危険なものです。すなわち、多くのクロスチェーンプロトコルが依存しているオフチェーン の検証レイヤーに対する攻撃だったのです。

Chainalysis 当社は、世界最大級の暗号資産 ハッキング事件の多くを調査しており、法執行機関 や業界のパートナーと緊密に連携し、Arbitrumによる犯罪活動の画期的な阻止に貢献できたことを誇りに思っています。ここでは、現時点で判明している事実、オンチェーン の証拠が示す内容、そしてこの種のエクスプロイトにはなぜ異なる種類の監視が必要なのかについて解説します。

何が起きたのか

4月1監視日、攻撃者はクロスチェーンメッセージを偽造し、KelpDAOのLayerZeroブリッジアダプターから約2億9000万ドル相当のrsETHを不正に流出した。この攻撃の標的は、KelpDAO自身のコントラクトでも、LayerZeroのコントラクトそのものでもなかった。むしろ、LayerZeroLabs がKelpDAOに代わってソースチェーンを監視するために運用していたオフチェーン インフラストラクチャが標的となっていた。

チェーン間でrsETHを移動させるため、KelpDAOはLayerZeroのブリッジインフラストラクチャを利用しました。LayerZeroでは、すべてのクロスチェーンメッセージは、送付先 チェーンが処理を行う前に、1つ以上の分散型検証ネットワーク(DVN)による検証を受ける必要があります。rsETHは、LayerZeroのLabs DVNという単一の検証ネットワークで構成されていました。2つ目のDVNによる承認は必要ありませんでした。 Kelp社は、この「1-of-1」構成が、L2拡張当時、新規デプロイメントに対して提供されていたデフォルトの設定であったと述べています。LayerZeroはその後、Kelp社に対してマルチDVN構成を推奨していたと説明しています。いずれにせよ、実際には、LayerZeroのLabs DVNに虚偽の情報を信じ込ませることができれば、その誤りを検知する独立した主体が存在しなかったことを意味していました。

攻撃者たちはまさにその隙を突いた。彼らはKelpDAOに侵入したわけでも、LayerZeroプロトコル を破ったわけでもない。その代わりに、LayerZeroLabs DVNがソースチェーンの状態を読み取るために使用していたRPCノードを標的とした。これは、検証者に他チェーンで実際に何が起きているかを伝えるための基盤となる仕組みである。Kelp自身のシステムは、そのインフラの構築や運用には関与していなかった。

LayerZeroのDVNは、ある程度の冗長性を備えて設計されています。具体的には、LayerZeroLabs が自らホストする内部RPCノードと、サードパーティが運営する外部RPCノードの両方からデータを読み取ります。攻撃者は内部側を突破し、ほぼ同時に外部側も機能停止に追い込みました: 

  • LayerZeroがホストする2つのRPCノードが侵害された。攻撃者は、DVNがクエリを送信していたRPCのリストを入手し、別々のクラスター上で稼働している2つの独立した内部ノードへのアクセス権を取得した上で、それらを実行していたソフトウェアをすり替えた。 改変されたノードは、LayerZeroのDVNに偽造データを送り込みつつ、LayerZero自身の監視サービスを含む、クエリを送信してくる他のシステムに対しては引き続き正しいデータを返していました。また、攻撃の機会が失われると自動的に自己破壊するよう設計されており、悪意のあるバイナリ、ログ、設定ファイルをすべて消去していました。
  • DVNが依存していた外部RPCノードの1つに対して、同時多発的な分散型サービス拒否(DDoS)攻撃が仕掛けられた。外部のパス に接続できなくなったため、DVNは、依然として通信可能な唯一のノード、すなわち攻撃者によって制御されていた2つの内部ノードへとフェイルオーバーした。その瞬間から、DVNが認識するソースチェーンは、攻撃者が意図した通りのものとなった。

改ざんされた内部ノードは、ブロック を報告しました。これによると、実際にはバーン は発生していなかったにもかかわらず、ソースチェーン(Unichain)上でrsETHがバーンされたと表示されていました。 LayerZeroのLabs DVNは、これらのノードからのみ情報を読み取り、対応するクロスチェーンメッセージを有効であると確認しました。その誤った承認 に基づき、Ethereum 側のコントラクト は、116,500 rsETH(約2億9,200万ドル)を、攻撃者が制御するアドレス へ解放しました。しかし、上流のどこにも一致するバーン は存在しませんでした。システムは、現実の改ざんされた見解に基づいて、正しいトランザクションを実行してしまったのです。

LayerZeroは、この攻撃を朝鮮民主主義人民共和国(北朝鮮 )の「ラザルス 」グループ、具体的には「TraderTraitor」として知られるサブグループによるものと特定しました。影響を受けたRPCノードはその後、使用中止となり、置き換えられました。

Kelpは、異常が発生して間もなくこれを検知し、Ethereum 上の関連するコントラクト およびそのL2展開を一時停止させ、攻撃者のアドレス をブラックリストに登録し、SEAL-911に連絡しました。これらの措置により、攻撃者が2つ目の偽造「ファントム」パケットを使用してさらに40,000 rsETH(約9,500万ドル)を流出させようとしたその後の攻撃が阻止されました。

上の Reactor グラフに示されているように、攻撃者は、Arbitrumセキュリティ評議会が資金を凍結する前に、ごく少数のアドレス を経由して、集約 アドレス へと資金を移動させました。

なぜこの攻撃が成功したのか

従来の オンチェーン の防御システムがこれを見逃してしまった理由を検証してみる価値がある。

トランザクションレベルで見ると、この悪用攻撃の各ステップは、通常のブリッジ の活動と見分けがつかないものでした。バリデーターの署名は有効でした。メッセージ形式も有効でした。リリース関数は設計どおりに動作していました。トランザクションごとの監査――プロトコル の監視の多くがこれに基づいているもの――では、どの呼び出しも問題として検出されなかったでしょう。

この失敗は構造的なものでした。ブリッジは、その定義上、双方向のシステムです。その正しさは、一方のチェーンだけを単独で見て評価することはできません。KelpDAOのエクスプロイトは、クロスチェーンプロトコルのオフチェーン インフラストラクチャ(RPCエンドポイント、バリデーターノード、署名者セットなど)がスタックの中で最も脆弱なポイント となり、かつクォーラムの設計上、攻撃者が意味のあるセットではなく単一のノードをハッキング できるようになった場合に何が起こるかを示す典型的な例です。

この事象では、実際には発生しなかったバーン に対して、Ethereum でrsETHが解放されました。これはトランザクションの問題ではありません。これはシステム状態の問題であり、これを検出するには、個々の呼び出しレベルではなく、不変条件のレベルでの監視が必要です。

破られた不変量

すべてのブリッジ は、一見単純に見える会計ルールに基づいています。すなわち、送付先 チェーン上で解放される資産は、ソースチェーン上で焼却またはロックされた資産と等しくなければならないというものです。

Ethereum でリリースされた rsETH には、アップストリームのどこにも対応するバーン が存在しませんでした。その結果、裏付けのない供給数 が流通することになりました。これは、Ronin、Nomad、Multichain の各インシデントが、それぞれ全く異なるメカニズムを通じて引き起こしたものと同じ、システムレベルでの根本的な欠陥です。共通点は脆弱性ではなく、不変条件の違反にあります。

その不変性が一度破られると、下流への影響は必然的に生じます。レイヤー2上のrsETH保有者は、存在しない担保に対して突然請求を行うことになります。その結果、ペグの乖離が生じます。流動性 は断片化します。この波及リスクは、当該トークンを担保として受け入れているあらゆるプロトコル に広がります。

信頼レイヤーの障害をリアルタイムで検知する

ここで、「オンチェーン 」の不変条件監視が重要となり、 Hexagate — 現在はChainalysis の一部となっている — が注力してきた点です。

この攻撃は、トランザクションレベルでは検知が難しいものの、不変条件レベルでは容易に検知できます。Ethereum 側のブリッジ コントラクト がrsETHを解放した瞬間、ソースチェーン上で対応するバーン イベントを監視していたシステムには、何も検知されなかったはずです。バーン も、ロックも、対応する状態遷移も発生していないにもかかわらず、資金がブリッジ から流出していたのです。

Hexagate’s Gateフレームワークは、まさにこの種のチェックを中核として構築されています:

  • リアルタイムでの不変性の確保。クロスチェーンの資金の流れを追跡し、バーン のリリースイベントと照合し、ブリッジ の会計処理を継続的に検証します。
  • クロスチェーン・イベントの整合性確保。LZ(またはその他のメッセージング層)のイベントが、関連するチェーン間で一貫性を保つようにする。
  • ブリッジ のカスタムモニター。同様のアプローチは、すでにデプロイされた でSolana 向けに実装されています →Ethereum LZの照合は、LZベースのブリッジ やクロスチェーン・メッセージング・システム全般に一般化できます。

比較的単純なゲートモニターが、その論理を表現しています:

L1で資金が解放された → 送信元チェーン上で対応するバーン を探す → 存在しない場合は、処理を実行する。

KelpDAO(事案 )では、主な盗難は単一の資金解放によって実行されました。不変アラートでは、その最初の資金解放を元に戻すことはできません。しかし、不変アラートができることは、資金解放から防御側の最初の対応までの時間をほぼゼロに短縮することです。つまり、Ethereum で資金が解放された瞬間に、それに対応する上流のバーン が存在しない場合、アラートが発動し、影響を受けるコントラクトを一時停止する権限を持つ者は誰でも、次の偽造メッセージが処理される前に対応することができます。

実際に起こったことは、基本的に以下の通りです。Kelpが異常を検知し、Ethereum およびそのL2展開上の関連コントラクトを一時停止させ、攻撃者のアドレス をブラックリストに登録しました。この対応は極めて迅速に行われたため、2つ目の偽造「ファントム」パケットを用いてさらに40,000 rsETH(約9,500万ドル)を流出させようとしたその後の試みは、成功しませんでした。 最初の流出は防げなかったものの、攻撃者が116,500 rsETHを交換したり、レンディング のマーケットに入金 したりする機会を得る前に、rsETHのコントラクト を一時停止することは可能だったはずである。

Arbitrumセキュリティ評議会が、攻撃者の下流資金のうち30,766ETH を凍結したことは、迅速かつ協調的なガバナンスと法執行機関の措置によって、リアルタイムの監視では防ぎきれなかった損失を挽回できることを改めて示している。

分散型金融 (DeFi) のセキュリティにとって、これは何を意味するのか

KelpDAOの脆弱性は、スマートコントラクト の監査は必要であるものの、コントラクト の外部に起因する障害からプロトコル を完全に守れるわけではないことを改めて示しています。クロスチェーンシステムは、その最も脆弱なオフチェーン の依存関係のセキュリティレベルを受け継ぐものであり、バリデーター、DVN、署名者、RPCプロバイダーなど、「1-of-1」の要素は、もはや理論上のリスクではなく、現実的なリスクとして扱われるべきです。

特に強調すべき3つのポイントは以下の通りです:

  • まず、 クォーラムの設計はセキュリティ設計そのものです。ある一当事者に依存する署名者またはDVNセットは、クォーラムとは言えません。それは、余分な手順が追加された単一のポイント に過ぎないのです。
  • 第二に、 検知には多層的なアプローチが必要です。 個々のトランザクションを監視して悪意のあるパターンを探しても、個々のトランザクションがそれ自体では有効であるような攻撃は検知できません。不変量に基づく監視、特にチェーンをまたぐイベント間の関係を注視することは、こうした悪用が実際に発生しているのを把握するための極めて重要な手段です。
  • 第三に、 介入の機会は限られているが、確かに存在する。「不変条件の監視」と「信頼性の高い一時停止メカニズム」を組み合わせたブリッジは、攻撃者が他のトークンへのスワップを開始する前に、攻撃を阻止することができる。

エクスプロイト発生後の対応は異例なほど迅速でした。4月20日、Arbitrumセキュリティ評議会は緊急措置を講じ、KelpDAOのエクスプロイターに関連付けられたアドレス に保管されていたArbitrum One上のETH 30,766を凍結しました。 評議会は、法執行機関 から提供されたinput に基づき、攻撃者の身元を特定した上で、他のArbitrumユーザー、アプリケーション、またはチェーンの状態に影響を与えることなく、資金を仲介ウォレットに移すよう介入策を講じました。これらの資金は、当初保有していたアドレス からはもはやアクセスできず、Arbitrumガバナンスが関係者と連携してさらなる措置を講じることでのみ移動が可能となります。

これによってブリッジ が完全に修復されたわけではありません。rsETHの不変条件の破綻は依然として発生しており、発行された供給数 と焼却された との間のギャップは、別途解決すべき問題です。しかし、これにより攻撃者が実際に得た利益は大幅に減少しました。また、信頼性の高いL2ガバナンスと、法執行機関 による機敏な連携が、数日ではなく数時間以内に行動した際に、どのような成果を上げられるかを示しています。

Chainalysis 引き続き状況を注視しており、調査の進展に応じてこの投稿を更新していきます。

 

本ウェブサイトには、Chainalysis, Inc. およびその関連会社(以下、総称して「Chainalysis」)の管理下にない第三者のサイトへのリンクが含まれています。当該情報へのアクセスは、Chainalysis が当該サイトまたはその運営者との提携、支持、承認、または推奨を行っていることを意味するものではなく、Chainalysis は、当該サイトで提供される製品、サービス、その他のコンテンツについて一切の責任を負いません。 

本資料は情報提供のみを目的としており、法律、税務、財務、または投資に関する助言を提供するものではありません。受領者は、こうした決定を行う前に、各自のアドバイザーに相談してください。Chainalysis は、受領者が本資料を利用したことに起因する、つながり におけるいかなる決定、その他の作為または不作為についても、一切の責任を負いません。

Chainalysis 当社は、本報告書に記載された情報の正確性、完全性、適時性、適合性、または有効性を保証するものではなく、当該資料のいかなる部分における誤り、欠落、またはその他の不正確さに起因するいかなる請求についても責任を負いません。