📝 みなさんこんにちは、私は𝟏𝟎です。正直言って、ちょっと怖いです。技術そのものではなく、私たちがまだ古い防御の考え方を使って、すでにAIに武装された新たな敵に立ち向かっているからです。
データがすべてを物語っています:2026年Q1にはDeFi攻撃回数が過去最高を記録しました;Q2が始まったばかりなのに、すでにピークに迫っています。以前は国家レベルの攻撃は少し大げさだと思っていましたが、KelpDAO、Step Finance、WazirXを見ていると、このリスクはますます具体的になっています。
KelpDAOはごく典型的な例です。問題はコードの脆弱性ではなく、継承にあります。彼らはLayerZeroのデフォルト設定を引き継いでおり、この設定では単一のバリデーターがクロスチェーンメッセージを確認でき、監査範囲外となっています。その結果、2.92億ドルが短時間で消失しました。
現在のリスクは、単にコードが間違ってないかどうかだけでなく、あなたがどんなリスクを引き継いでいるのかをまったく知らない可能性があることです。
👇👇👇
一、AIが来た後、攻防は実質的に対等ではなくなりました。
以前は、監査が十分に行われ、マルチシグの設定が十分に安全で、タイムロックなどの措置があれば、全体としては非常に安定していると考えていたので、心の中でも比較的安心していました。
しかし、今の状況は少し違います。人間は数週間かけて、数百のプロトコルの設定を慎重にチェックする必要がありますが、AIは数時間で同様の作業を完了できます。AnthropicのMythos AIのようなものであれば、24時間以内に既知の脆弱性を直接利用可能な攻撃ツールに変換し、そのコストは50ドルにも満たないことがあります。
これは実際に二つの現実的な変化をもたらしました:
第一に、あなたがほとんどの人が気づかないと思っている脆弱性を、今やAIが大量に見つけ出すことができるのです。
第二に、あなたがまだ脆弱性をすべて防ごうとしている段階にいるとき、攻撃者はすでにAIを使って大規模なスキャンを行っています。
だから私はますます現実的な考え方に傾いています:システムが安全であると仮定するのではなく、いつか攻撃される可能性があるとデフォルトで考えることです。問題が発生した場合に迅速に損切りし、損失をコントロールする方法をあらかじめ考えておくことが、逆にもっと重要です。
簡単に言えば、すべてのドアを完全に閉じることに全力を尽くすのではなく、もしドアが開いた場合に損失を最小限に抑える方法を考えておくべきです。
二、最も怖いのは契約の脆弱性ではなく、人の脆弱性です。
この言葉は私が言ったことではなく、データが私たちに教えてくれたことです。2026年Q1までに、業界全体がフィッシングやソーシャルエンジニアリング攻撃によって被る損失は65%以上を占め、金額は約3.06億ドルになります。
例えばWazirXの2.3億ドルの事件では、問題はスマートコントラクトそのものにはなく、マルチシグウォレットの管理者の秘密鍵が盗まれたことにありました。攻撃者は権限を取得した後、ウォレットのロジックを直接変更しました。
つまり、契約は安全であり、プロセスも設計されていますが、権限を持つ人が騙されたり攻撃されたりすると、すべてが失われてしまいます。
一つのマルチシグウォレットにだけ依存しないでください。異なる用途の資金を分けて管理し、異なるマルチシグ構造を使ってリスクを管理しましょう。そしてもう一つ重要な点は、秘密鍵を日常のデバイスと一緒に使わないことです。
もしあなたのコンピュータやスマホがネットに接続して、メールを受信したり、Slackを使ったり、不明なリンクをクリックしたりしているなら、それらのデバイスはもう安全な環境とは見なせません。
簡単に言えば、ネットに接続されている限り、そのリスクがあるとみなすべきです。少し誇張しているように聞こえるかもしれませんし、過度に慎重だと思われるかもしれません。しかし、現段階では、安全性に関しては慎重であることが普通のレベルなのです。
三、キルスイッチは飾りではなく、最後の手動ブレーキです。
多くの人はキルスイッチはどうしようもない時に使うものだと思っていますが、実際には最初から設計しておくべきです。
私が率直に言うと、あなたの退出経路がどれだけ広いかに応じて、損失の上限もそれだけ大きくなります。ブロック上限のないミント関数は、無限にミントする脆弱性に対して白紙の小切手を与えているのです。
また、キルスイッチはUIだけに掛かるべきではありません。すべての価値の移動を一度に凍結するスクリプトを持ち、原子化して実行する必要があります。そして、押す前に、できればあらかじめ警報システムが動いていて、オフチェーンのモニターが不変条件を監視し、破られた場合にはすぐに人にエスカレーションするようにしておくべきです。
なぜ人に強調を置くかというと、AIは検知できますが、最終的な決定は人間が行う必要があるからです。誰も数千、数百万ドルの資金を凍結するかどうかをアルゴリズムに決めさせたくはありません。
四、好きな技術概念の一つ:不変条件。
変数とは、システム設計で定義された、何が起ころうとも常に成り立つべきルールのことです。例えば:総預金 ≤ 総負債。
このルールをコードに書き込んで、各重要な関数の実行後に自動的にチェックを行うようにできます。もしこのルールが破られた場合、システムはすぐに動作を停止したりエラーを報告したりして、取引を続行しないようにします。
多くのDeFi攻撃(例えばフラッシュローンやオラクルが操作されるなど)の問題は、本質的に、攻撃者が関数の実行中に手を加え、システムを一時的に誤った状態にしたことにあります。
しかし、最終状態で不変条件を強制的にチェックした場合、中間で変更されていても、最終的には合法的な状態に戻さなければなりません。そうでないと、直接失敗します。入ることはできても、間違った結果を持ち出すことはできません。
もちろん、不変条件は多ければ多いほど良いわけではありません。すべてを制限しようとすると、システムは非常に堅苦しくなり、正常な操作さえできなくなります。
良い方法は、資金の安全性や資産のバランスといった最も重要な二、三のコアルールを選び、それを重点的に保護対象とすることです。
その後、形式的検証や状態のファジングテストを組み合わせてそれらを検証すれば、ほとんどのリスクはカバーできるはずです。
五、安全の本質は、制御が失われた時のために余裕を持たせることです。
私がますます感じているのは、安全性は一度の監査や一つのレポートで解決できるものではないということです。むしろ、それは毎日運営し、毎日警戒を保つ必要があるプロセスのようなものです。
非常に良い言葉があります:ハッキングされた証拠がないことは、あなたが決してハッキングされないことを意味するわけではありません。最大の危険はしばしば脆弱性そのものではなく、あなたが大丈夫だと思った瞬間にあります。
だから今の私の心構えは、ハッキングされることを受け入れるが、一度にすべてを失うことは許さないということです。あらかじめ道を考え、演習を行い、守護者ウォレットを設定し、交渉や追跡のプロセスをあらかじめリストアップしておくことです。完璧のためではなく、実際にその日が来たときに手間取らないためです。
問題が起こらないことを追求するのではなく、問題が起きたときにも冷静でいられることを追求します。
