Twelve Minutes, $286 Million Gone: The Case for Push Alerts
By @CoinMarketMan - 11-Aug-2026
12分間で2億8600万ドルが消えた:プッシュアラートの必要性
2026年4月1日、攻撃者はおよそ12分でDrift Protocolから2億8600万ドルを流出させた。流出そのものは速かった。しかし準備段階はそうではなかった。エクスプロイトが実行される9日前には、耐久性ノンスアカウントがオンチェーンに出現していた。マルチシグの移行はその5日前に実行されていた。攻撃者のウォレット自体はドレイン8日前に作成され、Driftのボールトからテスト送金まで受け取っていた。
これらのイベントはすべてオンチェーンで確認できた。しかし、そのどれもアラートを発しなかった。
この記事は欠如していたインフラについて論じる。異常なオンチェーン活動が検出されたとき、誰かが手動でダッシュボードを確認するのを待つのではなく、能動的に発火するプッシュベースの監視システムだ。 Driftのエクスプロイトはそのケーススタディだ。この教訓は、パープDEXインフラを通じてユーザー資金をルーティングするすべてのビルダーに当てはまる。
準備段階はドレインよりも大きな声で語っていた
Driftのポストモーテムとの分析が明らかにしたのは、計画的な数週間にわたる準備フェーズだった。北朝鮮国家関連のハッカー(UNC4736に「中〜高信頼度」で帰属され、2024年10月のRadiant Capitalハックを引き起こした同一グループ)は、ソーシャルエンジニアリングを通じてDriftのコントリビューターとの信頼関係を数か月かけて構築した。しかしオンチェーンでの最終準備は、明確な痕跡を残していた。
3月23日、Solana上に4つの耐久性ノンスアカウントが作成された。耐久性ノンスは、トランザクションを今すぐ署名して、有効期限なしに後から実行することを可能にする。3月27日、Security Councilのマルチシグ移行が実行され、タイムロックなしで署名者が変更された。4月1日、4スロット間隔で2つのトランザクションが発火し、管理者権限を奪取し、CVTという偽造トークンを担保としてホワイトリスト登録し、ボールトを空にした。
ソーシャルエンジニアリングは不可視だった。オンチェーンの準備段階はそうではなかった。管理者キーの変更、ノンスアカウントの作成、担保のホワイトリスト登録を監視するプッシュアラートシステムがあれば、ドレインが始まる数日前にトリガーされていたはずだ。
ポーリングはセキュリティの錯覚に過ぎない
DeFiプロトコルと統合するほとんどのビルダーは、ポーリングに依存している。一定間隔でAPIエンドポイントをチェックし、レスポンスを以前の値と比較するスクリプトだ。何かおかしければ警告をログに残す。誰かがそのログを読むかもしれないし、読まないかもしれない。
セキュリティ監視においてポーリングには構造的な問題が3つある:
- 遅延がリスクを増幅する。 典型的な15分のポーリング間隔を考えてみよう。異常を検出できるタイミングは、発生から0〜15分後のどこかで、平均遅延はほぼ間隔の半分になる。Driftのドレインはおよそ12分で完了した。このポーリング頻度では、最初のチェックが実行される前に資金が消えている可能性がある。
- ポーリングはプル型であり、プル型は誰かが能動的に見ていることを前提とする。 監視スクリプトが午前2時にクラッシュしても、朝まで誰も気づかない。プッシュアラートは、誰かが能動的に監視しているかどうかに関わらず、Slack、Discord、Telegram、またはポケットベルに届く。
- ポーリングはノイズを生む。 繰り返しチェックして差分を比較すると、通常の市場ボラティリティ時に誤検知が発生する。Webhookベースのアラートは特定の閾値を超えたときにのみ発火するため、すべてのアラートが読む価値を持つ。
ポーリングとプッシュの違いは、毎月煙感知器の電池を確認することと、煙があるときに叫ぶ煙感知器を持つことの違いだ。どちらも監視には違いない。しかし眠っているときに機能するのは一方だけだ。
ビルダーのためのプッシュアラートアーキテクチャ
パープDEXビルダーのための実用的なアラートシステムには3つのレイヤーが必要だ。各レイヤーは異なるカテゴリのリスクを捕捉し、どれか1つが欠けても穴が生まれる。
レイヤー1:プロトコルガバナンスの監視
これはDriftが完全に欠いていたレイヤーだ。統合するプロトコルのガバナンス構造の変更を監視する:
- 管理者キーのローテーションまたはマルチシグ署名者の変更
- タイムロックの変更
- 新しい担保タイプのホワイトリスト登録
- オラクルプロバイダーの再割り当て
Driftでは、3月27日のマルチシグ移行と4月1日のCVT担保ホワイトリスト登録のどちらもガバナンスアラートをトリガーしていたはずだ。Solana Foundationのハック後のSTRIDEプログラムは、ロックされた総資産価値が1000万ドルを超えるプロトコルに24時間365日の脅威監視を提供しており、正しい方向への一歩だ。しかしビルダーは自分たちの統合の監視をSolana Foundationに依存すべきではない。その責任はプロダクトを構築するチームにある。
レイヤー2:オンチェーン行動の監視
このレイヤーは、エクスプロイトが公式に確認される前に変化することが多い、トレーダーとウォレットの行動を監視する。Smart Moneyがプロトコルから撤退し始めると、そのパターンはニュースがTwitterに出回る前にコホートレベルのデータで可視化される。
HyperTrackerはHyperliquid上のすべてのウォレットを16の行動コホートに分類する:規模別の8コホート(ShrimpからLeviathan)と全期間PnL別の8コホート(Giga-RektからMoney Printer)だ。コンテイジョンイベントが発生すると、Whale、Tidal Whale、Money Printerといった経験豊富なコホートは、小規模なリテール中心のコホートよりも速くリスクを低減する傾向がある。コホートグループ間のこの乖離は、プロトコルストレスの先行指標となる。
弊社のデータは5分ごとに更新される。Money PrinterまたはSmart Moneyコホートのエクスポージャーが閾値を超えて減少したときに発火するWebhookを設定することで、ビルダーは生の価格フィードでは再現できない行動的早期警告レイヤーを手に入れられる。
レイヤー3:プッシュデリバリーインフラ
検知してもデリバリーがなければ、ただのログ記録に過ぎない。3つ目のレイヤーは、アラートを人間(または自動化システム)に、行動できるほど素早く届けるための仕組みだ。
- Webhookは、閾値を超えた瞬間に任意のエンドポイントへHTTP POSTリクエストを送信する。ビルダーはこれをSlack、Discord、PagerDuty、あるいは自動ポジションクローズスクリプトに直接ルーティングできる。
- WebSocketサブスクリプションは永続的な接続を維持し、分単位ではなく秒単位のレイテンシーでリアルタイムに近いアップデートをプッシュする。
HyperTrackerのFlowティア($799/月)はWebhookデリバリーを含み、Streamティア($1,999/月)はWebSocketアクセスを追加する。これらのティアのビルダーは、コホートシフトアラートを自社インフラに直接接続できるため、誰かがダッシュボードを開く前にシステムが反応する。
Driftを捕捉できたアラートルール
以下は、Driftのタイムラインに遡及適用した具体的な監視ルールの一覧だ。各ルールは、ドレインに先行した特定のオンチェーンイベントに対応している。
| ルール | トリガーイベント | Driftタイムライン | リードタイム | | --- | --- | --- | --- | | 管理者キーの変更 | マルチシグ署名者のローテーションまたは移行 | 3月27日の移行 | 5日前 | | ノンスアカウントの作成 | 既知のプロトコルアドレスによる新規耐久性ノンスの初期化 | 3月23日のノンスセットアップ | 9日前 | | 新規担保ホワイトリスト登録 | 未知のトークンが受け入れ可能な担保として追加される | 4月1日、CVTのホワイトリスト登録 | 数分(同一トランザクションチェーン) | | ボールト引き出しスパイク | 歴史的な日次平均を異常な倍数(例:5倍以上)超える流出 | 4月1日、2億8600万ドルのドレイン | ドレイン中 | | コホートのリスク低減乖離 | 大規模な経験豊富なコホートがエクスポージャーを下げる一方、小規模コホートがポジションを維持する | エクスプロイト後のコンテイジョン | 数時間(二次的影響) |
最初の2つのルールはドレインの数日前に発火していたはずだ。3つ目は攻撃チェーン中に発火していたはずだ。組み合わせることで、プロトコルが空になる前に統合を一時停止し、ユーザーに警告し、資金を引き出す複数のチャンスをビルダーに与える。
コホートアラートをスタックに組み込む方法
Hyperliquid上のビルダーにとって、HyperTrackerのコホートメトリクスエンドポイントは任意のアセットの全16コホートのポジションデータを返す。プッシュアラートの実装パターンは次の通りだ:
- ベースライン: 通常のリフレッシュ間隔でコホートメトリクスエンドポイントをクエリする。Money PrinterとSmart Moneyコホートのネットロング/ショートポジションをベースラインとして保存する。
- 閾値: アラートに値するシフトを構成するベースラインからの変化率を定義する。適切な閾値はアセットの通常のボラティリティによって異なる。最初はほとんどトリガーされない値から始め、そこから絞り込む。
- デリバリー: 閾値を超えたとき、アラートエンドポイントにWebhookを発火する。FlowとStreamティアでは、HyperTrackerのWebhookインフラがデリバリーを処理する。下位ティアでは、5分ごとにチェックして独自の通知を発火する軽量サービスにポーリングロジックをラップする。
# Pseudocode: cohort shift alert
baseline = get_cohort_metrics("BTC", cohort="smart-money")
current = get_cohort_metrics("BTC", cohort="smart-money")
if abs(current.net_long - baseline.net_long) > threshold:
fire_webhook({
"alert": "smart-money-shift",
"asset": "BTC",
"direction": "de-risking" if current.net_long < baseline.net_long else "accumulating",
"magnitude": abs(current.net_long - baseline.net_long)
})
擬似コードがシンプルなのは、難しい部分、すなわちすべてのウォレットを行動コホートに分類してセグメントレベルのポジショニングを計算すること、がAPIによって処理されるからだ。生のHyperliquidデータからこれを再現しようとするビルダーは、分類パイプライン全体を構築する必要があり、最初のアラートが発火するまでに通常月額1万ドル以上のインフラコストがかかる。
コホートインテリジェンス上にアラートインフラを構築する
HyperTrackerの16の行動コホートは、Hyperliquid上のすべてのウォレットを規模と全期間PnLで分類する。WebhookとWebSocketデリバリーはFlowとStreamティアで利用可能だ。無料ティアからデータを探索し、スタックにプッシュアラートを組み込もう。
業界はプッシュへと移行している
Driftハックはすでにはじまっていたシフトをさらに加速させた。Solana Foundationは、対象プロトコルに24時間365日の脅威監視を提供するSTRIDEを立ち上げた。Solana Incident Response Network(SIRN)は現在、Asymmetric Research、OtterSec、Neodymeを含むセキュリティ企業間で迅速な対応を調整している。
しかし機関的な対応ネットワークはプロトコルを守る。それらのプロトコルと統合するビルダーを守るわけではない。パープDEXを通じてユーザーのトレードをルーティングしているなら、あなたの監視責任は自社のスマートコントラクトを超えて、依存関係チェーン内のすべてのプロトコルのガバナンスアーキテクチャにまで及ぶ。それは、管理者変更、担保変更、および行動シグナルに対するプッシュアラートを、誰かが監視しているかどうかに関わらず、秒単位でチームのエンドポイントに届けることを意味する。
Driftの攻撃者はソーシャルエンジニアリングに数か月、オンチェーンの準備に数日を費やした。ドレイン自体に必要だったのは12分だ。プッシュアラートシステムはソーシャルエンジニアリングを防げなかっただろう。しかし12分間の沈黙を12分間の警報に変えていたはずだ。プロトコルの完全性に依存するビルダーにとって、それがボールトが空になる前にユーザー資金を安全な場所に移せるかどうかの分かれ目となる。
叫ぶシステムを作れ。