はじめに
2026年4月1日(UTC)、Solana上のDrift Protocolは、マルチシグ承認操作の改ざんおよびDurable Nonceの悪用を組み合わせた協調攻撃により侵害されました。Durable NonceはSolanaのトランザクションメカニズムであり、事前に署名された承認を無期限に有効なままにすることが可能でした。これにより、約2億8,530万ドルの損失が発生したと推定されています[1, 2]。数週間にわたるオンチェーンでの準備を経て、攻撃者はフィッシングや誤解を招く署名リクエストを通じて、5名のセキュリティ評議会マルチシグ署名者のうち2名に、悪意のあるガバナンストランザクションへの事前署名を促しました。署名された指示は、攻撃者が選んだ瞬間に保持され、その後、2回の迅速なトランザクションで実行され、管理者権限の乗っ取りと管理制御の移譲が完了しました。完全な管理者権限を取得した攻撃者は、悪意のあるコラテラル資産(CVT)を導入し、そのオラクル価格を吊り上げ、出金保護を緩和し、プロトコルのレンディング経路を通じて高価値資産を流出させました。
本稿執筆時点では、Driftは初期声明[1]を発表していますが、完全な事後分析はまだ公開されていません。以下の分析は、公開されているオンチェーンデータ、Driftの公式タイムライン、および独立した調査[2]に基づいています。まず、Durable Nonceがマルチシグガバナンスのセキュリティ仮定を根本的にどのように変更するかを検討し、次に、数週間にわたる攻撃準備、ガバナンストークン乗っ取りの実行、および資金流出プロセスを再構築します。最後に、この種のリスクを軽減するための教訓をまとめます。
背景
Drift ProtocolとSquadsマルチシグ
Drift ProtocolはSolana上のDeFiプロトコルであり、マージン取引、レンディング、スポット市場、デリバティブをサポートしています。管理者の変更、市場の作成、オラクル構成、リスクパラメータの更新、出金限度額の調整など、高い権限を持つ操作は、単一の秘密鍵ではなく、マルチシグによって管理されています。
DriftはSolanaで一般的なオンチェーンガバナンスシステムであるSquadsマルチシグフレームワークを使用しています。Squadsでは、権限のあるアクションは提案の下でトランザクションとしてパッケージ化されます。十分な数のメンバーが提案を承認すると、保存された指示はvaultTransactionExecuteを介してアトミックに実行できます。攻撃時、Driftのセキュリティ評議会は2/5の閾値構成で、タイムロックゼロで運用されていました。これは、5名の署名者のうち2名がいれば、管理アクションを即時発効で承認できることを意味します。このシステムのセキュリティは、署名者のキーの保管だけでなく、承認パイプライン全体の整合性にも依存します。つまり、どのようなトランザクションが作成され、署名者が何を承認したと信じていたのか、そして最終的に実行された指示がそのレビューコンテキストと一致していたのか、ということです。
Durable Nonceアカウント
Durable Nonceアカウントは、トランザクション実行に重要な時間的要素を導入します[3]。通常の条件下では、Solanaトランザクションは最近のブロックハッシュに依存し、時間内にブロードキャストされないと署名後すぐに期限切れになります。Durable Nonceは、この短命なブロックハッシュを専用アカウントに保存されたNonceに置き換えることで、Nonceが進められるまで署名済みトランザクションを無期限に有効にすることができます。この機能は、オフライン署名や遅延提出などの正当なケースに便利ですが、重要な攻撃プリミティブも生み出します。それは、「トランザクションが署名されたとき」と「オンチェーンで実行されたとき」を分離します。極めて重要なのは、署名者がDurable Nonceトランザクションを承認すると、Nonce管理者が手動でNonceアカウントを進めない限り、署名を撤回できないことです。
この分離は、マルチシグセキュリティに微妙ながらも根本的な影響を与えます。通常のブロックハッシュベースのトランザクションでは、短い有効期限ウィンドウが暗黙の安全層として機能します。署名者の承認は、迅速に実行されるか、無害に期限切れになります。この時間的制約は、署名者が悪意のあるトランザクションの承認に騙されたとしても、攻撃者は狭いウィンドウ内でそれをブロードキャストしなければならないことを意味し、協調的で多段階の悪用を制限します。Durable Nonceは、この制約を完全に排除します。無期限に有効な署名により、単一の署名ミスのコストが根本的に変化します。騙されて承認された場合、それは数分で期限切れになるのではなく、自動的な時間制限なしで悪用可能であり、攻撃者に実行タイミングの完全な制御と、必要に応じた後続ステップの調整能力を与えます。
攻撃分析
攻撃は3つの異なるフェーズで展開されました。「攻撃前準備」フェーズでは、攻撃者は数週間にわたる操作で偽のコラテラル資産を製造し、誤解を招く署名リクエストを通じてガバナンスアクセスを取得しました。「ガバナンス乗っ取り」フェーズでは、事前に署名された2つのDurable Nonceトランザクションが急速に提出され、管理制御が奪われました。「資金流出」フェーズでは、攻撃者はプロトコルのパラメータを操作し、プロトコルのレンディング経路を通じて実際の資産を流出させました。以下の図は、3つのフェーズにわたる攻撃実行フローを示しており、それぞれが後続のサブセクションに対応しています。並行して実行されたCVT製造トラックは、攻撃前準備フェーズで詳細に説明されており、図には示されていません。
攻撃前準備
この攻撃は、単一の機会主義的な奇襲ではなく、2つの並行した準備トラックを実行する数週間にわたる操作でした。最初のトラックは、もっともらしいコラテラル資産の製造に焦点を当てました。3月11日、攻撃者はTornado Cashから10 ETHを引き出し、その資金を使用してCarbonVote Token(CVT)を展開し、7億5000万ユニットをミントしました。その後の数週間で、攻撃者はRaydiumに少量の流動性を供給し、ウォッシュトレードを使用して約1ドルの人工的な価格履歴を構築し、CVTに市場の正当性があるかのように見せかけました[4]。
2番目のトラックはガバナンスアクセスを標的としました。Driftの公式タイムライン[1]によると、3月23日に4つのDurable Nonceアカウントが作成されました。2つはDriftセキュリティ評議会のマルチシグメンバーにリンクされ、2つは攻撃者によって制御されていました。これは、5名の署名者のうち少なくとも2名が、Durable Nonceアカウントに関連付けられたトランザクションにすでに署名しており、攻撃者に必要な2/5の承認閾値を与えていたことを示唆しています。
3月27日、Driftは評議会メンバーの変更により、計画されていたセキュリティ評議会の移行を実行しました。この移行により、以前収集された古い構成下の署名は無効になりました。しかし、3月30日までに、更新されたマルチシグのメンバーにリンクされた新しいDurable Nonceアカウントが出現し、攻撃者が新しい構成下で必要な2/5の承認閾値を再取得したことを示しました。
このシーケンスは、攻撃者がオンチェーンガバナンスの変更を積極的に監視し、リアルタイムで適応していたことを示しています。単一のフィッシングキャンペーンではなく、署名収集は、準備の途中でマルチシグの再構成を生き延びた継続的な操作でした。移行自体が攻撃者を意図せず支援した可能性があります。ガバナンスの移行中、署名者は管理署名リクエストに遭遇し、承認する可能性が高く、自然なソーシャルエンジニアリングの窓が作られます。
4月1日、攻撃者は正確な実行ウィンドウを選択しました。Driftは最初に保険基金から正規のテスト出金を行いました。約1分後、攻撃者は事前に署名された攻撃トランザクションを提出しました。このタイミングは、攻撃者がオンチェーンアクティビティをリアルタイムで監視しており、システムが通常の運用状態にあることを確認するために正当な運用が成功するのを待ってから攻撃したことを示唆しています。
ガバナンス乗っ取り
4月1日、約16:05 UTCに、攻撃者は4つのスロット離れた2つの事前に署名されたDurable Nonceトランザクションを提出しました。最初のトランザクション(2HvMSg...2C4H)は、悪意のある管理者移譲提案を作成し、承認しました。2番目のトランザクション(4BKBmA...RsN1)は、それを承認および実行しました。まずAdvanceNonceAccountで保存されたNonceをアクティブ化し、次にproposalApproveおよびvaultTransactionExecuteを通じて、最終的にUpdateAdminを呼び出して管理者制御を攻撃者制御のアドレスに移譲しました。
この実行フローは、攻撃の重要な特性を浮き彫りにしています。決定的な承認は、実行時ではなく、より早い署名段階で発生しました。オンチェーントランザクションは、すでに付与されていた権限を単に具現化しただけでした。

