今回のKelp攻撃の核心は、攻撃者が偽のクロスチェーンメッセージを送信し、LayerZero OFTブリッジがメインネット上で対応するソースチェーンの焼却なしに116,500枚の本物のrsETHを直接解放し、その「空壳」rsETHをAaveなどのプロトコルに抵当品として預け、約2億3600万ドル分の本物のWETH/ETHを借り入れたことである。 この核心的な脆弱性はAaveにではなく、Kelp DAOのLayerZeroクロスチェーンブリッジの設定にあった。 KelpのrsETHクロスチェーンはLayerZero V2のOFT(Omnichain Fungible Token)標準を使用している: イーサリアムメインネットでは、OFTAdapterコントラクトがrsETHをロックし、複数のL2上のwrapped rsETHの最終的な準備金(銀行の金庫のような役割)として機能する。 L2上では、標準的なOFTコントラクトが「debit(焼却/減額)→ メッセージ送信 → credit(発行/解放)」という1:1メカニズムでクロスチェーン処理を行う。 通常のクロスチェーンフローは以下の通り: L2ユーザーがrsETHを焼却 → LayerZeroがメッセージを送信 → メインネットのOFTAdapterが受信し、rsETHを解放する。 しかし攻撃者はたった1つの行動を取った: イーサリアムメインネット上で、LayerZero EndpointV2コントラクトのlzReceive関数を直接呼び出した(トランザクションハッシュは公開済み:0x1ae232da…)。 同時に、合法なソースチェーンから送信されたと偽装した偽のクロスチェーンメッセージパケット(origin packet)を埋め込んだ。 EndpointV2がこのメッセージを検証に合格させると、そのメッセージはKelpのrsETH OFTAdapterに転送された。 OFTAdapterは受信後、メインネットの準備金庫から直接116,500枚のrsETHを攻撃者のアドレスに解放した。 これにより、ソースチェーンでのburn/debit記録は存在しないにもかかわらず、メインネット上でcredit/releaseが完了した。 Omnichain供給量の恒常性が破壊され、メインネットの金庫が空になり、すべてのL2上のrsETHが同時に「紙くず」となった。 この攻撃は1回のトランザクションで完了した。 その後2回の追加攻撃(各4万枚)は失敗した。なぜならKelpが緊急停止を実施したためである。 では、なぜLayerZeroクロスチェーンブリッジはこの偽メッセージを「認めた」のか? LayerZeroプロトコル自体にバグがあったわけではなく、主にKelpのOApp(アプリケーション層)のセキュリティ設定が極めて脆弱だったためである。 LayerZero V2では開発者が検証強度をカスタマイズでき、DVN(分散型検証ネットワーク)を使用してメッセージを確認する。 Kelpは1-of-1 DVN(1つの検証者による署名で承認可能)のみを設定しており、これは最も弱いセキュリティレベルである。 2025年1月にはAaveガバナンスフォーラムで警告が発出されていた:KelpはDVNをマルチシグ(少なくとも2-of-2以上)に拡張すべきだと。しかし15ヶ月以上経過しても改善されず、依然として「速度優先」の最も脆弱な設定が維持されていた。 この単一ポイントこそが今回のハッキング事件の核心攻撃点となった:単一DVNが侵害され、署名が偽造された、または検証を通過するパケットが直接構築された。 EndpointV2は「検証合格」とされたメッセージを受け取ると、直ちにターゲットコントラクトのlzReceiveを呼び出す。OFTAdapterはEndpointから送られてきたパケットを完全に信頼し、追加の二次検証を行わなかった。 もし速度優先ではなく、セキュリティとバランスを取っていたならば、今回の攻撃は成功しなかっただろう。 つまりKelpは「クロスチェーンメッセージの正当性」を単一DVNに完全に依存していた。 最終的にrsETHが迅速に本物のETHを借りられる理由は、rsETHがAaveなどのプロトコルでホワイトリスト登録された抵当品だったためである。 攻撃者はKelpがブリッジを一時停止する46分前に、偽のrsETHを預け、本物のWETHを借り出した。 Kelpがブリッジとトークンを凍結したときには、すでにAave内に不良債権が発生していた(AaveはrsETH市場を凍結し、Umbrellaセキュリティモジュールを起動して対応)。 まとめると、 今回の偽装攻撃の核心は「単一DVN設定 + lzReceiveへの直接呼び出しによる偽パケット注入」である。 単一検証リスクとDeFiの組み合わせ可能性が重なり合い、この大規模なハッキング事件を引き起こした。 単一検証は脆弱である。速度は重要だが、セキュリティこそより重要である。


