Claude拡張のSSH裏口事件とAI診断Shannon・10日間無人稼働の防衛術
作成日:

Claude拡張のSSH裏口事件とAI診断Shannon・10日間無人稼働の防衛術


🔧 論旨

「有名な AI 開発ツールの公式拡張機能だから、自動アップデートに任せておけば安全だろう」「自律型 AI エージェントに指示を出しておけば、あとは寝ている間に全部やってくれるはずだ」と思っていませんか。2026 年 10 月末、開発現場のそんな性善説を根底から覆す出来事が立て続けに明らかになりました。

結論からお伝えすると、AI 開発環境を乗っ取りと暴走から守る最適解は、①フォーク系エディタを避けて本家 VS Code + 物理セキュリティキー(FIDO2)で入口を固め、②実際に攻撃を再現実証する診断 AI『Shannon』のような自動検疫を取り入れ、③状態記録を 100 行以内に保ち「機械的形式検査ゲート」で AI の手綱を握ること の 3 点に集約されます。本記事では、約 12 時間にわたり配布された拡張機能 SSH 裏口事件の技術的な裏側から、誤検知ゼロの AI 脆弱性診断、そして 10 日間無人で安定稼働させる実践設計までを一気に解き明かします。

🔧 合わせて読みたい深まる関連情報
Yubico YubiKey 5C NFC(USB-C / NFC対応 FIDO2物理セキュリティキー)

Yubico YubiKey 5C NFC(USB-C / NFC対応 FIDO2物理セキュリティキー)

🔧 対象となる方
  • VS Code や Cursor などの AI エディタを使っており、今回の Claude Code 拡張機能の裏口事件で自分の Mac や PC が影響を受けていないか正確に確認したい 方

  • 自律型の脆弱性診断ツール(『Shannon』 など)が従来のセキュリティスキャナーと何が違い、どこまで実用レベルに達しているのか知りたい方

  • ローカル AI やコーディングエージェントに長時間の作業を任せたいものの、書式崩れや途中の暴走・停止に悩まされている 方

拡張機能に約12時間混入したSSH裏口事件の全貌

2026 年 10 月末、世界中のエンジニアに冷や汗をかかせたのが、人気のコーディング支援拡張機能 anthropic.claude-code に悪質な裏口(バックドア)が仕込まれ、約 11〜12 時間にわたって正規の更新ルートから配布された事件 です。

ここでまず押さえておくべき最も大切な事実は、「Anthropic 社の社内ソースコードが書き換えられたわけでも、本家 Microsoft の VS Code 公式ストアが破られたわけでもなかった」という点です。

本家VS Codeは無傷でフォーク系だけ狙われた理由

今回の事件で汚染されたバージョン(v2.1.312 および v2.1.313)が配布されたのは、VS Code を改造して作られたフォーク系 AI エディタ 『Cursor』の拡張機能マーケットプレイス(Open VSX 連携の配信基盤)のみ でした。本家 Microsoft の Visual Studio Marketplace や、コマンドライン版の npm パッケージは一切侵害されていません。

本家VS Code公式ストアとフォーク系エディタ拡張ストアの明暗
供給経路の差
約12時間裏口配布
侵害された経路:Cursor拡張ストア
  • 本家Microsoftストアの利用規約制限により、独自ストア(Open VSX系)を参照する構造
  • 公開用トークン管理・署名検証の隙間を突かれ、悪性入りの v2.1.312 / 2.1.313 が登録された
  • 自動更新を有効にしていた端末へ、正規アップデートとして裏口コードが降ってきた
侵害ゼロ
無傷だった経路:本家VS Code公式ストア
  • Microsoftの厳格な発行者認証・マルウェア自動検疫パイプラインを通過した公式版のみ配信
  • Anthropic本家のGitHubリポジトリおよび npm 公式パッケージも完全にクリーンを維持
  • 開発母艦を「本家VS Code+公式拡張」に絞っていたユーザーは被害を100%回避できた
質問するおじさん

