[開発者向け]CursorでClaude Code拡張機能の悪意あるバージョンが配布——影響確認と修復の手順

目次

はじめに

 Cursorは2026年10月29日、同社のVS Code拡張機能マーケットプレイスで、Claude Code拡張機能を改ざんした悪意あるバージョンが配布されていたと公表しました。本稿では、この告知をもとに、何が起きたのか、自分の環境が影響を受けたかの確認方法と修復手順を整理して解説します。

参考記事

  • タイトル: セキュリティに関するお知らせ — Cursor VS Code 拡張機能マーケットプレイスで Anthropic.claude-code の悪意あるバージョン(2.1.312 および 2.1.313)を確認
  • 著者: Cursor
  • 発行元: Cursor
  • 発行日: 2026年10月29日(2026年10月30日更新)
  • URL: https://cursor.com/ja/blog/claude-code-extension-security-notice

関連記事

あわせて読みたい
[ニュース解説]GitHubがDependabotに「3日待つ」仕組みを導入——サプライチェーン攻撃対策の新デフォルト はじめに  GitHubは2026年7月23日、依存関係管理ツール「Dependabot」のバージョン更新機能に、新しいリリース公開から少なくとも3日間プルリクエストの発行を待つ「ク...
あわせて読みたい
[開発者向け]AIが生成した「架空パッケージ」を乗っ取る——スロップスクワッティング攻撃の仕組みと防御策 はじめに  開発者のNazar Boyko氏がdev.toで、AIが存在しないパッケージ名を提案し、それを攻撃者が乗っ取る「スロップスクワッティング(Slopsquatting)」について解説...

要点

  • Cursorのマーケットプレイスで、改ざんされたAnthropic.claude-code 2.1.312と2.1.313(Windows・macOS版)が配布された。
  • 配布期間は2026年10月29日の太平洋時間2時27分頃から13時35分頃までである。
  • 拡張機能はホスト情報の送信、攻撃者のSSHキーの追加、永続化の仕組みの設置を行った。
  • 攻撃者のサーバーはすでに停止しているが、該当者には確認と修復の実施が求められている。

詳細解説

何が起きたのか

 Cursorによれば、2026年10月29日の太平洋時間(PT)午前2時27分頃から午後1時35分頃までの間、AnthropicのClaude Code拡張機能を悪意をもって改変したバージョンが、CursorのVS Code拡張機能マーケットプレイスで公開されていました。対象は Anthropic.claude-code バージョン2.1.312および2.1.313(Windows版・macOS版) です。これらはAnthropicが開発したものではなく、Cursorはcursor.com/marketplaceからダウンロードされたその他の拡張機能や、Grok Bot、Grok、同社のその他のSpaceXSI製品には影響がないとしています。日本時間に直すと、10月29日の18時27分頃から翌30日の5時35分頃にあたります。

 この拡張機能は悪意あるコードを実行し、永続的なSSHバックドア(攻撃者が後から遠隔でログインするための裏口)の設置を試みます。具体的な動作は次のとおりです。

  • ホスト・ユーザー情報の収集と送信: ホスト名、ユーザー名、OS、アーキテクチャ、ホームディレクトリのパス、環境変数名、作業ディレクトリ、設定済みのGitメールアドレス、パブリックIPを収集し、攻撃者に報告する
  • SSHキーの追加とトンネル確立の試み: 攻撃者が管理するSSHキーを authorized_keys に追加し、ローカルのSSHサービスを有効にして、リバースSSHトンネルを開こうとする。ただし悪意あるコード内のエラーにより、Cursorを管理者権限で起動していた極めて稀なケースを除いて、このステップは失敗する
  • 永続化: macOSではLaunchAgent、WindowsではSYSTEM権限での実行を試みるスケジュールタスク(失敗時はスタートアップスクリプトにフォールバック)を使い、リバースSSHトンネルの永続化を図る。バックグラウンドのスクリプトが約60秒ごとに再接続を試みる

 authorized_keys は、SSHでログインを許可する公開鍵を列挙したファイルです。ここに攻撃者の鍵が書き込まれると、パスワードなしでログインできる状態が作られます。また、リバースSSHトンネルは、被害端末の側から外部サーバーへ接続を張り、その経路を逆向きに使って外部から端末へ入り込む手法です。社内ネットワークのファイアウォール(外部からの接続を遮断する仕組み)を内側から迂回できるため、バックドアでよく使われる手口だと考えられます。

