メインコンテンツまでスキップ

18 日間で 6 億 600 万ドル:アップグレードに起因するバグが DeFi の新たな主要攻撃手法となった理由

· 約 18 分
Dora Noda
Software Engineer

2026年 4月のわずか 18日間で、攻撃者は DeFi から 6億 606万ドルを流出させた。この期間だけで 2026年 第1四半期の損失額の 3.7倍を上回り、2025年 2月の Bybit ハッキング事件以来、最悪の月となった。被害の 95% は、Solana 上の Drift と Ethereum 上の Kelp DAO の 2つのプロトコルによるものだった。両者とも監査済みであり、静的解析もパスしていた。どちらもルーチン的なアップグレードを行ったが、それが監査人が検証した前提条件を密かに無効にしてしまったのである。

これが DeFi リスクの新たな側面だ。2026年の壊滅的なエクスプロイトは、もはや CI のファザーが発見できるようなリエントランシー・バグや整数オーバーフローに関するものではない。それは、アップグレードによって導入された脆弱性である。ブリッジの設定、オラクル・ソース、アドミン・ロール、あるいはメッセージングのデフォルト設定に対する微妙な変更が、Solidity のコードに明らかな間違いが一行もなくとも、かつて安全だったコードを「開かれたドア」へと変えてしまうのだ。

DeFi で構築、カストディ、あるいは単に資産を保有しているなら、2026年 4月からの教訓は受け入れがたいものだ。3ヶ月前のクリーンな監査レポートは、もはやそのプロトコルが今日安全であるという証拠にはならない。

4月のパターン:コードではなく設定

「アップグレード導入型」がなぜ独自のカテゴリーに値するのかを理解するために、2つの最大規模のエクスプロイトが実際にどのように展開されたかを見てみよう。

Drift Protocol — 2億 8,500万ドル、2026年 4月 1日。 Solana 最大の無期限先物 DEX(perp DEX)は、攻撃者がチームに対して 6ヶ月間にわたるソーシャル・エンジニアリング・キャンペーンを展開した後、TVL の半分以上を失った。信頼関係が構築されると、彼らは Solana の「デュラブル・ノンス(durable nonces)」機能(ユーザーが後で送信するためにトランザクションに事前署名できるように設計された UX 上の利便性)を悪用し、Drift セキュリティ評議会のメンバーを騙して、ルーチン的な運用署名だと思い込ませて承認させた。これらの署名は最終的に攻撃者に管理者権限を譲り渡し、攻撃者は偽の担保トークン(CVT)をホワイトリストに登録し、5億ユニットをデポジットして、2億 8,500万ドルの本物の USDC、SOL、ETH を引き出した。Solana の機能は設計通りに動作していた。Drift のコントラクトは管理者が指示した通りに動作していた。攻撃は、マルチシグの署名者が承認していると思っていた内容と、実際に承認していた内容の「隙間」に完全に存在していた。

Kelp DAO — 2億 9,200万ドル、2026年 4月 18日。 LayerZero によって北朝鮮の Lazarus Group によるものとされた攻撃者は、Kelp のクロスチェーン rsETH ブリッジを支える 2つの RPC ノードを侵害し、そこで実行されているバイナリを入れ替え、DDoS 攻撃を使用してベリファイアのフェイルオーバーを強制した。その後、悪意のあるノードは LayerZero のベリファイアに対し、不正なトランザクションが発生したと通知した。このエクスプロイトが成功したのは、Kelp が 1-of-1 のベリファイア設定 で運用されていたためである。つまり、単一の LayerZero が運営する DVN がクロスチェーン・メッセージを確認する一方的な権限を持っていた。LayerZero によると、その 1-of-1 の設定はクイックスタートガイドのデフォルトであり、現在 ネットワーク上のプロトコルの約 40% で使用されている。46分間で、攻撃者は全流通量の約 18% にあたる 116,500 rsETH を流出させ、20のチェーンにわたってラップされた担保を立ち往生させた。rsETH をリストしている Aave は、預金者が一斉に出口へ急いだため、流動性危機に追い込まれた。

どちらの攻撃もスマートコントラクトのバグを必要としなかった。どちらも、マルチシグの署名フロー、デフォルトの DVN 数、RPC の冗長性といった「設定」が、「運用の詳細」から「根幹的なセキュリティ上の前提条件」へと密かに昇格していたことを理解する必要があった。

なぜ静的監査はこの種のバグを見逃すのか

従来の DeFi 監査は、誤った脅威モデルに対して最適化されている。Certik、OpenZeppelin、Trail of Bits、Halborn といった企業は、行ごとのコードレビューや、凍結されたコントラクトバージョンに対する不変条件(invariant)テストの実行に長けている。これにより、リエントランシー、アクセス制御のミス、整数オーバーフロー、OWASP スタイルの障害などは捕捉される。