「見た目が VS Code とそっくりじゃから、どのフォーク系エディタを使っても中身は同じじゃろ」と思うとった人は肝を冷やしたはずじゃな。拡張機能を配る裏側の倉庫(ストア)が別物じゃったとは盲点じゃわい。

解説ナビゲーター

そうなんです!フォーク系エディタは本家 Microsoft のマーケットプレイスに直接接続できないため、別の拡張機能レジストリを経由します。便利そうに見える新興エディタを増やすほど「サプライチェーン(部品の供給経路)の弱点」も増えることが、今回の事件ではっきり浮き彫りになりました。

攻撃者のSSH鍵注入と60秒トンネルの手口と確認法

さらに悪質だったのは、仕込まれたコードの発火タイミングです。拡張機能の本体であるコンパイル済み extension.js の先頭に即時実行関数(IIFE:ファイルが読み込まれた瞬間に自動で走るプログラム)が埋め込まれていたため、ユーザーが AI チャット欄を一度も開かなくても、エディタを起動して拡張機能が読み込まれた瞬間に裏口が設置される仕組み になっていました。

🔧 🚨 悪性バージョン(v2.1.312 / v2.1.313)が裏で行っていた4つの挙動
  1. 攻撃者のSSH公開鍵の勝手な追記 : 手元の SSD やハードディスク(記憶装置)にある ~/.ssh/authorized_keys(この鍵を持つ相手ならパスワードなしで遠隔ログインを許可する台帳)に、攻撃者の公開鍵をこっそり追記します。

  2. ローカルSSH受付の強制有効化 : Mac や PC 側のリモートログイン機能を勝手にオンへ切り替え、外部からいつでも入れる扉を開けます。

  3. 60秒周期のリバースSSHトンネル確立 : 自宅や社内のルーター(ファイアウォール)が外からの通信を遮断していても突破できるよう、端末の側から外部の攻撃者サーバーへ向かって 60 秒おきに暗号化トンネルを繋ぎに行きます。

  4. 再起動しても消えない永続化工作 : macOS なら ~/Library/LaunchAgents/ の自動起動設定(.plist)、Linux なら cron、Windows ならスケジュールタスクへ登録し、エディタを閉じても裏口を維持し続けます。

万が一、該当する期間(2026 年 10 月 29 日前後)にフォーク系エディタ上で Claude Code 拡張機能を使用していた方は、拡張機能を修正済みの v2.1.314 以降へ更新するだけでは不十分です(一度書き込まれた SSH 鍵や自動起動ファイルは更新しても自動では消えません)。ターミナルを開き、以下の読み取り専用コマンドで不審な痕跡がないか必ず点検してください。

# 1. 見覚えのないSSH公開鍵が追加されていないか確認する
cat ~/.ssh/authorized_keys

# 2. macOSのログイン時自動起動フォルダに不審な最近の日付のplistがないか確認する
ls -lt ~/Library/LaunchAgents/ | head -n 15

# 3. 定期実行(crontab)に見覚えのない通信コマンドがないか確認する
crontab -l

もし自分が登録した覚えのない鍵や、60 秒周期で外部へ ssh -R 等を実行する不審な設定が見つかった場合は、直ちにネットワークを切断して該当行・該当ファイルを削除し、手元の端末にある SSH 秘密鍵や API キー(.env 内のトークン類)をすべて破棄・再発行(ローテーション)してください。


誤検知ゼロで実証する自律診断AI『Shannon』

拡張機能の裏口事件が「攻撃側のスピード」を見せつけた一方で、防御側でも劇的な技術進化が起きています。その筆頭が、オープンソースでも公開されているホワイトボックス型の自律型 AI ペネトレーションテスター(侵入検査ツール)『Shannon』(Keygraph 社開発) です。

従来の脆弱性スキャナーを触ったことがある方なら、「警告が何百件もズラッと出たのに、人間が 1 件ずつコードを追って調べてみたら、実際には悪用できない誤検知(オオカミ少年)ばかりで丸 2 日潰れた……」という苦い経験があるのではないでしょうか。

設計図解析と実攻撃再現で成功率96%超を出した仕組み