現時点での影響範囲

 Cursorは、攻撃者のサーバーはすでに停止していると明言しています。補足として次の点が示されています。

  • サーバーをホストしていたクラウドプロバイダーと連携してオフラインにしたため、リバースシェルとホスト情報の送信(POST)は機能しない
  • 今回の指摘は特定されたパッケージに関するもので、拡張機能の他のバージョンや公式の配布版が影響を受けている証拠は確認されていない
  • ローカルのSSHサービスを有効にするには管理者権限が必要で、ほとんどのmacOS・Windowsホストでは悪意ある拡張機能にその権限がない。そのため、そうしたホストで攻撃者がトンネル経由でログインできた可能性はない
  • ただし、攻撃者のSSHキーの追加、永続化の仕組みの設置、ホスト情報の送信は実行された。そのため、いずれの場合も修復手順の実施が必要である

 「ログインはされていないはず」という情報と「それでも対応は必須」という情報が並んでいる点は重要だと思います。鍵と永続化スクリプトが端末に残ったままだと、将来ほかの条件がそろったときに悪用される余地が残るため、本稿としても、該当者は手順どおりに対処しておくのが安全だと考えています。

Cursorが実施した対応

 Cursorは、次の対応を行ったと説明しています。

  • 悪意あるバージョンを検出後ただちにマーケットプレイスから削除して配布をブロックし、万全を期してマーケットプレイスを全面停止した
  • アクセス状況を監査し、他の拡張機能が改ざんされていないことを確認した
  • キーをローテーション(新しいものに入れ替えること)し、マーケットプレイスを再構築したうえでサービスを再開した
  • ホスティングプロバイダーと連携して悪意あるサーバーをオフラインにし、同サーバーへの接続をブロックした

該当するユーザーが取るべき対応

 対象となるのは、2026年10月29日 午前2時27分(PT)から午後1時35分(PT)までの間に、macOSまたはWindows上で、CursorのVS Code拡張機能マーケットプレイスからAnthropic.claude-code 2.1.312または2.1.313をインストールまたは更新した人です。該当する場合、Cursorは次の5つの対応を求めています。

  1. 後述のコマンドを実行し、影響を受けているかどうかを確認する
  2. エンドポイント、ネットワーク、拡張機能のインストールに関するテレメトリ(動作記録)を横断して、後述の侵害の痕跡(IoC)を検索する
  3. ペイロード(攻撃用の本体コード)の実行やバックドア設置の痕跡が見られるホストを隔離する
  4. 不正なSSHキー、永続化の仕組み、実行中のトンネルプロセスを削除し、ホストを再構築すべきかどうかを判断する
  5. 影響を受けたホストからアクセス可能な認証情報とセッションを、信頼できる別のシステム上でローテーションする

 注意: 4について、Cursorは拡張機能をアンインストールするだけでは不十分な場合があるとしています。ペイロードは独立した永続化スクリプトを配置するため、拡張機能を削除した後も動き続けます。また5について、収集された環境変数が限定的であっても、その後バックドア経由で認証情報にアクセスされた可能性は否定できないとしています。APIキーやクラウドの認証情報を環境変数やファイルで扱っている開発者は、念のため入れ替えておくのが無難だと思います。

影響を受けているかを確認する

 悪意ある拡張機能は、svc-telemetry というラベル(コメント)が付いた攻撃者の公開鍵を、SSHの authorized_keys に追加します。以下のコマンドで、このラベルを持つ鍵があるかを確認できます。

 macOSでは、ターミナルで次のコマンドを実行します。~/.ssh/authorized_keys の中から svc-telemetry という文字列を探し、見つかれば「svc-telemetry key found」、なければ「No key found; machine not impacted」と表示します。

grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"

 grep の -q は結果を画面に出さずに「見つかったかどうか」だけを返すオプション、-s はファイルが存在しない場合のエラー表示を抑えるオプションです。

 Windowsでは、PowerShellで次のコマンドを実行します。1行目でユーザー用と管理者用の authorized_keys のうち実在するファイルを集め、2行目でその中に svc-telemetry が含まれるかを調べます。

$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" }

 鍵が見つかった場合、そのマシンは影響を受けています。Cursorは、前述のステップ3〜5を実施したうえで、次の修復スクリプトを実行するよう案内しています。

影響を受けたマシンの修復

 Cursorが提供する修復スクリプトは、悪意ある拡張機能、永続化の仕組み、実行中のトンネルプロセス、攻撃者のSSHキーを削除します。いずれかが残っている場合は、0以外の終了ステータス(処理が完全には成功しなかったことを示す値)で終了します。

 macOSでは、macOS用の修復スクリプト(remediate-macos.sh)をダウンロードし、保存先のフォルダで、rootではなく影響を受けたユーザーとして実行します。

bash remediate-macos.sh

 Windowsでは、Windows用の修復スクリプト(remediate-windows.ps1)をダウンロードし、「管理者として実行」で起動したPowerShellで保存先のフォルダに移動してから実行します。

powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1

 -ExecutionPolicy Bypass は、このコマンドで起動するPowerShellに限って、スクリプト実行の制限を一時的に外すオプションです。

 注意: 実行前に、スクリプトがCursorの公式ドメイン(cursor.com)から取得したものであることを確認してください。インシデント直後は、修復ツールを装った偽のファイルが出回ることもあるため、入手元の確認は欠かせないと思います。また、スクリプトの終了ステータスが0以外だった場合は何かが残っている可能性があるため、ホストの再構築も含めて検討するのが安全だと考えられます。

侵害の痕跡(IoC)

 IoC(Indicators of Compromise)は、攻撃を受けた形跡を見つけるための手がかりの一覧です。セキュリティ製品やログ検索に登録して使います。以下のIPアドレスやURLは、誤ってアクセスしないよう [.] や hxxp に書き換えた表記(無害化表記)のまま記載しています。

パッケージ バージョン2.1.312

  • 改ざんされたVSIXのSHA-256(darwin-arm64): fcbb327e38e61c4fec795e0d0591f52cd1014b813d20a5912104953c3a17c364(MD5 e0d64d53e802a0217ba6f0e656ed2f20)
  • 改ざんされたVSIXのSHA-256(win32-x64): 3de1722901165769893bef57c72594e9a54459faa23f3091b136b79966edd081(MD5 bd3b71ddf3d0cc3af76249afd2c0eda1)

パッケージ バージョン2.1.313

  • 改ざんされたVSIXのSHA-256(darwin-arm64): 80402fdcad8799285fd93044976973ca000da7995fb93363f819bb8e4f84ee6c(MD5 34e491161e056c9b899a79b602ac73b9)
  • 改ざんされたVSIXのSHA-256(win32-x64): 6786ec90cbd45949695bd7805c9fbb26cfc91bc5fc897de0183d9bcb9cb21731(MD5 7838a3be2ca0ff08c1bdb160ef516d39)

 VSIXは、VS Code系エディタの拡張機能を配布するためのパッケージ形式です。SHA-256やMD5はファイルの「指紋」にあたるハッシュ値で、手元のファイルと照合すれば同一のものかを判定できます。

ペイロード

  • 改ざんされたコード: 拡張機能フォルダ内にある、2.1.312および2.1.313の extension.js(Darwin版・Windows版とも)に、134[.]209[.]82[.]225 と svc-telemetry が含まれる
  • SHA-256: ecb58cb29078d9646ad1dcdbe51526f2d9cfea06be5fb2ab183e8ecc3ab6bf15
  • MD5: f49bcd657ef1e626e85ce858958c1769

