11月1日、pbxscience.comが「Tampered Claude Code Extension on Cursor Marketplace Tried to Plant an SSH Backdoor」と題した記事を公開した。Cursorのマーケットプレイスで配布された改ざん済みClaude Code拡張機能がSSHバックドアの設置を試みたセキュリティインシデントについて詳しく報告している。
注目すべきはCursor自身が公式に認めている事実だ。SSH公開鍵の挿入・永続化スクリプトの設置・ホスト情報の送信は実行された——つまり、リバースシェルによる遠隔操作こそ阻まれた可能性が高いものの、攻撃コードの一部は確実に被害者マシン上で動作している。AIコーディングツールを狙ったサプライチェーン攻撃として、開発者コミュニティに広く衝撃を与えた事案だ。
何が起きたか
2026年10月29日、AIコーディングエディタ「Cursor」は、自社のVSCode拡張マーケットプレイスを通じて、Anthropicの「Claude Code」拡張機能(Anthropic.claude-code)の悪意ある改ざん版が配布されていたと公表した。
問題のバージョンは2.1.312と2.1.313(macOS・Windows向けビルド)。太平洋時間の午前2時27分から午後1時35分まで、約11時間にわたってマーケットプレイスに存在した。影響を受けたユーザーは最大5,000人とCursorは評価している。
Anthropic技術スタッフのFelix Rieseberg氏は、攻撃者がCursorのマーケットプレイスへのアクセスを利用して改ざん版を公開したと公式に述べた。なお、Microsoft公式のVisual Studio Marketplaceや@anthropic-ai/claude-code npmパッケージへの影響はなく、Open VSXも無関係であることが後に確認されている。
近年、開発者向けツールのサプライチェーンを標的にした攻撃は増加傾向にある。2024年に発覚したxz Utils バックドア事件や、npm・PyPIへのタイポスクワッティングパッケージの継続的な混入など、信頼されたエコシステムへの侵入を試みる攻撃手法は高度化・常態化している。AIコーディングツールは急速に普及し、開発者マシンへの深いアクセス権限を持つため、攻撃者にとって魅力的な標的となっている。
バックドアの仕組み
攻撃コードの特徴は、ユーザーがチャットを開かずとも、拡張機能のロード時に自動実行される点だ。実行された場合、以下を試みる。
- ホスト名・ユーザー名・OS・アーキテクチャ・ホームディレクトリ・環境変数名・作業ディレクトリ・Git設定メールアドレス・パブリックIPアドレスを収集し、攻撃者サーバーへ送信
authorized_keysファイルに攻撃者制御のSSH公開鍵を追記。鍵のコメントは**svc-telemetry**(無害なテレメトリサービスを装った偽装)- ローカルSSHサービスを有効化し、攻撃者サーバーへのリバースSSHトンネルを確立
- macOSではLaunchAgent、Windowsではスケジュールタスクにより永続化し、約60秒ごとに再接続を試みるスクリプトを設置
実際の侵入リスクはどの程度か
ローカルSSHサービスの起動には管理者権限が必要であり、通常のmacOS・Windows環境ではこの権限をCursorは持っていない。攻撃コード自体にもエラーが含まれており、管理者権限でCursorを起動していた等の特殊なケースを除き、この手順は失敗する。
ただしCursorは、SSH公開鍵の挿入・永続化スクリプトの設置・ホスト情報の送信は実行されたと明言しており、リバースシェルによる遠隔操作が成立しなかった場合でも、後からバックドアを悪用される可能性を否定していない。攻撃者は収集したホスト情報(IPアドレス・ユーザー名・Git設定メールアドレス等)を手元に持っており、鍵が残存していれば別の経路からの侵入に転用できる点は見落とせない。
感染確認と対処方法
最も手軽な確認方法は、authorized_keysにsvc-telemetryというラベルのSSH鍵が存在するかの確認だ。
macOS(ターミナル):
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"
Windows(PowerShell):
$files = "$HOME\.ssh\authorized_keys", "C:\ProgramData\ssh\administrators_authorized_keys" | Where-Object { Test-Path $_ }
if ($files -and (Select-String svc-telemetry $files)) { "svc-telemetry key found" } else { "No key found; machine not impacted" }
影響が確認された場合は以下の対応が必要だ。
- 不正なSSH鍵・永続化スクリプト・トンネルプロセスの除去
- 拡張機能のアンインストールだけでは不十分。ペイロードが独立した永続化スクリプトを設置するため、Cursorが提供する専用の修復スクリプトを使う
- 影響を受けたホストから到達可能な認証情報・セッションのローテーション(信頼できる別マシンから実施)
- 状況によってはマシンの再構築を検討
Cursorの対応と残る疑問
Cursorは検知後すぐに当該バージョンを削除し、念のためマーケットプレイス全体を一時閉鎖した。他の拡張機能が改ざんされていないことを確認したうえで、鍵のローテーションとマーケットプレイスの再構築を経て復旧している。攻撃者サーバーについてもクラウドプロバイダーと連携して停止させたため、リバースシェルとホスト情報アップロードはすでに機能しない状態だ。
一方で、攻撃者がどのようにマーケットプレイスへの書き込みアクセスを得たかは、Cursor・Anthropicいずれも公式に説明していない。拡張機能のコード署名・マーケットプレイス側のアップロード検証・公開鍵フィンガープリントの照合といった防御策の有無についても現時点では不明であり、今後の調査結果が注目される。
※編集部の考察:VSCode互換のマーケットプレイスは各エディタが独自に運営しており、Microsoft公式のVS Marketplaceとは審査・署名の仕組みが異なる場合がある。AIエディタの普及とともにサードパーティマーケットプレイスのセキュリティ基準が問われる局面が増えるだろう。
詳細はTampered Claude Code Extension on Cursor Marketplace Tried to Plant an SSH Backdoorを参照していただきたい。