この記事でわかること
- CursorでClaude Code拡張機能の改ざん版が配られた時間帯と、影響を受ける可能性がある人
- 改ざん版がPCに残すものと、拡張機能を削除・更新するだけでは足りない理由
- 攻撃者の鍵「svc-telemetry」が残っていないかの確認方法と、見つかったときの対処
CursorのストアでClaude Code拡張の改ざん版が約11時間配布された
AIコードエディタ「Cursor」を提供するCursorは2026年10月29日(米国太平洋時間)、自社のVS Code拡張機能マーケットプレイスで、Anthropicの「Claude Code」拡張機能(Anthropic.claude-code)を改ざんしたバージョンが配布されていたと公表しました。配布期間は太平洋時間の10月29日午前2時27分ごろから午後1時35分ごろまで。日本時間では10月29日午後6時27分ごろから30日午前5時35分ごろまでの約11時間です。
Cursorは当初、改ざん版を2.1.313とし、影響は最大5,000ユーザーとX上で説明していました。10月30日に更新されたCursorのセキュリティ通知では、対象が2.1.312と2.1.313のWindows版・macOS版に改められ、影響ユーザー数の記載はなくなっています。Cursorは、この改ざん版をAnthropicが開発したものではないとしています。
厄介なのは、似た名前の偽アプリではなく、正規のClaude Codeと同じ名前・識別子のまま、通常のアップデートとして届いた点です。発見したセキュリティ企業Phorionによると、Cursorの拡張機能は初期設定で自動更新されます。自分で更新した覚えがなくても、入っている可能性はあります。
拡張機能を読み込むだけで動き、SSHの「合鍵」を置いていく
改ざん版は、正規の拡張機能のコードの前に悪意あるコードを付け足したものでした。Claude Codeに話しかけなくても、Cursorが拡張機能を読み込んだ時点で動きます。普段どおり使えてしまうので、異変には気づきにくい。
Cursorやセキュリティ企業の分析によると、改ざん版が行おうとしたのは次のような処理です。
- ホスト名、ユーザー名、OS、公開IPアドレス、Gitに登録したメールアドレスなどを集め、攻撃者のサーバーへ送る
- 攻撃者のSSH鍵を「authorized_keys」というファイルに書き込む(鍵のコメントは「svc-telemetry」)
- PCのSSH機能を有効にし、攻撃者のサーバーとの間に逆向きの通り道(リバーストンネル)を開こうとする
- macOSではLaunchAgent、Windowsではスケジュールタスクなどを使い、再起動後も動き続ける仕組みを残す
authorized_keysへの鍵の書き込みは、外から自分のPCへログインするための合鍵を置かれるようなものです。Cursorによると、このコードが集めていたのは環境変数の名前で、値ではありません。ただしCursorは、収集範囲が限られていても、バックドアを通じて後から認証情報にアクセスされた可能性は否定できないとしています。
多くのPCではログインまで至っていないが、痕跡は残る
Cursorによると、SSH機能を有効にする処理には管理者権限が必要です。改ざん版のコードの不具合もあり、Cursorを管理者権限で起動していたまれなケースを除いて、この処理は失敗します。そのため、ほとんどの環境では攻撃者がトンネル経由でログインできた可能性はないとしています。攻撃者のサーバーはCursorがホスティング事業者と協力して停止させており、トンネルと情報送信はすでに機能していません。
それでも安心はできません。SSHの有効化に失敗したPCでも、攻撃者の鍵の書き込み、自動起動の仕組みの設置、情報の送信は実行されていました。これらは拡張機能を更新しても、削除しても消えないため、Cursorはトンネルが動いたかどうかにかかわらず対処手順を実行するよう求めています。
Cursorは改ざん版を削除して配布を止め、マーケットプレイス全体をいったん停止しました。ほかの拡張機能が改ざんされていないことを確認し、鍵の入れ替えとマーケットプレイスの再構築を済ませてから再開しています。攻撃者がどうやって改ざん版を載せたのかは、CursorもAnthropicもまだ説明していません。
対象はCursorでClaude Codeを入れていたWindowsとMacのユーザー
確認が必要なのは、日本時間の10月29日午後6時27分ごろから日付をまたいだ30日午前5時35分ごろまでに、Cursorのマーケットプレイス経由でClaude Code拡張機能をインストール、または更新した可能性があるWindowsとMacのユーザーです。対象のバージョンは2.1.312と2.1.313。Cursorが公開した改ざん済みパッケージの指標はAppleシリコンのMac向けとWindows(x64)向けですが、確認と対処の案内はmacOSとWindowsの両方を対象にしています。
Cursorは、ほかのバージョンの拡張機能や公式の配布物が影響を受けた形跡はないとしています。Anthropicの技術スタッフもX上で、Anthropicのシステムが侵害されたわけではなく、公式の配布経路は影響を受けていないと説明しました。Microsoft版のVS CodeでClaude Codeを使っている人は、今回の対象に含まれていません。
紛らわしいのが2.1.312という番号。Anthropicの更新履歴にも載っている正規のバージョン番号で、問題なのはCursorで配られた改ざん版だけです。番号だけでは見分けられないため、2.1.312が入っていた人も次の確認をしてください。
攻撃者の鍵が残っていないか確認する方法
会社のPCの場合は、自分で調べたり片づけたりする前に、社内のセキュリティ担当者へ連絡してください。個人のPCなら、まず攻撃者の鍵が書き込まれていないかを調べます。拡張機能を更新済みのPCでも、この確認は必要です。
調べるのは、SSHの接続を許可する鍵の一覧ファイルです。Macでは、Cursorを使っていたユーザーのまま「ターミナル」を開き(sudoは付けません)、次のコマンドを実行します。
grep svc-telemetry ~/.ssh/authorized_keys
Windowsでは2つのファイルが対象です。まず、Cursorを使っていたアカウントで普段どおり「PowerShell」を開き、ユーザー用のファイルを調べます。
Select-String -Path "$HOME\.ssh\authorized_keys" -Pattern svc-telemetry
続いて、PowerShellを「管理者として実行」で開き、PC全体で共有される管理者用のファイルも調べます。
Select-String -Path "C:\ProgramData\ssh\administrators_authorized_keys" -Pattern svc-telemetry
結果は、調べたファイルごとに次の3つのどれかに当てはめます。
- 「svc-telemetry」を含む行が表示された:そのPCは影響を受けています。
- 何も表示されずにコマンドが終わった、または正しい場所を調べたうえで「ファイルやパスが見つからない」と出た:そのファイルにこの鍵はありません。
- 「Permission denied」や「アクセスが拒否されました」と出た、または調べた場所が正しいか確かめられない:未確認です。中身を読めていないので、鍵がないとは判断しません。
ここでいう正しい場所は、MacならCursorを使っていたユーザーのまま開いたターミナルでの「~/.ssh/authorized_keys」、Windowsなら上の2つのコマンドが指す場所です。Windowsの管理者用ファイルで未確認になったら、PowerShellが「管理者として実行」で開いているか確かめてから、もう一度実行してください。ユーザー用ファイルは、Cursorを使っていたアカウントで普段どおり開いたPowerShellで調べるのが基本です。管理者として開いたPowerShellで調べ直す必要があるときは、別の管理者アカウントで起動すると「$HOME」がそのアカウント側のフォルダを指してしまう点に注意します。先に普段のPowerShellで $HOME とだけ入力し、表示された実際のフォルダの場所を控えてください。管理者のPowerShellでは、その場所の中にある「.ssh\authorized_keys」をパスとして指定します。ユーザー名から場所を推測して指定すると、別のファイルを調べてしまうおそれがあります。再実行して1つ目か2つ目の結果が出れば、その結果で判断できます。
鍵が見つからなかったとしても、わかるのはこの鍵の有無までです。自動起動の仕組みも残っていないか見ておきます。Macでは「~/Library/LaunchAgents/com.apple.sysmond.plist」という、Appleの部品に見せかけた名前のファイル。Windowsではタスクスケジューラの「SysMon」というタスクと、スタートアップフォルダの「sysmon.cmd」が目印です。より細かい痕跡の一覧と、Cursorが用意した確認用スクリプトは、Cursorのセキュリティ通知に掲載されています。
最後に、すべての結果をまとめて判断します。鍵か、こうした痕跡のどちらかが見つかった場合は、拡張機能の更新などはせず、そのまま次の「対処」へ進んでください。調べたファイルのうち1つでも未確認が残った場合は、まだ「見つからなかった」とは言えません。拡張機能の更新はせず、PCに詳しい人やCursorの問い合わせ窓口に相談してください。Cursorの通知にあるmacOS向けの確認例は、ファイルを読み取れなかった場合でも「鍵は見つからない」と表示する作りなので、その表示だけで未確認が解消したとは扱えません。すべてのファイルで「この鍵はない」と判断でき、自動起動の痕跡も見つからなかった場合だけ、拡張機能を2.1.314以降に更新します。Cursorは10月30日のX投稿で2.1.314への更新を呼びかけています。ただし更新は、現行のセキュリティ通知が示す確認・対処の手順には含まれておらず、その代わりにはなりません。
鍵や痕跡が見つかったときの対処
見つかった場合は、拡張機能を消して終わりにせず、侵害を受けたPCとして扱います。会社のPCなら、この先は社内のセキュリティ担当者の指示に従ってください。
Cursorが示す順序では、最初にそのPCをネットワークから切り離します。そのうえで、攻撃者の鍵、自動起動の仕組み、動いているトンネルの処理を取り除きます。CursorはmacOS用とWindows用の削除スクリプトを通知内で公開しており、macOSでは影響を受けたユーザーとして(rootではなく)、Windowsでは管理者として開いたPowerShellで実行する形です。Cursorは、取り除いたあとにPCを初期化して作り直すべきかの検討も求めています。
ここからは50IT編集部の補足です。ネットワークから切り離したPCでは、公式通知を開いてスクリプトを入手できません。スクリプトは別の安全な端末でCursorの公式通知から入手し、USBメモリなどで対象PCへ移せば、切り離したまま実行できます。SNSなどで出回っているコピーは使わないでください。この作業に自信がなければ、対象PCは切り離したままにして、PCに詳しい人やCursorの問い合わせ窓口に相談するのが安全です。
続いて、そのPCから使えたパスワードやAPIキー、クラウドの認証情報、ログイン中のセッションを、別の安全な端末から変更・無効化します。こうした対処を終えたあとでCursorとClaude Codeを使い続けるなら、拡張機能は2.1.314以降にします。不明な点の問い合わせ先として、Cursorは security@cursor.com を案内しています。
