11月3日、HackReadが「Cursor Distributed Claude Code Extensions With SSH Backdoor Code」と題した記事を公開した。CursorのVSCode拡張マーケットプレイス経由で配布されたClaude Code拡張にSSHバックドアが仕込まれていた事件を詳報したもので、正規の拡張IDと本物のバイナリを維持したまま改ざんするという手口が自動検査をすり抜けた点が特に注目される。SSH接続が失敗したケースでも不正な公開鍵や永続化ファイルが残存する可能性があり、「拡張を削除すれば終わり」とは言えない事案だ。
何が起きたか
2026年10月29日、AIコードエディタ「Cursor」の拡張マーケットプレイスにおいて、改ざんされたClaude Code拡張が配布された。影響を受けたバージョンは2.1.312と2.1.313(Windows・macOS向け)で、配布時間帯は太平洋夏時間の午前2時27分から午後1時35分(日本時間では同日午後6時27分から翌日午前5時35分頃)とされている。
問題のパッケージは正規の拡張ID anthropic.claude-code を名乗り、本物のバイナリも同梱していたため、見た目ではほぼ区別がつかなかった。
バックドアの仕組み:拡張が起動する前にコードが走る
セキュリティ研究機関OpenSourceMalware(オープンソースソフトウェアのマルウェア混入を追跡・分析する研究組織)によるバージョン2.1.313の解析によれば、改ざんされたextension.jsファイルに66行の悪意あるローダーが、通常の拡張コードより前に挿入されていた。
このローダーは拡張の起動時またはWebViewが開いた際に実行され、以下を試みる:
- ホスト・ユーザー情報の収集
- 攻撃者が管理するSSH公開鍵の登録
- SSHサービスの有効化
- 外部サーバーへのリバーストンネルの確立(リモートアクセス経路の構築)
リバーストンネルとは、ファイアウォール越しに外部から内部マシンへ接続するための手法で、企業ネットワーク内の開発機が標的になった場合に特に危険度が高い。
Microsoftも独自調査を実施しており、このパッケージがVisual Studio Marketplace経由でも、Claude CodeのnpmパッケージとしてもAnthropicから配布されたものではないと確認している。Anthropic側もシステムが侵害されていないことを明言した。
SSH接続が「失敗」しても残るもの
Cursorは声明の中で、大半のWindows・macOS環境ではコーディングエラーと管理者権限の要件により、SSH接続のステップは成功しなかったと述べている。しかし、SSH接続が失敗したからといって無害だったわけではない。
Microsoftの調査は、コードが試みたことと実際に成功したことを峻別している。SSH接続が失敗したケースでも、以下が残存している可能性がある:
- 不正なSSH公開鍵
- 永続化のための起動ファイル(macOSのLaunchAgent、
SysMonという名前のWindowsスケジュールタスク、Windowsスタートアップフォルダ内のスクリプト) - 外部サーバーへ送信済みのデバイス情報
対応と現状
Cursorはマーケットプレイスを一時閉鎖し、鍵のローテーションと再構築を実施した後、サービスを再開した。攻撃者のサーバーについてもホスティング事業者と協力して停止させている。
影響を受けた可能性があるユーザーは、拡張を削除するだけでは不十分であり、以下の対応が必要とされている:
- Cursorの公式セキュリティ通知に記載されたWindows・macOS別のクリーンアップスクリプトの実行
- 不正なSSH鍵と永続化ファイルの削除
- 信頼できるコンピュータからのクレデンシャル(パスワード・トークン等)のローテーション
- 状況によってはマシンの再構築も推奨されている
なお、Cursorの初報には「影響ユーザーは最大5,000人」という記述があったが、更新後の通知からこの数字は削除されている。初報の内容はInternet Archiveで確認できる。
開発者が日常的に使うエディタの拡張マーケットプレイスがサプライチェーン攻撃の経路になった今回の事例は、「公式マーケットプレイス=安全」という前提が成り立たないことを改めて示している。特に正規IDと本物のバイナリを維持したまま改ざんするという手口は、自動検査をすり抜けやすい。
詳細はCursor Distributed Claude Code Extensions With SSH Backdoor Codeを参照していただきたい。