『Shannon』がこれまでの検査ツールと決定的に違うのは、プログラムのソースコード(設計図)を読んで終わりにするのではなく、隔離された検証環境に対して実際にブラウザ操作やコマンド注入などの疑似攻撃(Exploit)を自ら実行し、「本当に突破できた弱点(再現実証:PoC 付き)だけを報告する」 という徹底した現場主義にあります。

比較項目従来の静的解析・脆弱性スキャナー人間の専門家による手動ペネトレーションテスト自律型AI診断『Shannon』
検査のアプローチ危険そうな書き方のパターン照合のみ設計理解+手動での疑似攻撃検証ソースコード構造解析+自律的な実攻撃再現
誤検知(空振り警告)非常に多い(人間の仕分け作業が必須)ほぼゼロ実質ゼロ(Exploit実証が取れたものだけ報告)
認証や複雑な画面遷移ログイン壁や2段階認証の前で止まりやすい対応可能だが数週間〜数百万円かかるブラウザ操作とTOTP生成で認証突破も自動化
ベンチマーク実績単純な既知パターンのみ検出担当者の腕に大きく依存ヒントなしXBOWベンチマークで 96.15% 成功

実際に『Shannon』は、ヒントなしのセキュリティ到達度ベンチマーク「XBOW」において 104 件中 100 件(成功率 96.15%) という驚異的な突破率を記録しています。

ただし、実際に自分のパソコン(Docker コンテナ環境など)で動かそうとすると、偵察フェーズのツール連携や対象アプリの起動待機まわりで思わぬつまずきポイントもあります。いきなり本番サーバーへ向けて走らせるのは厳禁であり、必ずローカルの隔離コンテナ内で自分の Web アプリや API を立ち上げ、外部ネットワークと切り離した状態で事前検疫ゲートとして組み込むのが正しい使い方です。

質問するおばさん

「怪しいかもしれません」っていう曖昧な報告書を山ほど出されるより、「この手順で実際にデータ抜けますよ、ほら証拠!」って見せてくれる方が百倍ありがたいわね!

解説ナビゲーター

まさにそこが革命的なんです。これからの開発では、人間が書いたコードだけでなく「AI が爆速で生成したコード」や「外部から取り込むプログラム」を、別の独立した検査 AI に本気で叩かせてから公開する『AI 対 AI の相互検疫』が標準になっていきます。


小型AIの形式割れ実験と10日間無人稼働の鉄則

では、そうした AI ツールを私たちの手元で「毎日ミスなく、しかも無人で安定して働かせる」にはどうすればいいのでしょうか。2026 年 10 月末に公開された 2 つの検証データが、その答えを見事に証明しています。

1 つ目は、手元のパソコンで動く 6 種類の小型ローカル AI(LLM)に対して同じ要約・資料作成タスクを 3 回ずつ試した実験 です。ここで非常に興味深い結果が出ました。

  • 「3〜5 個の箇条書きでまとめて」という緩い指示 :6 種類すべてのモデルが 100% 素直に従いました。
  • 「ちょうど 3 個・各 80 字以内」「5 枚・番号付きタイトルのみ」という厳格な形式指示 :モデルのパラメータ規模(大きさ)に関係なく、文字数超過や個数ズレなどの「形式割れ」が頻繁に発生しました。

つまり、「もっと賢い大規模モデルに変えれば、書式ルールを 100% 守るようになるはずだ」という期待は幻想 なのです。確率で次の文字を選ぶ AI にとって、厳密な文字数カウントや個数固定は構造的に苦手な作業だからです。

状態記録100行制限と機械検査ゲートが暴走を防ぐ

この弱点を完璧に克服し、2026 年 10 月 8 日から 10 月 17 日までの丸 10 日間にわたり、コーディング AI を無人で安定稼働させた実践設計 が公開されて話題を呼びました。その秘訣は、AI の「気合い」や「長文プロンプト」に頼るのではなく、周囲を 4 つの機械的な仕組み(起動・委任・見張り・ゲート) で固めたことにあります。