資金流出
管理者制御を取得した後、攻撃者は資金を流出させる前に3つの準備ステップを実行しました。CVTの悪意のあるコラテラル市場を作成し、攻撃者制御のオラクルに切り替えて価格を吊り上げ、出金保護を緩和して大規模な流出を可能にしました。
最初のステップは、CVTの悪意のあるコラテラル市場を作成することでした。この市場の問題は、新しいだけでなく、過度に緩いリスクパラメータが割り当てられているにもかかわらず、実際の流動性が欠如していたことでした。償還不可能な資産が、プロトコル内で高重みのコラテラルとして受け入れられると、存在しない借入能力を作成するために使用できます。
2番目のステップは、攻撃者制御のオラクルに切り替えて価格を吊り上げることでした。管理者権限があれば、このステップはそれ以上の制限を回避する必要はありませんでした。オラクルが攻撃者の制御下に入ると、CVTの帳簿価格は任意に吊り上げることができ、ほぼ市場価値のない資産がプロトコル内で高価値のコラテラルとして表示されるようになりました。
3番目のステップは、出金保護とサーキットブレーカーを緩和することでした。たとえコラテラル価格が吊り上げられても、主要な資産市場の出金限度額は大規模な流出を制限したでしょう。これらのガードレールは、偽造されたコラテラル価値が流出可能な実際の資産に変換される前に、引き上げられるか削除される必要がありました。
これらのステップが完了すると、攻撃者は過大評価されたCVTを大量にプロトコルに預け入れ、その後約12分間にわたって31回の迅速な出金を実行し、USDC、JLP、SOL、cbBTC、USDT、wETH、dSOL、WBTC、JTO、FARTCOINなどの実際の資産を流出させました。これにより、利益抽出ループが閉じられました。ガバナンス制御の取得、パラメータの変更、価値のない資産を高価値のコラテラルとしてパッケージ化し、プロトコルの既存のレンディングおよび出金経路に沿って資金を移動させました。
執筆時点では、総損失額は2億8,527万9,417.69ドルと計算されており、これは攻撃者の出金アカウント(HkGz4K...pZES)に基づいています。

