Cursorのマーケットプレイスで改ざん版のClaude Code拡張が配られた|影響を受ける条件と、Macで確かめる4つの点検
Cursorが10月29日、改ざんされたClaude Code拡張の配布を公表
AIコードエディタのCursorは2026年10月29日(米国時間)、Cursorの拡張マーケットプレイスで、改ざんされたClaude Code拡張(Anthropic.claude-code)が配られていたと公式ブログで告知しました。告知は10月30日に更新され、対象の版と、改ざん版の目印(攻撃の痕跡を見分けるためのファイルの指紋やIPアドレス)の一覧が更新されています。2026年11月8日に確かめた時点で、告知の更新はこの10月30日のものが最後です。
Claude Code拡張は、AnthropicのAIエージェント「Claude Code」をエディタの中から使うための拡張機能です。改ざん版はAnthropicが開発したものとは別物で、拡張が読み込まれると、パソコンに外部から接続するためのSSH鍵と、ログイン時に自動で動く設定を書き込もうとします。対象はmacOSとWindowsで、Cursorのマーケットプレイスから拡張を入れた人、または自動更新した人です。この記事ではMacでの点検を扱い、Windowsの点検方法はCursorの告知へ案内します。
以下、影響を受ける条件と改ざん版の動作、版番号では見分けにくい理由、Macで影響の有無を確かめる4つの点検、痕跡が見つかったときの対応の順にまとめます。
この件の要点
10月29日夕方から翌朝にCursorでClaude Code拡張を入れた・更新した人は、点検が必要
影響を受ける人
10/29 18:27〜10/30 5:35(日本時間)に拡張を入れた人
Cursorのマーケットプレイスから、MacかWindowsで入れた・更新した場合です。
改ざん版がMacで行うこと
SSH鍵の追加と自動起動の設定
MacやGitの情報も、攻撃者のサーバーへ送ります。
見分け方
版番号ではなく中身で確かめる
改ざん版は2.1.312や2.1.313と表示されます。Cursorは、正規版と同じ2.1.312を名乗るものもあったとしています。
点検したあと
2.1.314以降へ更新
痕跡があれば、Cursorの修復スクリプトと認証情報の入れ替えへ進みます。
影響を受けたのは、10月29日夕方から翌朝に拡張を入れた人
Cursorの告知によると、改ざん版がマーケットプレイスに置かれていたのは、米国太平洋時間の10月29日午前2時27分から午後1時35分までです。日本時間では10月29日18時27分から10月30日5時35分までの約11時間にあたります。
この時間帯に、Cursorのマーケットプレイスから2.1.312または2.1.313の拡張を入れた人と、自動更新でその版になった人が対象です。セキュリティ企業StepSecurityは、Cursorの説明として、改ざん版を受け取った利用者は最大5,000人だったと解析記事で伝えています。
改ざん版の配布から差し替えまで(日本時間)
10月28日 5:27
正規の2.1.312が、拡張の公開サイトOpen VSXに公開される
10月29日 18:27
改ざん版が、Cursorのマーケットプレイスから配られ始める
10月30日 5:35
Cursorが改ざん版を削除し、マーケットプレイス全体を止める。点検後に作り直して再開
10月30日 10:07
正常な2.1.314がOpen VSXに公開される
出典: Cursorの告知とStepSecurityの時系列(UTC・米国太平洋時間から換算)、Open VSXの公開日時(2026年10月31日に取得)
Cursorは改ざん版を見つけた時点で削除し、念のためマーケットプレイス全体を止めて作り直しました。ほかの拡張に改ざんがないことを監査で確かめ、Cursor側の鍵も入れ替えています。攻撃者のサーバーは、ホスティング事業者の協力で停止しました。
StepSecurityは当初、改ざん版の2.1.313がOpen VSXに掲載され、そこからCursorのマーケットプレイスへ同期されたと報告していました。その後、Anthropicの社員が10月30日に掲示板サイトのHacker Newsで、2.1.313はOpen VSXなどの公式の配布先に一度も公開していないと説明しました。StepSecurityも記事を訂正し、配布の場所をCursorのマーケットプレイスとしています。Open VSXは、WindsurfやVSCodiumなど、Cursor以外のVS Code系エディタも拡張の入手先にしている公開サイトです。2026年11月8日に確かめた時点のOpen VSXの最新版は、11月7日(日本時間)に公開された2.1.319で、版の一覧に2.1.313はありません。
改ざん版は読み込まれた時点で、攻撃者のSSH鍵と自動起動の設定を仕込む
改ざん版は、拡張の本体ファイル「extension.js」に不正なコードを埋め込んでいます。StepSecurityの解析では、このコードは拡張が読み込まれた時点で動きます。Claudeとの会話を始める必要はありません。Macでは次の4つを試みます。
1. 情報を送る
Macの情報を攻撃者のサーバーへ
コンピュータ名、ユーザー名、Gitのメールアドレス、公開IPアドレス、環境変数の名前などです。
2. 鍵を足す
攻撃者のSSH鍵を登録
~/.ssh/authorized_keys に、svc-telemetry という名前の鍵を書き足します。
3. 自動起動を仕込む
ログイン時に動く設定を作る
com.apple.sysmond という、Appleの部品のような名前の設定ファイルを置きます。
4. トンネルを開く
攻撃者のサーバーとの間にSSHのトンネルを開く
Macから外へ接続し、その接続(リバーストンネル)を通って外からMacへ入れる状態にしようとします。約60秒ごとにつなぎ直します。
Cursorによると、MacのSSH接続(リモートログイン)を有効にするには管理者の権限が要り、多くのMacでは改ざん版にその権限がありません。その場合はこの段階で失敗し、攻撃者はトンネルを通ってログインできなかったとCursorは説明しています。一方で、鍵の追加、自動起動の設定、情報の送信は行われたとしています。影響を受けた人全員に点検と修復を求めているのはこのためです。
システム設定でリモートログインを元から有効にしていたMacや、Cursorを管理者権限で起動していた場合は、トンネルが使えた可能性があります。StepSecurityが11月1日に公表したコードの解析でも、Macでリモートログインを有効にする処理は、パスワードなしでsudoを使える設定の場合にだけ成功するとしています。
Cursorは、正規版と同じ2.1.312を名乗る改ざん版もあったとしている
Cursorの告知(10月30日更新)は、対象を2.1.312と2.1.313の2つの版としています。このうち2.1.312は、Open VSXに10月28日から公開されている正規の版と同じ番号です。Open VSXに正規の2.1.313はなく、版の並びは2.1.312の次が2.1.314です。
そこで、Open VSXから正規の2.1.312(Apple シリコンのMac向け)を取得し、パッケージファイルの指紋(SHA-256のハッシュ値)を、Cursorが2.1.312の改ざん版として公表した指紋と比べました。あわせて、筆者のMacのCursorに入っていた2.1.312の本体ファイルとも比べています。
正規の版(Open VSXと筆者のMac)
2.1.312
パッケージの指紋(SHA-256)
b851e43b…
本体ファイル extension.js
1195816b…、3,685,536バイト。Open VSXの版と筆者のMacの版で一致
改ざん版の目印の文字列
0件
改ざん版(Cursorが2.1.312として公表した値)
2.1.312
パッケージの指紋(SHA-256)
fcbb327e…
本体ファイル extension.js
ecb58cb2…、3,692,922バイト
改ざん版の目印の文字列
svc-telemetry、134.209.82.225 を含む
2026年10月31日、macOS 27.0.1、Cursor 3.26.16で確認。改ざん版の指紋はCursorの告知から、バイト数と目印はStepSecurityの解析から引用(StepSecurityは、この本体ファイルが2.1.312と2.1.313の改ざん版に共通だとしています)。改ざん版そのものは取得していません。
Cursorが2.1.312の改ざん版として公表した指紋は、Open VSXの正規の2.1.312の指紋と一致しませんでした。StepSecurityも訂正後の記事で、改ざん版は2.1.312と2.1.313の両方で、Open VSXの2.1.312は別物の正常なファイルだとしています。11月1日に公表した解析では、改ざん版の本体ファイルは、正規の2.1.312の本体ファイルの先頭に7,386バイトの不正なコードを足したものでした。
同じ版番号でも、改ざん版かどうかは本体ファイルの中身で確かめられます。Cursorの修復スクリプトにも、改ざん版は本物の版番号のままなので中身で照合する、という趣旨のコメントがあります。筆者のMacの2.1.312は、拡張の導入記録では10月28日10時14分(日本時間、フォルダの日時は10時16分)に入ったもので、改ざん版が配られる前でした。本体ファイルも正規の版と一致しています。
Macで影響の有無を確かめる4つの点検
次のコマンドは、ファイルを読むだけで、削除や変更はしません。ターミナルにまとめて貼り付けて実行できます。Cursorのほか、WindsurfやVSCodium、VS Codeなどのフォルダ(ホームフォルダ直下の「.」で始まるフォルダ)もまとめて調べます。
echo '--- 1. 入っているClaude Code拡張と、フォルダの日時 ---'
find -H ~/.[^.]* -maxdepth 2 -type d -path '*/extensions/anthropic.claude-code-*' -exec ls -ldT {} + 2>/dev/null
echo '--- 2. 改ざん版の目印がある拡張 ---'
find -H ~/.[^.]* -maxdepth 3 -path '*/extensions/anthropic.claude-code-*/extension.js' -exec grep -lE 'svc-telemetry|134\.209\.82\.225' {} + 2>/dev/null
echo '--- 3. 攻撃者のSSH鍵 ---'
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"
echo '--- 4. 自動起動の設定、置かれたファイル、動いているトンネル ---'
ls ~/Library/LaunchAgents/com.apple.sysmond.plist ~/.config/.smt ~/.config/.smtk 2>/dev/null
find "${TMPDIR:-/tmp}" /tmp/ -maxdepth 1 -name '.stk_*' 2>/dev/null
pgrep -fl '\.stk_|\.config/\.smt'
「---」で始まる行は、どの点検の結果かを示す見出しとして表示されます。4つの点検で見ているものは次のとおりです。
- 1の日時:拡張のフォルダの日時は、拡張を入れた時刻の目安です。改ざん版のあとに2.1.314へ更新済みだと、古い版のフォルダは消えていることがあります。痕跡の有無は3と4で確かめます。
- 2の目印:攻撃者のサーバーのIPアドレスと、鍵の名前が本体ファイルに含まれていないかを探します。
- 3の鍵:Cursorが告知している確認コマンドそのものです。「No key found; machine not impacted」と出れば、攻撃者の鍵は登録されていません。
- 4の痕跡:自動起動の設定ファイル、改ざん版が置くファイル、トンネルを保つプロセスを探します。
筆者のMacで実行した結果が次の出力です。1で3つの拡張フォルダが見つかり、2と4は見出しの行だけで、3は「No key found」でした。
--- 1. 入っているClaude Code拡張と、フォルダの日時 ---
drwxr-xr-x@ 9 user staff 288 Oct 27 14:58:53 2026 ~/.cursor/extensions/anthropic.claude-code-2.1.311-darwin-arm64
drwxr-xr-x@ 9 user staff 288 Oct 28 10:16:17 2026 ~/.cursor/extensions/anthropic.claude-code-2.1.312-darwin-arm64
drwxr-xr-x 8 user staff 256 Aug 23 14:52:26 2025 ~/.vscode/extensions/anthropic.claude-code-1.0.89
--- 2. 改ざん版の目印がある拡張 ---
--- 3. 攻撃者のSSH鍵 ---
No key found; machine not impacted
--- 4. 自動起動の設定、置かれたファイル、動いているトンネル ---
痕跡があるときの表示も確かめるため、目印の文字列だけを書いたダミーの拡張、鍵、ファイルを別のフォルダに作り、同じコマンドを実行しました(ホームフォルダと一時フォルダの場所を差し替えています)。改ざん版の拡張、鍵、自動起動の設定、置かれたファイルが、それぞれの見出しの下に表示されます。
--- 1. 入っているClaude Code拡張と、フォルダの日時 ---
drwxr-xr-x@ 3 user staff 96 Oct 31 06:40:43 2026 home/.cursor/extensions/anthropic.claude-code-2.1.311-darwin-arm64
drwxr-xr-x@ 3 user staff 96 Oct 31 06:40:43 2026 home/.cursor/extensions/anthropic.claude-code-2.1.313-darwin-arm64
--- 2. 改ざん版の目印がある拡張 ---
home/.cursor/extensions/anthropic.claude-code-2.1.313-darwin-arm64/extension.js
--- 3. 攻撃者のSSH鍵 ---
svc-telemetry key found
--- 4. 自動起動の設定、置かれたファイル、動いているトンネル ---
home/.config/.smt
home/Library/LaunchAgents/com.apple.sysmond.plist
tmp/.stk_0123456789
どちらも2026年10月31日、macOS 27.0.1のzsh 5.9を対話モード(個人設定なし、zsh -f -i)で起動し、貼り付けと同じ形でコマンドを流して実行。ユーザー名とダミー環境の場所は短く書き換えています。
Windowsでは、PowerShellで実行する確認コマンドと修復スクリプトがCursorの告知に載っています。
改ざん版の痕跡が見つかったときの対応
4つの点検の結果に応じて、次の流れで対応します。改ざん版が置いた自動起動の設定は、拡張を消しても動き続けます。2〜4のどれかで見出し以外の行が表示された場合は、拡張を消すだけで終わらせず、次の手順まで進めます。
確認
点検2〜4で、見出し以外に目印・鍵・ファイル・プロセスのどれかが表示された?
点検2・4は見出しだけ、3は「No key found」
拡張を2.1.314以降へ更新
エディタの拡張の画面で版を確かめて更新します。2026年11月8日時点のOpen VSXの最新版は2.1.319です。
どれかが表示された
修復スクリプト → 認証情報の入れ替え
下の4つの手順を順に進めます。個人のMacは手順2からです。
- 会社のMacなら先に連絡する:社内のセキュリティ担当へ連絡し、指示に従ってネットワークから外します。痕跡を消す前に、Cursorは端末を隔離するよう勧めています。
- Cursorの修復スクリプトを実行する:cursor.com のremediate-macos.shを保存します。50行ほどの短いスクリプトなので、テキストエディタで中身を確かめてから、影響を受けたユーザーのまま(sudoを付けずに)
bash remediate-macos.shで実行します。改ざん版の拡張、自動起動の設定、トンネルのプロセス、置かれたファイル、攻撃者の鍵を取り除き、最後に「done: backdoor removed」などの結果を表示します。 - 拡張を入れ直す:2.1.314以降を入れます。
- 認証情報を入れ替え、必要ならMacを作り直す:GitHubなどのトークン、クラウドのキー、SSH鍵、パッケージ公開用のトークンなど、そのMacから使えた認証情報を、別の安全な端末から無効にして作り直します。修復スクリプトが「note: something listens on localhost:22; the tunnel exposed it」と表示した場合は、MacがSSHの接続を受け付けていて、トンネルを通じて外から接続できる状態だったことを示します。この表示が出た場合は、Macを初期化して作り直すことも検討します。
出典: Cursorの告知、StepSecurityの解析、修復スクリプトの内容(2026年10月31日に取得)
修復スクリプトは、何も見つからなければ「clean: no backdoor found」と表示して終わります。
まずは4つの点検を実行し、拡張を2.1.314以降へ
Cursorでマーケットプレイスから拡張を自動更新している人は、日本時間10月29日の夕方から翌朝に改ざん版を受け取った可能性があります。改ざん版は2.1.312や2.1.313と表示され、Cursorによると正規版と同じ番号を名乗るものもあったため、確かめるには拡張の中身を調べます。
上の4つの点検は数秒で終わります。見出しの行と「No key found」だけなら拡張を2.1.314以降へ更新し、ほかに表示されたものがあればCursorの修復スクリプトと認証情報の入れ替えへ進んでください。












