セキュリティ ソフトウェア AI 公開日 2026.11.03 更新日 2026.11.03

Cursor で配られた Claude Code 拡張の改ざん版とは?SSH の鍵の確認と削除、認証情報の更新

2026年10月29日、Cursor の拡張機能マーケットプレイスで、Anthropic.claude-code の改ざん版(2.1.312 と 2.1.313)が約11時間配布されました。攻撃者の SSH 公開鍵を足し、リバース SSH を張ろうとします。拡張機能を消しただけでは常駐物が残るため、Cursor の公式通知にもとづき、入れたかの確認、authorized_keys の確認、削除、環境の再構築と認証情報の更新の順に整理しました。

目次(11項目)

先に要点

  • Cursor は2026年10月29日、自社の拡張機能マーケットプレイスで配られた Anthropic.claude-code の 2.1.312 と 2.1.313 が改ざん版だったと公表しました。Anthropic が作った版ではない、と通知にあります。
  • 配布されていたのは10月29日の午前2:27〜午後1:35(太平洋時間)で、対象は Windows と macOS です。この間に Cursor で入れた、または自動で更新された版が該当します。
  • 悪意のあるコードは、端末の情報を送り、攻撃者の SSH 公開鍵を authorized_keys に足して、リバース SSH で接続しようとします。
  • 拡張機能を消しただけでは足りないと通知は警告しています。別の常駐物が動き続けることがあるためです。
  • 入れた可能性があるなら、鍵の有無を確認し、見つかれば感染したものとして、隔離・削除・環境の再構築・認証情報の更新まで進めます。

Cursor を使っていて、Claude Code の拡張機能を入れている方向けの記事です。ほかの人が作った拡張機能は、自分の権限でそのまま動きます。今回は、その経路が実際に使われた例です。

この記事は、Cursor の公式のセキュリティ通知(2026年10月29日公開、10月30日更新)をもとにしています(2026年11月3日に確認)。更新されることがあるので、作業の前に必ず通知の最新を確かめてください。削除用のスクリプトも、通知に載っているものを使います。

何が起きたのか

通知から読み取れる経過

  1. 1
    10月29日 午前2:27(太平洋時間)

    改ざんされた 2.1.312 が Cursor のマーケットプレイスで配布され始める。

  2. 2
    10月29日 午後1:35(太平洋時間)

    配布が止まるまでの約11時間。2.1.312 と 2.1.313 が対象。

  3. 3
    Cursor が対応

    該当の版を削除して配布を遮断し、予防としてマーケットプレイスを全面停止。他の拡張機能が改ざんされていないことを確認し、鍵を更新して再稼働。

  4. 4
    攻撃者のサーバーを停止

    ホスティング事業者と連携して停止させた。ただし通知は、停止後も下の手順の実施を求めている。

通知は、これらの版は Anthropic が開発したものではなく、他の拡張機能や製品は影響を受けていないとしています。

悪意のあるコードの動作

情報を送る

ホスト名、ユーザー名、OS、ホームディレクトリ、環境変数の名前、Git のメールアドレス、公開 IP などを集めて、攻撃者のサーバーへ送ろうとします。

SSH の鍵を足す

攻撃者の公開鍵を authorized_keys に足し、リバース SSH のトンネルを開こうとします。ただし、SSH サービスの有効化には管理者権限が要り、多くの環境では失敗すると通知は説明しています。

居座る

macOS では LaunchAgent、Windows では SYSTEM 権限のスケジュールタスクと、起動時の予備の仕組みで常駐します。背景のスクリプトは約60秒ごとに接続を試みます。

環境変数は「名前」だけを集める、と通知にあります。ただし通知は、集めたものが限られていても、あとから認証情報に触れられた可能性は否定できないとしています。

入れたかを確認する

10月29日の前後に Cursor を使っていたかを思い出す

対象は、上の時間帯に Cursor のマーケットプレイスから入った 2.1.312 と 2.1.313 です。Cursor の拡張機能の画面で Claude Code の版を見ます。すでに新しい版に変わっていても、その間に入っていたなら、次の確認をします。