しかし、アップグレードによって導入されるバグクラスには、そのワークフローを無効にする 3つの特性がある。

  1. ソースコードではなく、複合的な実行時の挙動に存在する。 ブリッジの安全性は、メッセージング・レイヤーのベリファイア設定、DVN セット、それら DVN の RPC 冗長性、およびそれらオペレーターのスラッシング・リスクに依存する。オーディターが読む Solidity コードには、これらは一切含まれていない。

  2. 初期デプロイ時ではなく、「変更」によって導入される。 Kelp のブリッジは、LayerZero v2 が最初に統合されたときは問題なかったと思われる。DVN の設定が危険になったのは、TVL が攻撃する価値があるほど大きくなり、Lazarus が RPC インフラの侵害に投資した後のことだ。

  3. 「振る舞いの差分テスト(behavioral differential testing)」が必要である。 つまり、「新しいコードパスの下で不変条件 X は維持されているか?」という問いに答えることだが、主要な監査法人のいずれも、これを定期的なアップグレード後サービスとして製品化していない。バージョン 1.0 で一度限りの監査を受け、バージョン 1.1 で別の監査を受けることはあるが、1.0 から 1.1 へのアップグレードが、1.0 が依拠していた特性を損なわないか という継続的な証明は得られない。

2026年 第1四半期の統計はこのギャップを数値化している。DeFi は四半期全体で 34件のインシデント、1億 6,550万ドルの損失を記録した。しかし 4月だけで 12件のインシデントで 6億 606万ドルが発生した。デプロイ側は拡大し、第1四半期には 400億ドル以上の新規 TVL が追加されたが、監査能力、インシデント対応、およびデプロイ後の検証はほぼ横ばいのままだった。どこかに歪みが生じるのは避けられなかったのだ。

2026 年がこの問題が大規模に顕在化する年になる 3 つの要因

1. あらゆるレイヤーでアップグレードの頻度が加速している

すべての L1 および L2 のイテレーションが速まっています。 Ethereum の Pectra アップグレードは活発に展開されており、 Fusaka や Glamsterdam は設計段階にあります。また、 Solana 、 Sui 、 Aptos はすべて数週間サイクルで実行レイヤーの変更をリリースしています。各チェーンレベルのアップグレードは、ガスセマンティクス、署名スキーム、またはトランザクションの順序を微妙に変化させ、アプリケーションレイヤーの前提条件に波及効果をもたらす可能性があります。 Drift のエクスプロイトは分かりやすい例です。ユーザーエクスペリエンスの利便性を意図した Solana の機能( durable nonces )が、管理者権限の乗っ取りの媒体となりました。

2. リステーキングがアップグレードの攻撃対象領域を複合化させている

EigenLayer (依然として市場の 80 パーセント以上を占める)、 Symbiotic 、 Karak 、 Babylon 、 Solayer といったリステーキングスタックは、この問題に第三の側面を加えます。 rsETH のような単一の LRT は EigenLayer の上に成り立ち、 EigenLayer はネイティブな ETH ステーキングの上に成り立っています。各レイヤーは独自のスケジュールで独自のアップグレードをリリースします。 EigenLayer のスラッシングセマンティクスの変更は、すべてのオペレーター、およびそのオペレーターの検証を利用するすべての LRT に暗黙的な影響を及ぼします。 Kelp のブリッジから資金が流出した際、その連鎖は即座に EigenLayer の TVL を脅かしました。なぜなら、同じ預金者が、これまでモデル化を強制されたことのない 3 レイヤーの再担保化( rehypothecation )にさらされていたからです。 EigenDA 、 EigenCompute 、 EigenVerify の拡張を目前に控えた EigenCloud のロードマップは、その対象領域をさらに広げるだけでしょう。

3. AI 駆動の DeFi アクティビティが人間のレビューよりも速く動く

XION 、 Brahma Console 、 Giza といったエージェントスタックは、アップグレードされたコントラクトとマシンスピードでやり取りします。人間の財務担当者がコントラクトのアップグレード後、再開するまで数日間待つ可能性がある一方で、エージェントは数時間以内にバックテストを行い、統合し、資本を投入します。不変条件( invariant )を密かに壊すようなアップグレードは、人間の監査人が再レビューする前に、敵対的なフローによってストレスチェックを受けることになります。

出現しつつある防御的アーキテクチャ

明るいニュースは、セキュリティ研究コミュニティが手をこまねいていたわけではないということです。 2026 年 4 月の損失をきっかけに、 4 つの側面から具体的な提案がなされています。

継続的な形式検証( Continuous formal verification ) 単発の依頼ではなく継続的な検証助成金として資金提供されている、 Certora と Aave の長年にわたるコラボレーションが、現在のテンプレートとなっています。 Certora Prover は、コントラクトが変更されるたびに不変条件の証明を自動的に再実行し、マージ前に破損箇所を表面化させます。 Halmos や HEVM も、同じ目標に向けた代替のオープンソースパスを提供しています。形式検証が、従来の監査が見逃していた Ethereum の Electra アップグレードとの統合における脆弱性を最近発見したことは、例外的な出来事ではなく、今後のプレビューとなりました。

