セキュリティ CursorでClaude Code拡張が改ざん、SSHバックドアを仕掛けた。消しても鍵は残る、まず authorized_keys の確認を Cursorは2026年10月29日(米国時間)、同社の拡張機能マーケットプレイスで配布されたClaude Code拡張の2.1.312と2.1.313(Windows・macOS向け)に悪意ある改ざんがあったと公表。攻撃者のSSH鍵の追加や端末情報の送信を試みる内容で、拡張を消しても鍵や常駐の仕組みは残る。対象の見分け方と公式の確認・除去手順を整理した
まず初めに
拡張機能は、エディタの玄関に合鍵を預けるようなものである。便利だから預ける。だが今回、預けた先の合鍵ボックスに、見知らぬ誰かの合鍵が1本増えていた。しかも増えた合鍵は、拡張機能を捨ててもボックスの中に居座り続ける。怖さの本質は派手な侵入劇ではなく、この「消しても残る」の一点にある。慌てる必要はない。ただし、確認を先送りにしていい話でもない。
※個人の感想です
何が起きたのか
Cursorは2026年10月29日、自社のセキュリティ通知で、Cursor VS Code Extension Marketplace で配布されていた Anthropic.claude-code の2.1.312と2.1.313(Windows・macOS向け)に悪意ある改ざんがあったと明らかにしました。同社は、これらの悪意あるバージョンは Anthropic が開発したものではないと明言しています。
配布されていた時間帯は、太平洋時間の10月29日午前2時27分ごろから午後1時35分ごろまでの約11時間です。日本時間に直すと、10月29日18時27分ごろから10月30日5時35分ごろにあたります。夜の間に自動更新が走る設定だった場合、本人が気付かないうちに対象バージョンへ更新されていた可能性があります。
Cursorは同日中に該当バージョンを削除して配布を止め、念のためマーケットプレイス全体を一時停止しました。その後、アクセスを監査して他の拡張機能への改ざんは確認されなかったとし、自社の鍵を入れ替えてマーケットプレイスを再構築し、復旧させたと説明しています。影響を受けた可能性のある利用者は最大で約5,000人と、複数の海外メディアがCursorの説明として伝えています。なお、Cursorの公式通知そのものには利用者数の記載はありません。
通知は10月30日午前11時30分(太平洋時間)に更新され、対象バージョンと侵害の痕跡(IoC)が明確化されました。当初は2.1.313だけが名指しされていましたが、更新で2.1.312も対象に加わっています。バージョン番号が同じ正規版が他の配布経路には存在するため、「2.1.312を使っている」こと自体ではなく、「その時間帯にCursor経由で入れたか」が判定の軸になります。
改ざん版がしようとしていたこと
Cursorの通知と、Microsoftの脅威インテリジェンス部門による10月30日付の分析を合わせると、改ざん版の動きは大きく4段階です。Microsoftによると、仕掛けは拡張モジュールが読み込まれる時点で動き始めます。利用者がClaudeとの対話を開く必要はありません。
段階
内容
拡張を消した後
情報の収集・送信
ホスト名、ユーザー名、OS、アーキテクチャ、ホームディレクトリ、作業ディレクトリ、設定済みのGitメールアドレス、公開IPアドレスを収集し、認証情報 らしい名前の環境変数を最大40件まで集めて外部へ送信
送信済みのものは戻らない
鍵の追加
攻撃者の公開鍵(コメントは svc-telemetry)を ~/.ssh/authorized_keys に追加
残る
接続の試行
ローカルのSSHサービスの有効化と、攻撃者側サーバーへのリバースSSHトンネルの確立を試行
大半の環境では失敗したとされる
常駐化
macOSでは LaunchAgent「com.apple.sysmond」、Windowsでは SYSTEM 実行を試みるスケジュールタスク「SysMon」(失敗時はスタートアップフォルダのスクリプト)。Linux向けの痕跡として ~/.config/.smt 等と cron の @reboot 項目も公表されている。約60秒ごとに再接続を試行
残る
接続先として公表されたIPアドレスは 134[.]209[.]82[.]225 で、外部への送信にはポート8099も使われていました。この攻撃者側サーバーは、Cursorがホスティング事業者と連携してオフラインにしたとされています。
一方で、遠隔ログインの確立まで至らなかった環境が大半だったと、Cursorと分析したセキュリティ企業はいずれも指摘しています。理由は仕掛け自体の不具合と権限の壁です。SSHサービスの有効化には管理者権限が必要で、通常の権限で動く拡張機能にはその権限がありません。macOSでは、SSHの状態を確認するコマンドが権限不足でも正常終了に見える作りだったため、有効化の手順自体が飛ばされていたと分析されています。管理者権限でエディタを起動していた環境や、もともとSSHが有効だった端末では、この前提は崩れます。
Cursorのセキュリティ通知とMicrosoft Security Blogの分析をもとにIT Post編集部が作成した図解です。 IT Post編集部
影響を受けない配布経路
Microsoftは、自社の Visual Studio Marketplace と、npm の @anthropic-ai/claude-code については、悪意あるパッケージが公開・配布されたことはなく、影響を受けていないと確認したと述べています。AnthropicもMicrosoftに対し、自社のシステムは侵害されておらず、悪意あるパッケージを開発したものではないと確認したということです。
つまり今回の問題は、Claude Code そのものや Anthropic のシステムではなく、Cursor が運営する配布経路に、正規品を装った改ざん版が短時間並んだことにあります。VS Code 本体や他のエディタで正規経路から入れた人は、この件の対象ではありません。
開発ツールの配布経路が狙われる構図そのものは、今回が初めてではありません。たとえば、複数のAIモデルをつなぐゲートウェイ「LiteLLM」が盗まれた認証情報から改ざんされた件(LiteLLMのサプライチェーン攻撃を確かめた記事 )や、更新の仕組みを突かれたバックアップソフトの件(AOMEIを狙ったサプライチェーン攻撃の記事 )でも、同じ構図が現れました。道具が強力になるほど、その配布経路が狙われます。
対象かどうかの確認と、見つけた場合の手順
Cursorは、対象の時間帯に当該バージョンを入れた可能性がある人へ、次の順序での対応を示しています。ここは手順のパートです。順番を飛ばさないでください。
鍵の有無を確認する。 macOSではターミナルで grep svc-telemetry ~/.ssh/authorized_keys を実行し、svc-telemetry の鍵があるかを探します。Windowsでは PowerShell で、ユーザーフォルダの .ssh\authorized_keys と C:\ProgramData\ssh\administrators_authorized_keys の両方を確認します。Cursorの通知には、そのまま使える確認コマンドが載っています。
鍵が見つかったら、その端末を隔離する。 ネットワークから切り離し、その端末で使っていた認証情報の変更作業は、その端末上では行いません。
公式の除去スクリプトを実行する。 Cursorは macOS用とWindows用の修復スクリプトを通知ページで配布しています。拡張機能の削除、鍵の除去、常駐の仕組みと動作中のトンネルの停止までを行う内容です。拡張機能を最新版(2.1.314と報じられている版)へ更新するだけでは、鍵や常駐の仕組みは消えません。
認証情報を入れ替える。 影響を受けた端末から触れた可能性のある認証情報やセッションは、信頼できる別の端末から入れ替えます。環境変数の「名前」だけが送られた段階でも、その後の侵入の可能性まで含めて扱うのがCursorの示す方針です。
勤務先の端末なら、情シスやセキュリティ担当へ連絡する。 個人で抱え込まず、組織のインシデント対応に載せてください。端末の再構築が必要かどうかの判断も、組織側の基準で決まります。
鍵が見つからなかった場合は、この件に関する追加作業は示されていません。ただし、拡張機能の自動更新の設定や、配布元の確認という日常の点検までは否定されません。
IT Postの見方
IT Postでは、今回の件で一番重いのは「攻撃が大半で失敗した」という安心材料ではなく、「失敗しても残るものが残った」という設計のほうだと考えます。鍵の追加と常駐化は、接続の成否とは別に成立してしまう。つまり攻撃者の出来・不出来に、利用者の後始末の量は比例しない。ここが、普通のウイルス騒ぎと違うところだ。
もう一つ。AIコーディング支援の拡張は、端末の中でかなり深い場所まで手を伸ばせる道具だ。ファイルを読めて、コマンドを実行できて、認証情報の近くに住んでいる。その道具の配布経路が11時間だけすり替わっただけで、確認すべき場所は ~/.ssh の中、LaunchAgent の中、タスクスケジューラの中に広がった。便利さの深さと、疑うべき場所の広さは、残念ながら比例する。
Cursorの対応自体は速かった。検出当日に削除、市場全体の停止、鍵の入れ替え、再構築、攻撃側サーバーの停止、修復スクリプトの配布までを数日で並べている。問題は「なぜ正規品を装えたのか」という侵入経路の説明が、現時点の通知ではまだ薄いことだ。ここが出てくるまでは、この件は終わっていない。
今後どうなりそうか
Cursorは通知の更新で対象範囲と痕跡を明確化しましたが、改ざん版がどのようにしてマーケットプレイスへ登録されたのか、その経路の説明は今後の続報待ちです。利用者への個別連絡の状況や、他の配布経路での追加確認が出る可能性もあります。続報で侵入経路や影響範囲の確定値が出れば、この記事の続報として追います。
利用者側に残る教訓は単純です。拡張機能の自動更新は便利ですが、AI支援ツールのように深い権限を持つ道具については、更新の履歴と配布元を時々眺めるだけでも意味があります。そして、今回のような「消しても残る」型の騒ぎでは、バージョンを戻す・上げるという反射だけで片付けず、公式が示す残留物の確認までを1セットにすることです。