教訓
-
マルチシグセキュリティはキーの保管を超えて拡張される。 秘密鍵の保護と署名閾値の施行は不十分です。トランザクションの構築、表示、署名者の解釈を含む、承認パイプライン全体が信頼される必要があります。このインシデントでは、署名者のキーは侵害されませんでしたが、承認プロセスが操作され、意図しないアクションが承認されました。
-
タイムロックは高権限操作に不可欠である。 所有権移譲などの管理アクションは、即時実行されるべきではありません。Driftのタイムロックゼロ構成は、事前に署名されたトランザクションがトリガーされると、管理制御が数分以内に移譲され悪用されたことを意味し、検出または介入の機会を残しませんでした。タイムロックは、悪意のある移譲を特定しブロックするための対応ウィンドウを作成したでしょう。
-
遅延実行メカニズムには、ガバナンスコンテキストにおける追加の保護策が必要である。 Durable Nonceは、署名と実行を分離し、署名者が依存する暗黙の時間的保証を排除します。ガバナンスシステムでは、この種のメカニズムは、より高い署名閾値、時間制限付きまたは取り消し可能な承認、および署名済みトランザクションが無期限に有効なままであることを防ぐ制限と組み合わされるべきです。
結論
このインシデントは、スマートコントラクトの脆弱性やキーの侵害によって引き起こされたのではなく、マルチシグ承認プロセスの崩壊とDurable Nonceベースの遅延実行が組み合わさったことによって引き起こされました。攻撃者は、誤解を招く署名を通じて5名のセキュリティ評議会署名者のうち2名から有効なマルチシグ承認を事前に収集し、Durable Nonceトランザクションを使用してそれらを保持し、その後実行して管理者制御を取得しました。その後の資金流出は、侵害されたガバナンスの直接的な結果であり、そうでなければ正当なプロトコル操作を通じて実行されました。この種のrowIndexを軽減するには、承認パイプライン全体を保護し、高権限操作にタイムロックを施行し、遅延実行メカニズムに特別な保護策を実装する必要があります。リアルタイムで異常なガバナンスアクティビティを検出できるオンチェーン監視システムと組み合わせることで、これらの対策は、この種のガバナンスレイヤー攻撃に対する包括的なセキュリティシステムを形成します。
参考文献
[1] DriftProtocol, "Official statement": https://x.com/DriftProtocol/status/2039564437795836039
[2] Phalcon (BlockSec), "Drift Protocol Exploit Analysis": https://x.com/Phalcon_xyz/status/2039602380074016909
[3] Solana, "Introduction to Durable Nonces": https://solana.com/developers/guides/advanced/introduction-to-durable-nonces
[4] CoinDesk, "How Drift attackers drained more than $270 million using a Solana feature designed for convenience": https://www.coindesk.com/tech/2026/04/02/how-a-solana-feature-designed-for-convenience-let-an-attacker-drain-usd270-million-from-drift