通知が案内する確認は、攻撃者の公開鍵が authorized_keys にあるかを見るものです。鍵のコメントに svc-telemetry という名前が付いています(鍵のフィンガープリントは通知に載っています)。

# macOS:通知にある確認のコマンド
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"
# Windows(PowerShell):次の2つのファイルに svc-telemetry が無いかを見る
Select-String -Path "$env:USERPROFILE\.ssh\authorized_keys","C:\ProgramData\ssh\administrators_authorized_keys" -Pattern "svc-telemetry" -ErrorAction SilentlyContinue

何も出なければ、鍵は足されていません。ただし、通知の言う「感染していない」の判断は、macOS のコマンドの結果にもとづきます。Windows では、通知の手順の最新を見て同じ確認をしてください。

見つかったら:削除と、その先

見つかったときの順序(Cursor の通知にもとづく)

  1. 1
    隔離する

    鍵が見つかったら、感染したものとして扱う。ネットワークから切り離す。

  2. 2
    公式の削除スクリプトを使う

    macOS は remediate-macos.sh(root ではなく対象のユーザーで実行)、Windows は remediate-windows.ps1(管理者として実行した PowerShell)。拡張機能、常駐物、トンネルのプロセス、攻撃者の鍵を消す。

  3. 3
    環境の再構築を考える

    通知は、影響を受けた端末の再構築を検討するよう案内している。

  4. 4
    認証情報を更新する

    その端末でアクセスできた認証情報とセッションを、別の信頼できる端末から更新する。

削除のスクリプトは、通知に載っているものを使います。スクリプトは、残りがあればゼロ以外の終了コードで終わるので、その結果も確かめます。

アンインストールだけで終わらせない

通知は、拡張機能を消しても、独立した常駐のスクリプトが動き続けることがあると警告しています。「拡張機能が一覧から消えた」ことは、安全の確認になりません。鍵の確認と、通知のスクリプトの結果を見てください。

認証情報は、何を更新するか

その端末で触れられたものが対象です。たとえば次のものです。

種類 例
開発の認証 Git のアクセストークン、SSH の秘密鍵、クラウドの鍵
AI・API API キー、Claude Code などのログイン情報
ブラウザのログイン 保存されたログイン、セッション
環境変数に入れた秘密 .env や設定ファイルにあるもの

更新は、感染した可能性のある端末ではなく、別の信頼できる端末から行います。順序は、権限が大きいもの(クラウドの管理者、リポジトリの書き込み)からです。

鍵が無かったとき、これから

鍵が無ければ、通知の基準では影響はありません。それでも、次の見直しをすると、同じ種類の事故に強くなります。

拡張機能は「自分の権限」で動く

入れた拡張機能は、ファイルやネットワークを使えます。入れる数を絞り、使っていないものは消します。

authorized_keys を時々見る

自分が足した覚えのない鍵が無いかを、定期的に見ます。サーバーでも端末でも有効です。

公式の発表を見る

使っているエディターの公式のセキュリティ通知を、見られる場所に置いておきます。今回の対応も、通知の更新で内容が変わりました。

開発の道具を入口にした攻撃は、VS Code の悪意あるリポジトリでも扱っています。外部のものを固定する考え方は GitHub Actions のロックファイルで整理しています。

わからないこと

利用者の数

通知には、影響を受けた利用者の数が書かれていません。

公開の経緯

どのように Anthropic の名前で公開されたかは、この記事の確認の時点では公式に説明されていません。報道には食い違いがあるため、この記事では扱いません。

Cursor の通知が更新されたら、そちらを優先してください。

まとめ

まず

10月29日に Cursor で Claude Code を入れた、または更新したかを思い出します。

次に

authorized_keys に svc-telemetry が無いかを確認します。

あったら

隔離し、公式のスクリプトで削除し、再構築を考え、認証情報を別の端末から更新します。

参考にした情報

あとで見返すならここで保存

読み終わったあとに残しておきたい記事は、お気に入りからまとめて辿れます。