
2026年10月29日(米国太平洋時間)、AIコードエディターのCursorが、自社のVS Code拡張機能マーケットプレイスで改ざんされた「Anthropic.claude-code」バージョン2.1.313が配布されていたと発表しました。正規のClaude Code拡張と同じIDのまま「通常のアップデート」として届き、端末にSSHバックドアを仕込もうとするものでした。影響を受けた可能性があるユーザーは最大5,000名とされています。
「いつも使っている公式拡張を、いつもどおり更新しただけ」で被害に遭いうる、という点でかなりショッキングな事案です。今回は、何が起きたのか、どれくらい深刻なのか、そして自分の端末が影響を受けていないかの確認方法と対策を整理します。
3行でわかる今回の事案
- 対象はCursorのマーケットプレイス経由のみ:CursorでClaude Code拡張 2.1.313 をインストール/更新した人が対象。Microsoft公式のVS Code MarketplaceやOpen VSX、npmのClaude Code CLIで同バージョンが配布された形跡は確認されていません。
- 拡張を消すだけでは不十分:攻撃者のSSH公開鍵の追加と、OS起動時に動く永続化スクリプトの設置が行われるため、拡張をアンインストール・更新しても痕跡が残ります。
- 確認は1行のコマンドで可能:
authorized_keysにsvc-telemetryという鍵が入っていないかをチェックし、見つかったらCursorの修復スクリプトを実行します。
何が起きたのか
Cursorの発表によると、悪意あるバージョンが公開されていたのは10月29日 午前2時27分〜午後1時35分(太平洋時間)の約11時間です。日本時間に直すと10月29日 18時27分〜10月30日 5時35分にあたります。日本では夕方から翌朝にかけての時間帯で、夜にCursorを起動して自動更新が走った人は対象になり得ます。
Cursorによれば、この版はAnthropicが開発したものではありません。ただし、偽物の別名拡張ではなく、正規の拡張ID(anthropic.claude-code)の新バージョンとして配布された点が今回の怖さです。利用者側から見れば、公式拡張がいつもどおり更新されたようにしか見えません。
悪意あるコードがやろうとしたこと
改ざんされた拡張は、本来のコードの前に不正なローダーを差し込んだもので、起動すると次の動作を試みます。
- 端末情報の収集:ホスト名、ユーザー名、OS・アーキテクチャ、ホームディレクトリ、環境変数の名前、作業ディレクトリ、Gitに設定したメールアドレス、グローバルIPなど。
- バックドアの設置:攻撃者のSSH公開鍵を
authorized_keysに追加し、ローカルのSSHサービスを有効化してリバースSSHトンネルを張ろうとする。 - 永続化:macOSではLaunchAgent、Windowsではスケジュールタスク(失敗時はスタートアップフォルダのスクリプト)を登録し、約60秒ごとにトンネルへの再接続を試みる。
- 攻撃者への報告:ポート8099の
/beaconへ、端末情報とバックドアの状態をHTTP POSTで送信する。
Cursor・Anthropicの対応
Cursorは検知後ただちに該当バージョンを削除して配布を止め、念のためVS Code拡張マーケットプレイス全体をいったん停止しました。そのうえで他の拡張が改ざんされていないことを監査し、鍵をローテーションしてマーケットプレイスを再構築・再開しています。攻撃者のサーバーもホスティング事業者と連携して停止済みです。
一方Anthropicは、技術スタッフのFelix Rieseberg氏がX上で、同社のシステムや従業員の端末が侵害されたわけではなく、何者かがCursorのマーケットプレイスへのアクセスを使って改ざん版を公開したものだと説明しています。公式チャネルの配布物は影響を受けておらず、影響はCursorユーザーに限られるという立場です。
ただし、攻撃者がどうやって正規IDで公開できたのかは、本記事執筆時点で両社とも具体的に説明していません。初報の段階では「Open VSXにも公開された」とする研究者の報告もありましたが、その後Cursor側の説明を受けて訂正されるなど、情報が錯綜した経緯があります。
深刻度:「最悪」ではないが、軽視はできない
今回はソフトウェアの脆弱性ではなく、配布経路が悪用されたサプライチェーン攻撃のため、CVE番号やCVSSスコアは付いていません(今後も付かない可能性が高いです)。そこで、発表内容から深刻度を整理してみます。
| 観点 | 状況 | 評価 |
|---|---|---|
| 攻撃の手口 | 正規の拡張IDで「アップデート」として配布。利用者が見分けるのはほぼ不可能 | 高 |
| 影響範囲 | 最大5,000名(Cursor経由で約11時間内にインストール/更新した人) | 中 |
| 情報の送信 | 端末情報・Gitメール・グローバルIPなどは送信された前提で考えるべき | 中〜高 |
| リモートログイン | コードの不具合と権限不足により、管理者権限でCursorを起動していたケースを除き失敗 | 低(例外あり) |
| 痕跡の残存 | SSH鍵と永続化スクリプトは拡張削除後も残る | 高 |
| 現時点の脅威 | 攻撃者のサーバーは停止済みで、トンネルや情報送信は機能しない | 低 |
まとめると、「多くの端末で実際に乗っ取られた」可能性は低いものの、「乗っ取りの準備が整った状態で放置されている」端末は少なくない、というのが実態に近い評価です。攻撃者の鍵が authorized_keys に残っている限り、将来SSHサービスが有効化されたり、別の手段で接続経路ができたりすれば、そのまま入口になり得ます。セキュリティ各社もおおむね「High(高)」と位置づけています。
特に注意したいのは、Cursorを管理者権限で起動していた端末です。この場合はSSHサービスの有効化とトンネルの確立まで成功していた可能性があり、攻撃者が実際にログインできた前提で調査する必要があります。
自分が対象かどうかを確認する
次のいずれかに当てはまらなければ、今回の件の直接の対象ではありません。
- Cursor(エディター)を使っていて、Claude Code拡張をインストールしている
- 日本時間 10月29日18時27分〜10月30日5時35分の間に、その拡張をインストールまたは更新した(自動更新を含む)
本家VS CodeでClaude Code拡張を使っている場合や、ターミナルでClaude Code CLI(npmの @anthropic-ai/claude-code)だけを使っている場合は、現時点で影響は報告されていません。とはいえ、時間帯の記憶はあいまいなことが多いので、Cursorユーザーは下のコマンドで一度確認しておくのが確実です。
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" }
「svc-telemetry key found」と表示されたら、その端末は影響を受けています。次の手順に進んでください。
影響を受けていた場合の対処
Cursorが案内している手順を、実務の順番に沿って整理すると次のとおりです。
- 端末を隔離する:社内ネットワークやVPNから切り離し、情報システム部門・セキュリティ担当に報告します。
- 修復スクリプトを実行する:悪意ある拡張、永続化の仕組み、実行中のトンネルプロセス、攻撃者のSSH鍵をまとめて削除します。何かが残っていれば0以外の終了ステータスで知らせてくれます。
- 再構築(クリーンインストール)を検討する:特に管理者権限でCursorを起動していた端末は、実際にログインされた可能性を前提に、OSの再構築まで視野に入れます。
- 認証情報をローテーションする:その端末からアクセスできたAPIキー、クラウドの認証情報、GitHubトークン、SSH鍵、各種セッションを、別の安全な端末から無効化・再発行します。収集されたのは環境変数の名前だけですが、バックドア経由で中身を読まれた可能性は否定できないためです。
修復スクリプトの実行方法
macOS:remediate-macos.sh をダウンロードし、保存したフォルダでrootではなく影響を受けたユーザーとして実行します。
bash remediate-macos.sh
Windows:remediate-windows.ps1 をダウンロードし、「管理者として実行」で起動したPowerShellで保存先に移動してから実行します。
powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1
スクリプトは必ずCursor公式サイト(cursor.com)から取得してください。この種の事件のあとは「修復ツール」を装った二次的な詐欺が出回ることがよくあります。
手動で確認したい場合の主な痕跡(IoC)
組織でEDRやログ基盤を使っている場合は、次の痕跡で横断検索できます(全項目はCursorの発表を参照してください)。
| 種類 | macOS | Windows |
|---|---|---|
| SSH鍵 | ~/.ssh/authorized_keys 内のコメント svc-telemetry の鍵(フィンガープリント SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk) | |
| 永続化 | ~/Library/LaunchAgents/com.apple.sysmond.plist | スケジュールタスク SysMon、スタートアップの sysmon.cmd |
| ファイル | ~/.config/.smt、~/.config/.smtk、$TMPDIR/.stk_* | %USERPROFILE%\.config\smt.cmd、%USERPROFILE%\.config\smtk、%TEMP%\.stk_* |
| 通信先 | 134[.]209[.]82[.]225(TCP 22へのSSH、TCP 8099の /beacon へのPOST) | |
| 拡張フォルダ | anthropic.claude-code-2.1.313-* 内の extension.js に上記IPと svc-telemetry の文字列 | |
名前が com.apple.sysmond や SysMon と、いかにもOS標準の監視機能のように偽装されている点に注意してください。また、グローバルIPの確認に使われた ifconfig.me や api.ipify.org は正規サービスなので、アクセス履歴があるだけでは侵害の証拠にはなりません。
今回の件から学べる、今後の予防策
今回のケースは利用者側にほぼ落ち度がなく、「公式の拡張だから安全」という前提そのものが崩れた事案です。完全に防ぐのは難しいですが、被害を小さくするためにできることはあります。
- エディターを管理者権限で起動しない:今回、大半の端末でトンネル確立が失敗したのは権限が足りなかったからです。最小権限の原則がそのまま防御になりました。
- 拡張機能の自動更新を見直す:業務端末では自動更新を止める、もしくは公開直後のバージョンをすぐ入れない運用(数日寝かせる)も選択肢です。利便性とのトレードオフなので、組織の方針として決めておくのがよいでしょう。
- 使う拡張を絞り、許可リストで管理する:入れている拡張が少ないほど、こうした事案の影響を受ける確率も下がります。
authorized_keysと自動起動項目を監視する:開発者の端末でSSHサーバーを使っていないなら、authorized_keysの変更やLaunchAgent/スケジュールタスクの追加は強い異常シグナルです。EDRの検知ルールに入れておく価値があります。- 開発端末に長期有効な認証情報を置かない:環境変数や設定ファイルに本番のキーを平文で置いていると、侵害時の被害が一気に広がります。短命なトークンやシークレット管理ツールの活用を進めましょう。
- ベンダーのセキュリティ告知を追える体制を作る:今回のように「CVEが出ない」事案は脆弱性管理の網から漏れがちです。使っている開発ツールの公式ブログやステータスページを定期的に確認する担当を決めておくと安心です。
まとめ
今回の事案は、AIコーディングツールの拡張機能という「開発者が最も信頼して使うもの」が、正規の名前のまま攻撃の運び屋になったという意味で、非常にインパクトの大きいものでした。幸い、攻撃コードの不具合や権限の壁によって多くの端末ではリモートログインまでは至らず、攻撃者のサーバーも停止済みです。
それでも、攻撃者の鍵と永続化の仕組みは、拡張を更新・削除しても端末に残り続けます。Cursorを使っている方は、心当たりがなくても上のコマンドで一度確認しておくことを強くおすすめします。そして、どうやって正規IDで公開されたのかという根本原因はまだ明らかになっていません。続報が出たら、あらためて整理したいと思います。
本記事は、Cursorの公式セキュリティ告知および各種報道・セキュリティ企業の分析(2026年10月31日時点の情報)をもとに整理したものです。日本時間は米国太平洋夏時間(UTC-7)から換算しています。深刻度の評価は公表情報をもとにした本記事独自の整理であり、公式の評価ではありません。侵入経路など未解明の点も多く、今後の調査で内容が更新される可能性があるため、対応にあたっては必ず最新の公式情報をご確認ください。
参考情報
- セキュリティに関するお知らせ — Cursor 拡張機能マーケットプレイスで Anthropic.claude-code の悪意あるバージョン(2.1.313)を確認(Cursor)
- Anthropic: That Claude Code extension compromise… couldn’t be us(The Register)
- Official Claude Code Extension on Cursor Marketplace Trojanized with Persistent SSH Backdoor(The Hacker News)
- Compromised Claude Code Extension (2.1.313) in Cursor Marketplace Plants Attacker SSH Key and Persistence(OX Security)
- Trojanized Claude Code Extension Delivered Persistent SSH Backdoor to Developer Machines(StepSecurity)
- Official Claude Code VSX compromise(Phorion)
- Trojanized Claude Code Extension 2.1.313 in Cursor Marketplace Plants SSH Backdoor(Rescana)