ネットワーク

  • 攻撃者のエンドポイント: 134[.]209[.]82[.]225
  • リバースSSH: tunnel@134[.]209[.]82[.]225、TCP 22
  • 外部ビーコン: hxxp://134[.]209[.]82[.]225:8099/beacon(HTTP POST)
  • ローカルビーコンの試行: 127[.]0[.]0[.]1:8099/beacon(HTTP POST、ループバック)
  • ifconfig[.]me / api[.]ipify[.]org へのパブリックIPの照会。いずれも正規のサービスで、アクセスしただけでは侵害の痕跡とはみなされない

SSH

  • 不正な公開キー: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDdvylCEJ/k2TpezcTfedrkHyFSK9IZ3vmP6vhY4Ss0P svc-telemetry
  • 不正なキーのフィンガープリント: SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk
  • リバーストンネル用キーのフィンガープリント: SHA256:KOAU57+ZG6u3MG4WwzPzPX2O5YEe9qdOC1Bl+6MVyDQ
  • キーのコメント: svc-telemetry

ファイルと永続化

  • Linux / macOS: ~/.ssh/authorized_keys 内の不正なキー、~/.config/.smt、~/.config/.smtk
  • Linux: /tmp/.stk_<10 hex>、cron @reboot /bin/sh "<HOME>/.config/.smt"
  • macOS: $TMPDIR/.stk_<10 hex>、~/Library/LaunchAgents/com.apple.sysmond.plist(ラベル com.apple.sysmond)
  • Windows: %USERPROFILE%\.ssh\authorized_keys、%USERPROFILE%\.config\smt.cmd、%USERPROFILE%\.config\smtk、%TEMP%\.stk_<10 hex>、スケジュールタスク SysMon(SYSTEM権限での実行を試みる)、フォールバック先 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd

 com.apple.sysmond や SysMon のように、OS標準の仕組みに見える名前が付けられている点には注意が必要だと思います。名前だけで正規のものと判断せず、上記のパスと照合して確認するのが確実です。

プロセス / コマンドライン

  • ssh -N -R '*:0:localhost:22'、autossh -M 0
  • SSHオプション: StrictHostKeyChecking=no、UserKnownHostsFile=/dev/null、ServerAliveInterval=30、ServerAliveCountMax=3、ExitOnForwardFailure=yes、IdentitiesOnly=yes
  • schtasks /create /tn SysMon
  • systemsetup -setremotelogin on
  • Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

 その他の質問は、Cursorのセキュリティ窓口([email protected])で受け付けています。なお、告知は2026年10月30日午前11時30分(PT)に更新され、IoCの更新と影響を受けるバージョンの明確化が行われています。

開発ツールのサプライチェーンという観点

 今回の事案は、正規の拡張機能の名前とIDを持つパッケージが配布経路で差し替えられた、いわゆるサプライチェーン攻撃(ソフトウェアの配布・依存関係を経由した攻撃)の一例と読めます。AIコーディングツールの拡張機能は、ファイル操作やコマンド実行の権限を持つことが多く、開発者の端末にはソースコードや各種の認証情報が集まりやすいため、攻撃者にとって価値の高い標的になりやすいと考えられます。

 対策としては、拡張機能の自動更新の扱いを見直す、組織で利用を許可する拡張機能とバージョンを管理する、といった運用面の工夫が挙げられます。新しいバージョンをすぐには取り込まず一定期間待つ「クールダウン」の考え方は依存パッケージの文脈で広がりつつあり、拡張機能の更新にも応用できる部分があるのではないでしょうか。一方で、今回のように公開から約11時間で検出・削除まで進んだ対応は迅速だったと受け止めており、告知でIoCと修復スクリプトまで公開している点も、利用者が自分で確認できるという意味で参考になると思います。

まとめ

 Cursorのマーケットプレイスで改ざんされたClaude Code拡張機能が配布され、攻撃者のSSHキー追加などが行われました。該当期間にインストール・更新した方は、確認コマンドと修復手順の実施をおすすめします。開発環境のサプライチェーン対策は、AIが生んだ架空パッケージを悪用する攻撃の解説もあわせてご覧ください。

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!
目次