執筆者:sysls
翻訳:AididiaoJP、Foresight News
序論
多くのDeFiプロトコルのハッキング事件を理解する中で、「国家行為体」に対して恐怖を抱くようになった。彼らは技術に長け、資源も豊富で、極めて長期的なゲームをプレイしている;これらのスーパー悪役は、あなたのプロトコルやインフラの隅々まで漏洞を探し出すことに集中している一方で、普通のプロトコルチームの注意は六七の異なる事業に散らされている。
私は自称安全の専門家ではないが、高リスク環境でチームを率いた経験(軍隊や巨額資金の金融分野を含む)があり、緊急対応策の思考と計画に長けている。
私は心から信じている。偏執的な者だけが生き残れると。どのチームも最初から「安全に対していい加減でいいや」と考えているわけではない;しかしながらハッキングは依然として起きている。我々はもっと良くなる必要がある。
AIは今回本当に違うことを意味している
(出典:
ハッキングは珍しくないが、その頻度は明らかに増加している。2026年第1四半期は記録上最も多くのDeFiハッキングが発生した四半期であり、第2四半期が始まったばかりの今でも、既に前四半期の記録を破る見込みだ。
私の核心仮説は:AIは漏洞探索のコストを大幅に下げ、攻撃面を飛躍的に拡大している。人間は数週間かかって100のプロトコルの設定を整理し誤設定を探す必要があるが、最新の基盤モデルは数時間でこれを完了できる。
これは私たちのハッキングへの思考と対応方法を根本的に変えるはずだ。AIが強大になる前の安全策に慣れ親しんだ古いプロトコルは、「秒殺」されるリスクにますます直面している。
表面と階層的思考を用いる
ハッキングの表面積は実際には3つに集約できる:プロトコルチーム、スマートコントラクトとインフラ、ユーザーの信頼境界(DSN、ソーシャルメディア等)。
これらの表面を特定したら、防御層を重ねる:
予防:厳格に実行すれば、悪用される確率を最大限に低減できる。
緩和:予防失敗時に、被害の程度を制限する。
停止:誰も巨大なプレッシャー下で最良の判断を下せるわけではない。攻撃が確認されたら、即座に全停止スイッチを起動。凍結はさらなる損失を防ぎ、思考の余裕を得る……
奪還:有毒または侵害されたコンポーネントの制御を失ったら、それらを放棄し置き換える。
復旧:失ったものを取り戻す。資金凍結や取引取消、調査支援のための連絡先をあらかじめ計画しておく。
原則
これらの原則は、各層の防御具体策を導く。
最先端AIの積極的利用
最先端モデルのAIを大量に使い、コードベースや設定をスキャンして漏洞を探し、広範な表面に対してレッドチームテストを行う:フロントエンドで漏洞を探し、それがバックエンドに到達できるか試す。攻撃者もそうする。防御的なスキャンで見つかるものは、彼らの攻撃的スキャンですでに見つかっている。
pashov、nemesisなどのスキルや、Cantina (Apex)、Zellic (V12)などのAIプラットフォームを使い、完全な監査前に素早くコードベースをスキャン。
時間と摩擦は良い防御
損害をもたらす可能性のある操作には、多段階の手順とタイムロックを追加。異常を発見したら、介入して凍結できる十分な時間を確保。
過去はタイムロックや多段設定に反対していた理由は、これがプロトコルチームに摩擦をもたらすからだった。今や心配無用:AIはこれらの摩擦を裏で簡単に通過させる。
不変条件
スマートコントラクトは、不変の「事実」を書き込むことで防御的に構築できる:これらの事実が破られたら、プロトコルのロジックは崩壊する。
通常、少数の不変条件しか持たない。それらをコードレベルに慎重に昇格させる必要がある;各関数で複数の不変条件を強制すると管理が難しくなる。
権力のバランス
多くのハッキングは、攻撃されたウォレットに起因する。こうした設定が必要:多署名が攻撃されても、被害を迅速に抑制し、プロトコルをガバナンス可能な状態に戻せるように。
これには、ガバナンス(すべてを決定)と救援(ガバナンスの安定性を回復する能力、ただしガバナンス自体を置き換えたり覆したりしない)の間でバランスを取る必要がある。
常に問題は起こる
最初からこう仮定しよう:あなたがどれだけ賢くても、ハッカーに攻撃される。あなたのスマートコントラクトや依存関係は失敗する可能性がある。社会工学攻撃を受けることもあり、新しいアップグレードが予期しない漏洞をもたらすこともある。
こう考えると、損害を制限するレートリミッターや断路器が最良の味方となる。損害を5-10%に抑え、凍結し、対応策を計画。誰も最悪の状況で最良の判断を下せるわけではない。
今こそ最良の計画時間
ハッキング前に対応策を考える。できるだけ多くの流れをコード化し、チームとリハーサルを行う。そうすれば、衝撃時に慌てることはない。AI時代には、大量の情報をできるだけ迅速に提示できるスキルとアルゴリズムを持ち、要約や長文でコアな関係者に共有することが求められる。
完璧である必要はないが、生き延びる必要がある。システムは最初から完璧ではない;反復を重ねて教訓を吸収し、脆弱性に強くなる。
被害を受けていない証拠は、攻撃されない証拠ではない。最大の快適さは、最も危険な点と一致することが多い。
予防策
スマートコントラクト設計
不変条件を特定したら、それらを実行時検査に昇格させる。どの不変条件を実際に強制すべきか慎重に考える。
これがFREI-PI(Function Requirements, Effects, Interactions, Protocol Invariants)モデル:各価値に関わる関数の終了時に、その関数が約束した王冠の不変条件を再検証する。CEI(Checks-Effects-Interactions)による抽干攻撃(フラッシュローンのサンドイッチ、オラクル支援の清算グリーフ、関数間の支払い能力の抽干)も、関数終了時の不変条件検査で捕捉できる。
良いテスト
状態化模擬テスト(Stateful fuzzing)は、プロトコルの公開された全表面に対してランダムな呼び出しシーケンスを生成し、各ステップで不変条件を断言する。ほとんどの本番環境の脆弱性は複数取引にまたがるものであり、状態化模擬テストはこれらの経路を攻撃者より先に発見する唯一の信頼できる方法に近い。
不変条件を用いたテストで、生成されるすべての呼び出しシーケンスにおいて属性が成立することを断言。形式検証と併用すれば、すべての到達可能な状態で属性が成立することを証明できる。あなたの王冠の不変条件は、こうした処理を受け入れるべきだ。
オラクルと依存関係
複雑さは安全の敵だ。外部依存は攻撃面を拡大する。原語を設計する際は、誰を信頼し何を信頼するかの選択をユーザーに委ねる。依存を排除できない場合は、多元化し、単一故障点がプロトコルを破壊し得ないようにする。
監査範囲をシミュレーションオラクルや依存関係の失敗パターンに拡大し、それらの失敗による災害の可能性に速率制限をかける。
最近のKelpDAOの脆弱性は一例だ:彼らはLayerZeroのデフォルト設定requiredDVNCount=1を継承したが、この設定は監査範囲外だった。最終的に攻撃されたのは、監査範囲外のオフチェーンインフラだった。
表面攻撃
DeFiのほとんどの表面攻撃は既に列挙済みだ。各カテゴリを逐一確認し、自分のプロトコルに該当するかどうかを問う。そして、その攻撃ベクトルに対するコントロールを実施。レッドチームスキルを育成し、AIインテリジェンスに自らのプロトコルの漏洞を積極的に探させることは、今や基本的な要件だ。
ネイティブな救援能力を持つ
投票ベースのガバナンスでは、権力は最初はチームのマルチシグに集中し、時間とともに拡散する。たとえトークン分布が広くても、委任はしばしば少数のウォレット(時にはn=1)に権威を集中させる。これらのウォレットが攻撃されると、ゲームオーバーだ。
「ガーディアンウォレット」を導入し、厳格に狭い権限を付与:それらはプロトコルの一時停止のみ可能で、かつ>=4/7の閾値で、被害を受けた委任をあらかじめ定めた代替ウォレットに切り替えることができる。ガーディアンは決してガバナンス提案を実行できない。
こうして、常にガバナンスの安定性を回復できる救援層を持ちつつ、ガバナンスを覆す権限は持たない。>=4/7のガーディアンを失う最悪のケース確率は非常に低い(所有者の多様性を考慮)。また、ガバナンスが成熟し分散すれば、この層は段階的に廃止できる。
ウォレットと鍵のトポロジー
マルチシグウォレットは最低4/7の要件。すべての7つの鍵を一人の人物が制御しない。頻繁に署名者を交代し、静かに行う。
鍵は常に日常使用のデバイスと連携させてはならない。署名デバイスでインターネット閲覧、メール送受信、Slackの起動を行うと、その署名者は既に攻撃されているとみなす。
複数のマルチシグを持ち、それぞれ異なる用途に使う。少なくとも1つの完全なマルチシグが攻撃されることを想定し、そこから計画を始める。どの個人も、極端なシナリオ(誘拐、拷問等)でもプロトコルを破壊できるだけの権限を持つべきではない。
賞金を考慮
資源があれば、プロトコルのTVLに対して高額な漏洞賞金を設定する価値は非常に高い;たとえ規模の小さなプロトコルでも、漏洞賞金はできるだけ寛大に(例:最低7-8桁)すべきだ。
国家行為体の攻撃に直面した場合、交渉は難しいかもしれないが、「ホワイトハットセーフハーバー」計画に参加し、ホワイトハッカーに資金保護のための行動を委任し、漏洞金額の一定割合を手数料として受け取ることも可能だ(実際には預金者が支払う賞金だ)。
良い監査人を見つける
以前も書いたが、巨大言語モデルがより賢くなるにつれ、監査人の限界価値は低下していると考える。だが、私の見解は変わっていない。
まず、良い監査人は最先端を行く。新しいことに取り組む場合、コードや漏洞は訓練データに含まれていない可能性が高い。トークン数を増やすだけでは、新型漏洞の発見に効果的とは証明されていない。あなたは、唯一無二の漏洞の最初のサンプルになりたくない。
次に、あまり評価されていない利点は:監査人に依頼することは、彼らの評判を担保にしていることだ。彼らが署名して承認し、あなたが攻撃された場合、彼らは強く動機付けられる。安全専門家と関係を築くことは、非常に大きなアドバンテージだ。
操作の安全性を実践
操作の安全性を成功の指標とみなす。フィッシング演習を行い、(信頼できる)レッドチームに社会工学攻撃を仕掛けさせる。必要に応じてハードウェアウォレットやデバイスの予備を準備し、全マルチシグの置き換えに備える。D-dayに慌てて購入しないように。
緩和策
退出経路は損失の上限
価値をプロトコルから移す経路の上限額は、その経路が漏洞で悪用されたときの最大理論損失を意味する。簡単に言えば:上限のないミント関数は、無限ミント漏洞に対して白紙の小切手を切ることになる。上限のない償還関数は、資産残高の破損に対して白紙の小切手を切る。
退出経路の明確な数値を慎重に検討せよ。この数字は、あなたが許容できる最大損害と、ユーザーの最極端なUXニーズの間のバランスを取る必要がある。問題が起きた場合、これがあなたを壊滅から免れる手段となる。
ホワイトリスト(とブラックリスト)
ほとんどのプロトコルには、呼び出し、取引、受信が可能なリストと、ユーザーが絶対に行ってはいけないリストがある。たとえ暗黙的であっても、これらは信頼境界であり、正式に定義すべきだ。
これを正式化することで、二段階のセッターを設定し、意味のある摩擦を生み出せる。攻撃者はまずホワイトリストに追加(またはブラックリストから除外)し、その後行動を起こす必要がある。同時に両者を持つことで、攻撃者が新たなベクトルを密かに導入しようとした場合、二つのプロセスを同時に突破しなければならなくなる:市場に許可されている(上場/流通)ことと、その行動が禁止されていないことの両方だ。
奪還
アルゴリズム監視
誰も監視しなければ、殺開スイッチは役に立たない。オフチェーンの監視者は、不変条件を継続的に監視し、問題があればアルゴリズム的に警報を上げるべきだ。最終的には、ガーディアンのマルチシグを持つ人間の手に渡り、数分以内に意思決定できる十分なコンテキストを提供すべきだ。
再調整の停止
攻撃されたら、まず止血を。倒れる前に。これが殺開スイッチ(UIにも反映させるべき)だ:一つのボタンで全ての価値移動経路を一時停止できる。すべて一括で停止できる補助スクリプトを用意し、すべての停止可能なコンポーネントを原子化して停止。
ガバナンスだけが停止解除を許可できるため、殺開スイッチはガバナンスコントラクト自体を停止できない。守護者層がガバナンスコントラクトを停止できる場合、侵害された守護者層は永遠に復旧プロセスをロックできる。
戦時体制の開始
凍結と止血を行い、信頼できる関係者(事前に合意した少人数のグループ)をコミュニケーションチャネルに招集。情報漏洩を防ぐために表面上は小規模に。
チームの役割を演じる:意思決定者、攻防スクリプトと停止操作の熟練オペレーター、脆弱性の再構築と根本原因の特定者、関係者との連絡役、観察・事件・意思決定のタイムライン記録者。
全員が役割を理解しリハーサルを行えば、最悪の状況でも冷静に対応できる。
連鎖反応を考慮
攻撃者が非常に巧妙だと仮定しよう。最初の漏洞はおとりか、後続攻撃の伏線かもしれない。攻撃は、あなたに完全に誤った行動を取らせ、真の漏洞を引き起こすためのものだ。
停止は十分に調査され、完全にコントロールされたものでなければならない。全プロトコルの凍結:一つのコンポーネントの停止に誘導され、別のコンポーネントの停止を招くことは避けたい。根本原因と攻撃ベクトルを見つけたら、隣接する表面や連鎖反応も探索し、一度にすべて修復。
事前に承諾された後任者のローテーション
事前に後任者を知っていることが安全なローテーションの前提だ。私は「事前承認された後任者登録リスト」のアイデアが好きだ:これにより、攻撃者は健全な守護者やガバナンスウォレットを攻撃されたものに置き換えるのを難しくできる。これは、「ホワイトリスト/ブラックリスト」の理念と一致している。
重要な役割ごとに後任者アドレスを登録。緊急時に唯一実行可能なローテーション原語は、「役割Xを後任者に置き換える」だけだ。これにより、平時に後任者を評価し、デューデリを行い、面会もできる。
アップグレード前の慎重なテスト
根本原因と影響範囲を特定したら、アップグレードをリリースする必要がある。これは最も危険なコードの一つになる可能性がある:プレッシャー下で書かれ、すでにあなたのプロトコルを理解し漏洞を見つけた攻撃者向けに最適化されたもの。
十分なテストなしにリリースを遅らせる。監査の時間がない場合は、ホワイトハットとの関係を頼りにするか、デプロイ前に48時間のコンテストを設定し、新たな対抗レビューを得る。
復旧
迅速な行動
盗まれた資金には半減期がある;一旦漏洞が実現すれば、すぐにマネーロンダリングのルートに乗る。Chainalysisなどのオンチェーン分析サービスを事前に準備し、攻撃者のアドレスクラスターをリアルタイムでマークし、クロスチェーンの跳躍時に取引所に通知して追跡。
事前に取引所のコンプライアンス部門、クロスチェーンブリッジ管理者、ホスティング管理者、その他の管理権限を持つ第三者のリストを用意。
交渉
確かに痛みを伴うが、攻撃者と対話を試みる価値はある。多くの事柄は交渉で解決できる。期限付きのホワイトハット賞金を提供し、期限前に全額返還された場合は法的措置を取らないと公表。
国家行為体に直面している場合は運が悪いかもしれないが、未熟な攻撃者なら、あなたの資産を狙う方法を見つけており、低コストで逃げたいだけかもしれない。
その前に、必ず法的助言者を同席させること。
結論
ハッキングは止まらない。AIがより賢くなるにつれ、攻撃は増える一方だ。防御側を「敏感に」するだけでは不十分だ。攻撃者と同じツールを使い、レッドチームテストを行い、継続的に監視し、被害に対して硬い制限を設けることで、最悪の事態でも生き延びることができる。
315.85K 人気度
215.98K 人気度
34.95K 人気度
649.54K 人気度
12.74M 人気度
DeFi セキュリティガイド:AI時代における効果的なハッカー攻撃防御法は?
執筆者:sysls
翻訳:AididiaoJP、Foresight News
序論
多くのDeFiプロトコルのハッキング事件を理解する中で、「国家行為体」に対して恐怖を抱くようになった。彼らは技術に長け、資源も豊富で、極めて長期的なゲームをプレイしている;これらのスーパー悪役は、あなたのプロトコルやインフラの隅々まで漏洞を探し出すことに集中している一方で、普通のプロトコルチームの注意は六七の異なる事業に散らされている。
私は自称安全の専門家ではないが、高リスク環境でチームを率いた経験(軍隊や巨額資金の金融分野を含む)があり、緊急対応策の思考と計画に長けている。
私は心から信じている。偏執的な者だけが生き残れると。どのチームも最初から「安全に対していい加減でいいや」と考えているわけではない;しかしながらハッキングは依然として起きている。我々はもっと良くなる必要がある。
AIは今回本当に違うことを意味している
(出典:
ハッキングは珍しくないが、その頻度は明らかに増加している。2026年第1四半期は記録上最も多くのDeFiハッキングが発生した四半期であり、第2四半期が始まったばかりの今でも、既に前四半期の記録を破る見込みだ。
私の核心仮説は:AIは漏洞探索のコストを大幅に下げ、攻撃面を飛躍的に拡大している。人間は数週間かかって100のプロトコルの設定を整理し誤設定を探す必要があるが、最新の基盤モデルは数時間でこれを完了できる。
これは私たちのハッキングへの思考と対応方法を根本的に変えるはずだ。AIが強大になる前の安全策に慣れ親しんだ古いプロトコルは、「秒殺」されるリスクにますます直面している。
表面と階層的思考を用いる
(出典:
ハッキングの表面積は実際には3つに集約できる:プロトコルチーム、スマートコントラクトとインフラ、ユーザーの信頼境界(DSN、ソーシャルメディア等)。
これらの表面を特定したら、防御層を重ねる:
予防:厳格に実行すれば、悪用される確率を最大限に低減できる。
緩和:予防失敗時に、被害の程度を制限する。
停止:誰も巨大なプレッシャー下で最良の判断を下せるわけではない。攻撃が確認されたら、即座に全停止スイッチを起動。凍結はさらなる損失を防ぎ、思考の余裕を得る……
奪還:有毒または侵害されたコンポーネントの制御を失ったら、それらを放棄し置き換える。
復旧:失ったものを取り戻す。資金凍結や取引取消、調査支援のための連絡先をあらかじめ計画しておく。
原則
これらの原則は、各層の防御具体策を導く。
最先端AIの積極的利用
最先端モデルのAIを大量に使い、コードベースや設定をスキャンして漏洞を探し、広範な表面に対してレッドチームテストを行う:フロントエンドで漏洞を探し、それがバックエンドに到達できるか試す。攻撃者もそうする。防御的なスキャンで見つかるものは、彼らの攻撃的スキャンですでに見つかっている。
pashov、nemesisなどのスキルや、Cantina (Apex)、Zellic (V12)などのAIプラットフォームを使い、完全な監査前に素早くコードベースをスキャン。
時間と摩擦は良い防御
損害をもたらす可能性のある操作には、多段階の手順とタイムロックを追加。異常を発見したら、介入して凍結できる十分な時間を確保。
過去はタイムロックや多段設定に反対していた理由は、これがプロトコルチームに摩擦をもたらすからだった。今や心配無用:AIはこれらの摩擦を裏で簡単に通過させる。
不変条件
スマートコントラクトは、不変の「事実」を書き込むことで防御的に構築できる:これらの事実が破られたら、プロトコルのロジックは崩壊する。
通常、少数の不変条件しか持たない。それらをコードレベルに慎重に昇格させる必要がある;各関数で複数の不変条件を強制すると管理が難しくなる。
権力のバランス
多くのハッキングは、攻撃されたウォレットに起因する。こうした設定が必要:多署名が攻撃されても、被害を迅速に抑制し、プロトコルをガバナンス可能な状態に戻せるように。
これには、ガバナンス(すべてを決定)と救援(ガバナンスの安定性を回復する能力、ただしガバナンス自体を置き換えたり覆したりしない)の間でバランスを取る必要がある。
常に問題は起こる
最初からこう仮定しよう:あなたがどれだけ賢くても、ハッカーに攻撃される。あなたのスマートコントラクトや依存関係は失敗する可能性がある。社会工学攻撃を受けることもあり、新しいアップグレードが予期しない漏洞をもたらすこともある。
こう考えると、損害を制限するレートリミッターや断路器が最良の味方となる。損害を5-10%に抑え、凍結し、対応策を計画。誰も最悪の状況で最良の判断を下せるわけではない。
今こそ最良の計画時間
ハッキング前に対応策を考える。できるだけ多くの流れをコード化し、チームとリハーサルを行う。そうすれば、衝撃時に慌てることはない。AI時代には、大量の情報をできるだけ迅速に提示できるスキルとアルゴリズムを持ち、要約や長文でコアな関係者に共有することが求められる。
完璧である必要はないが、生き延びる必要がある。システムは最初から完璧ではない;反復を重ねて教訓を吸収し、脆弱性に強くなる。
被害を受けていない証拠は、攻撃されない証拠ではない。最大の快適さは、最も危険な点と一致することが多い。
予防策
スマートコントラクト設計
不変条件を特定したら、それらを実行時検査に昇格させる。どの不変条件を実際に強制すべきか慎重に考える。
これがFREI-PI(Function Requirements, Effects, Interactions, Protocol Invariants)モデル:各価値に関わる関数の終了時に、その関数が約束した王冠の不変条件を再検証する。CEI(Checks-Effects-Interactions)による抽干攻撃(フラッシュローンのサンドイッチ、オラクル支援の清算グリーフ、関数間の支払い能力の抽干)も、関数終了時の不変条件検査で捕捉できる。
良いテスト
状態化模擬テスト(Stateful fuzzing)は、プロトコルの公開された全表面に対してランダムな呼び出しシーケンスを生成し、各ステップで不変条件を断言する。ほとんどの本番環境の脆弱性は複数取引にまたがるものであり、状態化模擬テストはこれらの経路を攻撃者より先に発見する唯一の信頼できる方法に近い。
不変条件を用いたテストで、生成されるすべての呼び出しシーケンスにおいて属性が成立することを断言。形式検証と併用すれば、すべての到達可能な状態で属性が成立することを証明できる。あなたの王冠の不変条件は、こうした処理を受け入れるべきだ。
オラクルと依存関係
複雑さは安全の敵だ。外部依存は攻撃面を拡大する。原語を設計する際は、誰を信頼し何を信頼するかの選択をユーザーに委ねる。依存を排除できない場合は、多元化し、単一故障点がプロトコルを破壊し得ないようにする。
監査範囲をシミュレーションオラクルや依存関係の失敗パターンに拡大し、それらの失敗による災害の可能性に速率制限をかける。
最近のKelpDAOの脆弱性は一例だ:彼らはLayerZeroのデフォルト設定requiredDVNCount=1を継承したが、この設定は監査範囲外だった。最終的に攻撃されたのは、監査範囲外のオフチェーンインフラだった。
表面攻撃
DeFiのほとんどの表面攻撃は既に列挙済みだ。各カテゴリを逐一確認し、自分のプロトコルに該当するかどうかを問う。そして、その攻撃ベクトルに対するコントロールを実施。レッドチームスキルを育成し、AIインテリジェンスに自らのプロトコルの漏洞を積極的に探させることは、今や基本的な要件だ。
ネイティブな救援能力を持つ
投票ベースのガバナンスでは、権力は最初はチームのマルチシグに集中し、時間とともに拡散する。たとえトークン分布が広くても、委任はしばしば少数のウォレット(時にはn=1)に権威を集中させる。これらのウォレットが攻撃されると、ゲームオーバーだ。
「ガーディアンウォレット」を導入し、厳格に狭い権限を付与:それらはプロトコルの一時停止のみ可能で、かつ>=4/7の閾値で、被害を受けた委任をあらかじめ定めた代替ウォレットに切り替えることができる。ガーディアンは決してガバナンス提案を実行できない。
こうして、常にガバナンスの安定性を回復できる救援層を持ちつつ、ガバナンスを覆す権限は持たない。>=4/7のガーディアンを失う最悪のケース確率は非常に低い(所有者の多様性を考慮)。また、ガバナンスが成熟し分散すれば、この層は段階的に廃止できる。
ウォレットと鍵のトポロジー
マルチシグウォレットは最低4/7の要件。すべての7つの鍵を一人の人物が制御しない。頻繁に署名者を交代し、静かに行う。
鍵は常に日常使用のデバイスと連携させてはならない。署名デバイスでインターネット閲覧、メール送受信、Slackの起動を行うと、その署名者は既に攻撃されているとみなす。
複数のマルチシグを持ち、それぞれ異なる用途に使う。少なくとも1つの完全なマルチシグが攻撃されることを想定し、そこから計画を始める。どの個人も、極端なシナリオ(誘拐、拷問等)でもプロトコルを破壊できるだけの権限を持つべきではない。
賞金を考慮
資源があれば、プロトコルのTVLに対して高額な漏洞賞金を設定する価値は非常に高い;たとえ規模の小さなプロトコルでも、漏洞賞金はできるだけ寛大に(例:最低7-8桁)すべきだ。
国家行為体の攻撃に直面した場合、交渉は難しいかもしれないが、「ホワイトハットセーフハーバー」計画に参加し、ホワイトハッカーに資金保護のための行動を委任し、漏洞金額の一定割合を手数料として受け取ることも可能だ(実際には預金者が支払う賞金だ)。
良い監査人を見つける
以前も書いたが、巨大言語モデルがより賢くなるにつれ、監査人の限界価値は低下していると考える。だが、私の見解は変わっていない。
まず、良い監査人は最先端を行く。新しいことに取り組む場合、コードや漏洞は訓練データに含まれていない可能性が高い。トークン数を増やすだけでは、新型漏洞の発見に効果的とは証明されていない。あなたは、唯一無二の漏洞の最初のサンプルになりたくない。
次に、あまり評価されていない利点は:監査人に依頼することは、彼らの評判を担保にしていることだ。彼らが署名して承認し、あなたが攻撃された場合、彼らは強く動機付けられる。安全専門家と関係を築くことは、非常に大きなアドバンテージだ。
操作の安全性を実践
操作の安全性を成功の指標とみなす。フィッシング演習を行い、(信頼できる)レッドチームに社会工学攻撃を仕掛けさせる。必要に応じてハードウェアウォレットやデバイスの予備を準備し、全マルチシグの置き換えに備える。D-dayに慌てて購入しないように。
緩和策
退出経路は損失の上限
価値をプロトコルから移す経路の上限額は、その経路が漏洞で悪用されたときの最大理論損失を意味する。簡単に言えば:上限のないミント関数は、無限ミント漏洞に対して白紙の小切手を切ることになる。上限のない償還関数は、資産残高の破損に対して白紙の小切手を切る。
退出経路の明確な数値を慎重に検討せよ。この数字は、あなたが許容できる最大損害と、ユーザーの最極端なUXニーズの間のバランスを取る必要がある。問題が起きた場合、これがあなたを壊滅から免れる手段となる。
ホワイトリスト(とブラックリスト)
ほとんどのプロトコルには、呼び出し、取引、受信が可能なリストと、ユーザーが絶対に行ってはいけないリストがある。たとえ暗黙的であっても、これらは信頼境界であり、正式に定義すべきだ。
これを正式化することで、二段階のセッターを設定し、意味のある摩擦を生み出せる。攻撃者はまずホワイトリストに追加(またはブラックリストから除外)し、その後行動を起こす必要がある。同時に両者を持つことで、攻撃者が新たなベクトルを密かに導入しようとした場合、二つのプロセスを同時に突破しなければならなくなる:市場に許可されている(上場/流通)ことと、その行動が禁止されていないことの両方だ。
奪還
アルゴリズム監視
誰も監視しなければ、殺開スイッチは役に立たない。オフチェーンの監視者は、不変条件を継続的に監視し、問題があればアルゴリズム的に警報を上げるべきだ。最終的には、ガーディアンのマルチシグを持つ人間の手に渡り、数分以内に意思決定できる十分なコンテキストを提供すべきだ。
再調整の停止
攻撃されたら、まず止血を。倒れる前に。これが殺開スイッチ(UIにも反映させるべき)だ:一つのボタンで全ての価値移動経路を一時停止できる。すべて一括で停止できる補助スクリプトを用意し、すべての停止可能なコンポーネントを原子化して停止。
ガバナンスだけが停止解除を許可できるため、殺開スイッチはガバナンスコントラクト自体を停止できない。守護者層がガバナンスコントラクトを停止できる場合、侵害された守護者層は永遠に復旧プロセスをロックできる。
戦時体制の開始
凍結と止血を行い、信頼できる関係者(事前に合意した少人数のグループ)をコミュニケーションチャネルに招集。情報漏洩を防ぐために表面上は小規模に。
チームの役割を演じる:意思決定者、攻防スクリプトと停止操作の熟練オペレーター、脆弱性の再構築と根本原因の特定者、関係者との連絡役、観察・事件・意思決定のタイムライン記録者。
全員が役割を理解しリハーサルを行えば、最悪の状況でも冷静に対応できる。
連鎖反応を考慮
攻撃者が非常に巧妙だと仮定しよう。最初の漏洞はおとりか、後続攻撃の伏線かもしれない。攻撃は、あなたに完全に誤った行動を取らせ、真の漏洞を引き起こすためのものだ。
停止は十分に調査され、完全にコントロールされたものでなければならない。全プロトコルの凍結:一つのコンポーネントの停止に誘導され、別のコンポーネントの停止を招くことは避けたい。根本原因と攻撃ベクトルを見つけたら、隣接する表面や連鎖反応も探索し、一度にすべて修復。
事前に承諾された後任者のローテーション
事前に後任者を知っていることが安全なローテーションの前提だ。私は「事前承認された後任者登録リスト」のアイデアが好きだ:これにより、攻撃者は健全な守護者やガバナンスウォレットを攻撃されたものに置き換えるのを難しくできる。これは、「ホワイトリスト/ブラックリスト」の理念と一致している。
重要な役割ごとに後任者アドレスを登録。緊急時に唯一実行可能なローテーション原語は、「役割Xを後任者に置き換える」だけだ。これにより、平時に後任者を評価し、デューデリを行い、面会もできる。
アップグレード前の慎重なテスト
根本原因と影響範囲を特定したら、アップグレードをリリースする必要がある。これは最も危険なコードの一つになる可能性がある:プレッシャー下で書かれ、すでにあなたのプロトコルを理解し漏洞を見つけた攻撃者向けに最適化されたもの。
十分なテストなしにリリースを遅らせる。監査の時間がない場合は、ホワイトハットとの関係を頼りにするか、デプロイ前に48時間のコンテストを設定し、新たな対抗レビューを得る。
復旧
迅速な行動
盗まれた資金には半減期がある;一旦漏洞が実現すれば、すぐにマネーロンダリングのルートに乗る。Chainalysisなどのオンチェーン分析サービスを事前に準備し、攻撃者のアドレスクラスターをリアルタイムでマークし、クロスチェーンの跳躍時に取引所に通知して追跡。
事前に取引所のコンプライアンス部門、クロスチェーンブリッジ管理者、ホスティング管理者、その他の管理権限を持つ第三者のリストを用意。
交渉
確かに痛みを伴うが、攻撃者と対話を試みる価値はある。多くの事柄は交渉で解決できる。期限付きのホワイトハット賞金を提供し、期限前に全額返還された場合は法的措置を取らないと公表。
国家行為体に直面している場合は運が悪いかもしれないが、未熟な攻撃者なら、あなたの資産を狙う方法を見つけており、低コストで逃げたいだけかもしれない。
その前に、必ず法的助言者を同席させること。
結論
ハッキングは止まらない。AIがより賢くなるにつれ、攻撃は増える一方だ。防御側を「敏感に」するだけでは不十分だ。攻撃者と同じツールを使い、レッドチームテストを行い、継続的に監視し、被害に対して硬い制限を設けることで、最悪の事態でも生き延びることができる。