AIを10日間無人で迷走させずに回し切る4層制御パイプライン
Layer 1
起動と状態読込

進行状況ファイル(STATE)を常に100行以内に保ち、長話によるAIの記憶ボケとトークン浪費を防ぎます。

Layer 2
小単位への委任

「全部やって」と丸投げせず、1回で確実に終わる小さな作業単位に切り分けてサブプロセスへ渡します。

Layer 3
見張り(Watchdog)

無限ループや応答停止、想定外ファイルへの変更を外部プロセスから監視し、逸脱したら強制終了します。

Layer 4
機械検査ゲート

文字数・JSON構文・ビルド成否・禁止表現を通常のプログラム(正規表現や型検査)で0秒判定し、合格品だけを通します。

状態ファイルを肥大化させず、出口で必ず決定論的なプログラム検査を通すのが鉄則です

実はこの構造、当ブログ(約 500 記事規模の Astro サイト)を毎日運用している裏側の仕組みとも 100% 一致しています。当サイトでも、AI に「見出しは 30 文字以内にしてね」とお願いするだけでなく、ファイルを保存した瞬間に Node.js の検査スクリプト(Hooks & article_toolkit.mjs check)が自動で走り、文字数超過や太字のスペース抜け、リンク切れを 0.01 秒で機械検出して差し戻すゲートを敷いています。「推論や文章生成は AI に任せ、形式と安全の検査は 1 ミリもブレない従来のプログラムに任せる」 ことこそ、無人運用の黄金律です。


手元のMacと開発環境を守る物理防衛と快適コスト

ここまでの 3 つの最新事例を踏まえると、個人開発者やブロガー、社内システム担当者が手元の環境で揃えておくべき防衛ラインは驚くほどシンプルに整理できます。

🔧 🛡️ AI開発ツールで致命傷を負わないための5つの実践防衛ルール
  1. 開発母艦は「本家 VS Code + 公式拡張機能」に一本化する : 独自ストアを経由するフォーク系エディタの乱用を避け、自動更新は数日様子を見てから適用するか、信頼できる公式拡張のみに絞ります。

  2. GitHub・Google・SSHの要所に物理セキュリティキー(FIDO2)を挿す : 万が一トークンやパスワードが抜かれても、手元の物理キーに指で触れなければ管理画面ログインや重要な署名を通せない「最後の物理防壁」を作ります。

  3. ターミナル自動実行を「Turbo(無承認)」にしない : AI エディタのコマンド実行権限は必ずサンドボックス内限定(Standard Sandbox)または都度承認に設定し、~/.ssh や .env への勝手な書き込みを OS レベルで遮断します。

  4. 長時間の自動処理は「状態 100 行以内 + 機械検査スクリプト」で囲む : 日報生成や一括チェックでは、出力を JSON スキーマや正規表現ゲートで機械検査してから本番フォルダへ反映させます。

  5. オフラインの外付けSSDへ定期的に世代バックアップを逃がす : 常時繋ぎっぱなしのクラウド同期だけでなく、物理的にケーブルを抜いておける高速ポータブル SSD に資産の控えを持つことで、サプライチェーン攻撃からの完全復旧を保証します。

「物理セキュリティキーやバックアップ用の専用 SSD、64GB メモリの開発母艦を揃えると出費がかさむのでは?」と感じる方もいるかもしれません。ここで、見栄の消費ではなく 「耐用年数と使用時間で割った 1 日あたりの安心・快適コスト(推論・試算)」 を計算してみましょう。

たとえば、世界標準の物理セキュリティキー 『Yubico YubiKey 5C NFC』 は実売約 10,000 円前後ですが、可動部品もバッテリーもないため 5 年間(約 1,825 日)は余裕で現役で使えます。1 日あたりに換算すれば わずか約 5.5 円 です。缶コーヒー 1 本どころか、チロルチョコよりも安い 1 日 5 円強の投資で、今回のようなアカウント乗っ取りや不正ログインの恐怖を物理的にゼロにできるなら、これほど費用対効果の高い保険はありません。