アップグレード差分監査サービス( Upgrade-diff audit services ) Spearbit 、 Zellic 、 Cantina は、新しいバージョンを単独で監査するのではなく、 2 つのコントラクトバージョンの「差分」を監査する有料サービスの試行を開始しました。このモデルは、各アップグレードを新しい証明( attestation )として扱い、以前の不変条件が維持されているかどうかを明示的に検証します。 2026 年 4 月 14 日に開始された Ethereum Foundation の 100 万ドルの監査補助プログラム( Certora 、 Cyfrin 、 Dedaub 、 Hacken 、 Immunefi 、 Quantstamp 、 Sherlock 、 Spearbit 、 Zellic 、 Zokyo を含むパートナー名簿)は、まさにこの種の作業の能力を拡大することを目的の一つとしています。

カオスエンジニアリングとランタイム監視 OpenZeppelin Defender や新しいツールは、フォークされたメインネットのシミュレーションを CI パイプラインに組み込み、プロトコルが提案されたすべてのアップグレードに対して敵対的なシナリオを再現できるようにしています。この規律は Web2 の SRE プラクティスから直接借用されたものであり、 DeFi においては導入が遅れていたものです。

タイムロック付きアップグレード・エスクロー ガバナンスで承認されたすべてのアップグレードが実行前に一定期間パブリックキューに置かれる Compound Timelock v3 パターンは、内部レビューが見逃した問題をコミュニティが発見するための時間を与えます。これはアップグレードによって導入されるバグを防ぐものではありませんが、悪用される前にそれらが発見されるまでの時間を稼ぐことができます。

伝統的金融( TradFi )との比較: DeFi 以外では継続的監査が標準

伝統的金融は、数十年前に同様の問題を解決しました。ほとんどの機関サービスプロバイダーが準拠を求められる標準である SOC 2 Type II は、一回限りの証明ではなく、 6 か月から 12 か月の継続的な監査ウィンドウです。バーゼル III のカウンターパーティリスク・フレームワークは、銀行に対し、年次ではなくエクスポージャーが変化する「都度」、自己資本モデルを更新することを求めています。決済システムをアップグレードしたカストディ銀行が、「バージョン 1 を監査したのだから、バージョン 2 は小さな変更に過ぎない」という根拠で運営を許可されることはありません。

DeFi の現在の主流文化である「一度監査して永久にデプロイし、大幅な書き換え時のみ再監査する」という慣行は、 2008 年の危機の後に TradFi が明示的に拒絶したものです。現在の損失率では、業界は年間 20 億ドル以上のアップグレード関連のエクスプロイト損失に向かっています。これは、すでに DeFi の監査基準が不十分であると考えている規制当局の注目を集めるのに十分な規模であり、また、継続的な検証を機関投資家資本の前提条件にするのに十分な規模です。

開発者、預金者、インフラストラクチャにとっての意味

プロトコルチームにとって、運用の義務は単純明快ですが、決して安くはありません。すべてのアップグレードは、セキュリティ保証を継承するのではなく、再導出する新しいリリースとして扱われなければなりません。それは、差分ベースでの定期的な再監査、すべてのガバナンス提案に付随する形式検証の仕様、および実行前の意味のあるタイムロックを意味します。また、 Aave のように、依存しているプロトコルと、それらが失敗した際のエクスポージャーを特定する、定量化されたカスケードリスク・フレームワークを公開することを意味します。

預金者にとっての教訓は、「このプロトコルは監査済みである」という言葉自体がもはや有用なシグナルではないということです。正しい質問は、「直近の継続的検証の実行はいつか、どの不変条件に対してか、そしてデプロイされたコードのどのバージョンに対してか」ということです。これに答えられないプロトコルは、相応の価格(リスク)として評価されるべきです。

インフラストラクチャプロバイダー( RPC オペレーター、インデクサー、カストディアン)にとって、 Kelp のインシデントは直接的な警告です。侵害は、バイナリが密かに差し替えられた 2 つの RPC ノードで発生しました。クロスチェーン検証( DVN 、オラクルノード、シーケンサー)に参加するインフラを運営している人は誰でも、同意したかどうかにかかわらず、今やセキュリティモデルの一部です。再現可能なビルド( reproducible builds )、証明済みバイナリ、 1-of-1 のデフォルトを超えるマルチオペレーターの定足数、および起動時の署名済みバイナリの検証は、もはやオプションではありません。

チェーンレベルのアップグレード( Ethereum の Pectra と Fusaka 、 Solana と Aptos の並列実行の展開、 Glamsterdam のスループット目標)は、対象領域を広げ続けるでしょう。 2026 年を生き残るプロトコルとインフラオペレーターは、継続的な検証を早期に導入し、次の定期的なアップグレードが次の証明可能なセキュリティチェックポイントとなるようにした人々でしょう。

  • BlockEden.xyz は、 Sui 、 Aptos 、 Ethereum 、 Solana 、およびその他の多数のチェーンにわたって、本番環境の RPC 、インデクサー、およびノードインフラストラクチャを運営しています。私たちは、チェーンレイヤーまたはアプリケーションレイヤーにおけるすべてのプロトコルアップグレードを、メンテナンス作業ではなく、新しいセキュリティイベントとして扱っています。 当社のエンタープライズインフラストラクチャを探索 して、これからのアップグレード頻度に耐えられるように設計された基盤の上に構築してください。*

情報源