IOSG:DeFiが最も危険な時期に、真の脆弱性はコードの中にはない
- 核心的な見解:2026年4月、DeFi業界では複数の重大なハッキング事件が発生し、累計損失は6億2500万ドルを超えたが、根本的な問題はスマートコントラクトのコード脆弱性ではなく、「運用基盤」、すなわち管理者の秘密鍵、マルチシグ設定、クロスチェーンブリッジのバリデーターなど、オフチェーンにおける信頼の前提が破綻したことにある。これにより、業界は「分散化」の真の意味を再考せざるを得なくなり、現在のDeFiは実際には、信頼できる運用レバレッジを備えた「OpenFi」であるという認識に至った。
- 重要な要素:
- Drift Protocol(損失2億8500万ドル):攻撃者はソーシャルエンジニアリングによりSecurity Councilメンバーの永続的なnonce署名を入手し、タイムロックのないマルチシグ移行後にプロトコルを掌握。コード監査ではこの攻撃ベクトルはカバーされていなかった。
- KelpDAO(損失2億9200万ドル):単一の1-of-1バリデーターによるクロスチェーンブリッジの設定が突破され、攻撃者はクロスチェーンメッセージを偽装して無担保のrsETHを鋳造。それをAaveに預入したことで約132億ドルの資金流出を引き起こし、コンポーザビリティの下での非対称リスク波及を浮き彫りにした。
- Wasabi Protocol(損失450万ドル):デプロイヤーのEOAがADMIN_ROLEを保持しており、秘密鍵が盗まれた後に直接コントラクトをアップグレードして資金を引き出した。長らく警告されていたものの解決されていないガバナンスの中央集権化アンチパターンに該当する。
- 核心的な教訓:3つの事件に共通するのは、スマートコントラクトのロジック上の欠陥ではなく、特権アクセス(署名者、バリデーター、秘密鍵)が突破された点である。運用セキュリティ(鍵管理、インシデント対応)は、コード監査と同等の重要性を持つものとして位置づけられるべきである。
- 業界の展望:プロトコルはその運用レバレッジ(マルチシグの閾値、タイムロックなど)を公開し、「信頼の前提」に関する標準化された開示(L2Beatモデルのようなもの)を受け入れる必要がある。明確に価格付けされた運用リスクのみが、機関投資家の資金流入を惹きつけることができる。
原文著者:Darko、IOSG Ventures
2026年4月1日、UTC時間16:05:18、攻撃者はDrift Protocolに取引を送信した。1秒後、別の取引がそれを承認した。
12分後、2億8500万ドルが消失した。17日後、KelpDAOクロスチェーンブリッジの侵害されたバリデーター1つが、単独で2億9200万ドル相当の裏付けのないトークンを鋳造し、48時間以内にAaveから約85億ドル、その他のDeFiプロトコルから約45億ドルの資金流出を引き起こした。
さらに12日後、盗まれたデプロイヤーの秘密鍵を手に入れた攻撃者が、Wasabi Protocolから4つのチェーンにまたがって450万ドルを引き出した。
これらの事件のいずれも、スマートコントラクトの脆弱性を利用したものではなかった。
DeFiはこの10年の大半、セキュリティはコードの問題だと信じてきた。監査、形式的検証、バグ報奨金――業界全体が、スマートコントラクトのロジックが完全であればプロトコルは安全である、という前提のもとに自己組織化されてきた。数学が法である。2026年4月は、この前提が公衆の面前で崩壊した月となった。
単月で約30件の事件が発生し、累計で6億2500万ドル以上が盗まれた――DefiLlamaのデータによれば、件数ベースで暗号資産史上最もハッキングされた月――そして、全ての主要な損失は、管理者の秘密鍵、クロスチェーンブリッジのバリデーター、オラクルの盲点、あるいはソーシャルエンジニアリング攻撃にまで遡ることができ、監査がカバーするように設計されたことのない運用の基盤部分だったのだ。
本稿で語るのは、この移行である。4月の3件の重大なハッキング事件を、同じ根本的な失敗の3つの側面として分解し、あるプロトコルの誤ったクロスチェーンブリッジ設定が、どのようにしてそれよりも25倍も大きなプロトコルから132億ドルの流出を引き起こしたのかを検証し、DeFiの現在の実像――マーケティング上はそう言わなくても、実際には信頼された運営レバレッジを備えたオープンインフラであること――を率直に検討する。問題は数学ではない。
問題は、数学を取り巻く「メンタルモデル」にある。
数学は壊れていない。壊れているのは、数学の上に被せられたメンタルモデルであり、このミスマッチの代償は、業界に「分散化」が実際に何を意味するのかを再考することを強いている。
メンタルモデルのギャップ
DeFiの歴史の大半において、主流のセキュリティ文化はSolidityに基づいていた。監査はコントラクトのロジックを審査する。バグ報奨金はリエントランシー、整数オーバーフロー、アクセス修飾子の誤りに報酬を支払う。形式的検証はオンチェーンコードの不変条件を証明する。暗黙の前提は、コントラクト以外の全て――マルチシグ、デプロイヤーの秘密鍵、クロスチェーンブリッジのバリデーター、リレイヤーインフラ、チームのコミュニケーションチャネル――は対象外であるか、他の誰かの問題である、というものだった。
この前提が成り立つのは、攻撃者たちがSolidityの脆弱性を悪用している場合に限られていた。
2026年4月のハッキング事件には、監査レポートが説明できない構造的特徴がある。スマートコントラクト自体には脆弱性がなかったのだ。独立したオンチェーン研究者の分析によれば、Driftのコードは2022年にTrail of Bits、2026年2月にClawSecureによってそれぞれ監査されており、どちらも合格していた。
両方の監査とも、Driftのマルチシグ設定、durable nonce処理ロジック、そしてそのSecurity Councilを取り巻くソーシャルエンジニアリングの攻撃対象領域をカバーしていなかった。KelpDAOのLayerZeroアダプターは標準的なOFTテンプレートコードであり、コントラクト自体に問題はなかった。問題はデプロイ設定にあり、これは通常Solidity監査の対象外である。
WasabiのVaultコントラクトは設計上アップグレード可能であった。設計そのものが脆弱性だったのだ。
4月に崩壊したのは数学ではなく、数学が動作するための運用基盤であった。
三つの解剖:同じ失敗の三つの側面
2026年4月の3件の重大なハッキング事件――Drift、KelpDAO、Wasabi――は、それぞれ異なる「コード以外の失敗」を象徴している。
これら3つを合わせると、新たな攻撃対象領域のほとんどをカバーしており、全てに共通する構造的特徴がある。それぞれの事件において、1、2の侵害された個人またはインフラが、プロトコル全体にドミノ効果を引き起こしたのだ。
Drift:人的マルチシグ(2億8500万ドル)
Driftハッキング事件は、脆弱性の悪用ではなく、諜報活動であった。攻撃者は、TRM Labs、Elliptic、そしてSEAL 911の協力を得たDrift自身の分析により、北朝鮮のLazarus Group、特にMandiantが以前に2024年10月のRadiant Capital攻撃と関連付けたUNC4736サブグループに特定された。
攻撃者はこの作戦に約半年をかけて準備した。ソーシャルエンジニアリングは2025年秋の業界カンファレンスから始まり、オンチェーンの準備は事件の3週間前に開始された。
2026年3月11日、作戦はTornado Cashからの10 ETHの引き出しで始まった。翌日、おおよそ平壌時間の午前9:00頃、これらの資金はSolana上にCarbonVote Token(CVT)をデプロイするために使われた。攻撃者はRaydium上に小さな流動性プールを作り、自己取引によってCVTの市場価格を約1ドルに固定し、自身が制御する価格オラクルを構築して、この人為的な価格をDriftに送信した。
自己取引は、オラクルの出力を「正当に見せる」ために存在していた――誰が調べても、市場価格とオラクルの報告価格が一致しているように見えたのだ。
同時に、攻撃者は自らをある定量取引ファンドに偽装し、数週間かけてDriftの貢献者と関係を構築した。目的は情報を引き出すことではなく、特定の瞬間に備えて事前に信頼を蓄積することだった。
その瞬間は、Solanaのdurable nonces(持続的ナンス)と呼ばれる機能に依存していた。これは「今日署名し、後で実行する」ことを可能にする合法的なメカニズムである。3月23日から3月30日の間に、攻撃者はDriftの5人からなるSecurity Councilのうち少なくとも2人から、durable nonceの署名を入手した。
署名者の視点からは、彼らは定例の取引を承認していた。ネットワークの視点からは、これらの署名は有効な認証情報であり、休止状態ではあるが有効なままであった。
3月26日、Driftは結果的に致命的な判断を下した。新しい2-of-5のSecurity Councilマルチシグに移行し、タイムロックをゼロに設定したのだ。この移行により、攻撃を発見または介入できたかもしれない遅延の窓が排除された。
4月1日UTC 16:05:18、攻撃者は最初の事前署名されたdurable nonceトランザクション――管理者権限をアドレスH7PiGqqUaanBovwKgEtreJbKmQe6dbq6VTrw6guy7ZgLに移譲する提案――を提出した。1秒後のUTC 16:05:19、2番目の事前署名されたトランザクションがこれを承認し実行した。攻撃者はDriftを掌握した。
その後はわずか12分で完了した。攻撃者は無価値なCVTを担保としてリストし、操作されたオラクル価格で5億CVTを預け入れ、実質的に無制限の借入限度額を得て、3つのコアVaultから2億8500万ドル相当の実際の資産――JLP、USDC、SOL、cbBTC、wBTC、ETH――を引き出した。DriftのTVLは5億5000万ドルから約2億5000万ドルに崩壊した。2名の署名者、1つのプロトコル、スマートコントラクトは設計通り完璧に動作した。脆弱性は「人間」にあった。
Driftの事後対応については、特に言及に値する点がある。なぜなら、それは次の被害プロトコルが目指すべき基準に関わるからだ。Drift自身の事後開示は異常なまでに率直だった。
脆弱性が明るみに出てから5日以内に、チームは詳細なソーシャルエンジニアリング攻撃の分析を公開した。それには以下の事実が含まれていた。貢献者が半年間にわたって複数回接触されていたこと、そのうちの2名はおそらくコードリポジトリのクローンとTestFlightウォレットのベータ版を通じて侵害されたこと、攻撃者とのTelegramチャットが攻撃の前後に削除されていたこと、攻撃の6日前にゼロタイムロックのマルチシグへの移行が決定され、最後の検出の窓が取り除かれていたこと。
チームはまた、中程度の確度で攻撃の帰属(UNC4736 / Citrine Sleet)を公開し、SEAL 911と協調し、他のプロトコルが同じ手口を識別するのに役立つ運用上の詳細を共有した。
被害プロトコルはしばしば法的な慎重さと曖昧な表現に後退する。Driftが選択したのは、単一の事件を業界全体の脅威インテリジェンスに変えるような、証拠に基づいた narrative を公開することだった。事件自体は依然としてハッキングであり、根本的なガバナンスの脆弱性は依然として脆弱性である。しかし、「ソーシャルエンジニアリングがどのように機能したのか」を公に共有するという行為こそが、業界全体の集合的な学習に貢献するプロトコルと、損失を静かに飲み込むプロトコルを分けるものなのである。
KelpDAO:単一のバリデーター(2億9200万ドル)
17日後の4月18日、同じ脅威アクターのプロファイルが、構造的に全く異なる攻撃を生み出した。KelpDAOは、rsETHを発行する流動性再ステーキングプロトコルである。rsETHはユーザーの預金を表し、追加の利回りのためにEigenLayerを経由するトークンである。
2026年4月までに、rsETHのTVLは10億ドルを超え、LayerZeroのOFT(Omnichain Fungible Token)標準を通じて20以上のチェーンにデプロイされていた。
コントラクトに問題はなかった。設定に問題があったのだ。
KelpDAOのクロスチェーンブリッジは、1-of-1のDVN(Decentralized Verifier Network)上で動作していた。つまり、たった1つのバリデーターである。1つのノードでクロスチェーンメッセージを承認するのに十分だった。「分散化」は言葉であり、アーキテクチャではなかった。
攻撃は段階的に行われた。攻撃者はまず、バリデーターがソースチェーンの状態を読み取るために依存していた内部RPCノードを侵害し、次に外部ノードに対して協調的なDDoS攻撃を開始し、システムを侵害されたインフラにフォールバックさせた。データソースを掌握した後、彼らは偽のクロスチェーンメッセージを作成し、「どのソースチェーンでも決して発生しなかった」バーンに基づいて、KelpDAOのイーサリアムメインコントラクトにrsETHを鋳造するよう指示した。
UTC 17:35、コントラクトは116,500 rsETH――価値にして約2億9200万ドル、トークンの流通供給量の約18%に相当――を攻撃者が管理するアドレスに解放した。数分のうちに、これらのrsETHはAaveに担保として預け入れられ、1トークンあたり約2,500ドルと評価された。
攻撃者は裏付けのない担保を使って実際のWETH、USDC、wBTCを借り出し、KelpDAOがUTC 18:21にコントラクトを停止するまでに、最終的に82,600 ETH(約1億9100万ドル)以上を引き出した。
UTC 18:26と18:28の2回のその後の試みでは、さらに40,000 rsETHを引き出そうとしたが、いずれもロールバックされた。停止によりそれ以上の損失は防がれたが、最初の大きな損失を防ぐことはできなかった。
リエントランシーの脆弱性も、欠落したアクセスチェックも、Kelp自身のロジック内のオラクルの操作もなかった。クロスチェーンブリッジの会計上の不変条件――デスティネーションチェーンで解放される資産は、ソースチェーンでバーンされた資産と等しくなければならない――が、トランザクションレベルではなくシステムレベルで違反されたのだ。1つのノード、数億ドルの損失。
その後、公開された議論が巻き起こった。責任はどこにあるのか? LayerZeroの最初の事後報告書は、Kelpがガイドラインに反して1-of-1のDVNを選択したとして、Kelpに直接責任を押し付けた。Kelpは5月5日の反論覚書で異なる見解を示した。当時、アクティブなLayerZero OAppコントラクトの47%――約1,250のアプリケーション、その時価総額合計は45億ドルを超える――が、同じ単一バリデーター構成で動作していたと指摘した。
Kelpは主張した。LayerZero自身のOFT Quickstart、GitHubのサンプル、開発者テンプレートは、出荷時の状態でLayerZero Labs自身のDVNを唯一のバリデーターとして必須としており、2つ目は存在しなかった。そして、LayerZeroのスタッフからのTelegramのスクリーンショットを提示した。そこでは、2年半、8回にわたる統合の議論の中で、相手方がKelpチームに「デフォルト値で問題ない」と伝えていた。
セキュリティ研究者のSujith Somraaj(元LayerZero監査人)は、この攻撃パターンを正確に記述したバグ報奨金レポートをImmunefiに提出していたが、LayerZeroは「バリデーターネットワークの選択はアプリケーション層の設定である」として却下した。
LayerZeroのKelp覚書への応答は、この記述は誤解を招くものであるというものだった。バグ報奨金が「アプリケーション層の設定」を除外しているのは、標準的な「プラットフォーム/アプリケーション」の境界線である(LayerZeroのスポークスパーソンは、そうでなければ「どんなアプリケーションも自身を唯一のDVNとして設定し、悪意を持って報酬を請求できる」と指摘)。また、プロトコルのほとんど全てのパスにおけるデフォルト値は実際にはマルチDVNである。そして、1-of-1が出現するテンプレートにおいて、その唯一のDVNは「DeadDVN」と呼ばれるプレースホルダーコントラクトを指しており、全てのメッセージを拒否するため、開発者はデプロイ前にセキュリティスタックを自分で設定することを余儀なくされる。
Kelpに対して、LayerZeroは、K