また、手元の Mac で Docker コンテナ(『Shannon』のような検証環境)や RAMDisk、SQLite の高速インデックスをスワップ(SSD の寿命を削る仮想メモリ書き出し)なしで快適に回し続けるなら、ユニファイドメモリを 64GB 積んだ 『Apple Mac mini(Pro チップ構成)』 と、Mac 向け APFS フォーマット済みでケーブル 1 本で丸ごと退避できる 『Crucial X9 Pro For Mac 外付け SSD』 の組み合わせが、最も無駄がなく長く戦える堅牢な母艦になります。

Apple Mac mini(Appleシリコン Pro系チップ・64GBユニファイドメモリ構成)

Apple Mac mini(Appleシリコン Pro系チップ・64GBユニファイドメモリ構成)

Crucial X9 Pro For Mac 外付けポータブルSSD (1TB / 2TB / 4TB・USB 3.2 Gen 2 最大1,050MB/s)

Crucial X9 Pro For Mac 外付けポータブルSSD (1TB / 2TB / 4TB・USB 3.2 Gen 2 最大1,050MB/s)


まとめ:AI開発ツールを安全に使いこなす導入手順

AI ツールは毎日目覚ましいスピードで便利になっていますが、「公式の名前がついているから」「AI が自分でチェックしたと言っているから」と丸投げした瞬間に、思わぬ裏口や形式崩れの落とし穴にはまります。入口は 本家エディタと物理キー で守り、出口は 機械的な検査ゲートと実攻撃検証 で締める。この基本さえ押さえれば、AI はあなたが眠っている間も安全に働き続ける最強の相棒になります。

🔧 ✅ この防衛設計で幸せになる人・別の選択肢が向く人
  • 導入して幸せになる人 : 自分の Mac や開発資産・ブログ原稿をサプライチェーン攻撃から確実に守り抜き、手戻りゼロで AI 自動化を長く快適に回したい方

  • 別の選択肢が向く人 : ローカルに一切の開発環境や機密データを持たず、ブラウザ上のチャット画面で単発の質問をするだけのライトユーザーの方

今お使いの Mac や PC の AI エディタ環境に「危ない設定や裏口の痕跡がないか」を一括点検し、保存時の機械検査ゲートを組み込みたい方は、以下のプロンプトをコピーして AI エディタへ渡してみてください。

🔧 🤖 手元の開発環境の安全点検&機械検査ゲートを作らせるコピペ用プロンプト

※セキュリティ設定の死角やシェルスクリプトの境界条件を読み飛ばさないよう、軽量モデルではなく必ず 『Gemini 4 Argon』(または同等以上の最上位推論モデル)を選択して実行してください。

以下の記事のセキュリティ防衛基準と無人稼働ゲート設計にもとづき、私の開発環境の「安全点検」と「出力の機械検査スクリプト」の設計を行ってください。
参照URL: https://lab.chihouzakki.com/blog/review/ai-editor-extension-backdoor-shannon-unattended-ops/

【作業ルール(厳守)】
1. ファイルを勝手に変更・削除する前に、まず読み取り専用で ①導入済み拡張機能の一覧とバージョン、②~/.ssh/authorized_keys や自動起動設定(LaunchAgents / cron)に不審なエントリがないか、③.gitignore で .env 等の機密ファイルが確実に保護されているかを調査し、結果と改善計画を提示して私の合意を得てください。
2. 私がAIに定型生成させているファイル(Markdown記事・JSONデータ・コード等)の形式ルールをヒアリングし、文字数上限・必須項目・禁止表現を0.1秒で機械判定して不合格時に差し戻す軽量な Node.js 検査スクリプトを提案してください。
3. 状態管理ファイルを使う場合は100行以内に収めるローテーション設計とし、すべての処理で元ファイルを壊さないバックアップ手順を含めてください。

便利な道具ほど「安全装置」を先に整えて、心から安心して AI 開発を楽しみましょう!

窓辺から外の気配を鋭く見張るノルウェージャンフォレストキャット

▲ 玄関の鍵と裏口の点検さえ完璧なら、あとは安心して昼寝ができます