BLOG

Hot Tracking 031|Claude Code拡張にバックドア、Cursor Marketplaceで5000人が影響

Yongliang Talks AI
AI
广告 · Advertisement

ホットトラッキング:ホットなニュースの発表 × 技術的な判断 × 実用的なアドバイス。

10月30日、セキュリティ企業Phorionは、Cursorが所有する拡張機能市場に対するサプライチェーン攻撃を公開しました。Anthropicの公式Claude Code拡張機能の2つのバージョンに後置プログラムが組み込まれ、約5000人のユーザーがリスクにさらされました。関連する議論はHacker Newsのトップページに急激に上昇し、同日時点で約908件の「upvote」と533件のコメントがありました。中心的な焦点は、「拡張機能市場の審査メカニズムがなぜ実際のpublisher IDによる悪意のある更新を許すのか」という点にありました。Claude Codeを日常的なAIプログラミングサポートとして使用する多くの開発者にとって、この事件はサプライチェーンセキュリティに対する警鐘を鳴らし、開発環境の信頼境界を見直す機会を提供しました。本記事はPhorionの報告、Cursorのセキュリティアナウンス、およびAnthropicの従業員によるHacker Newsへの回答を基に作成されており、具体的な技術的詳細は公式の最終説明に準じます。

何が起こったか

悪意のあるバージョンはanthropic.claude-code 2.1.312と2.1.313で、配布チャネルはCursor自身のVS Code拡張機能市場であり、公式のVS Code MarketplaceやOpenVSXではありませんでした。Cursorによる暴露期間は太平洋時間10月29日02:27から13:35までで、総時間は約11時間、最大約5000人のユーザーが影響を受ける可能性がありました。

一般的なフィッシングや名前の混同攻撃とは異なり、この更新では合法的なpublisher IDが直接使用されました。攻撃者はCursor Marketplaceにanthropic.claude-codeの更新を配布する権限を得ており、ユーザーは自動更新時に疑う理由がほとんどありませんでした。Phorionが10月30日に報告した後、Cursorは迅速に事件を確認し、悪意のあるバージョンを廃止しました。実際の暴露期間は半日以内に制限されました。

ペイロードは拡張モジュールが読み込まれる際に実行され、通常のactivateコールバックよりも早く、ユーザーのインタラクションは不要でした。まず、ホスト名、ユーザー名、オペレーティングシステム、アーキテクチャ、ホームディレクトリ、現在の作業ディレクトリ、グローバルGitメールアドレス、およびKEY、TOKEN、SECRET、PASS、AWS、GCPなどのパターンに合致する環境変数名を収集しました。収集した情報は明文字でHTTPを通じて134.209.82.225:8099/beaconに送信されました。その後、攻撃者のEd25519公開鍵を~/.ssh/authorized_keysに「svc-telemetry」という注釈付きで追加し、ローカルのSSHサービスを起動し、同じサーバーへのリバースSSHトンネルを確立しました。長期間存在するために、macOSではLaunchAgentを書き込み、Windowsではスケジュールタスクを作成し、Startupスクリプトを使用し、Linuxではcrontabに書き込みました。バックグラウンドスクリプトは約60秒ごとにトンネルを試行回しました。

その中で、ローカルSSHサービスを起動するには管理者権限が必要であり、通常の権限ではリバースシェルを実行するのは難しい。しかし、情報収集、SSH公開鍵の導入、持続的な機能は低い権限で実行可能である。つまり、ユーザーが通常、通常の権限でエディタを使用している場合でも、ホストの情報が漏洩し、後門が残されている可能性がある。Claude Codeを使用する開発者にとっては、悪意のあるコードがプロジェクトを開いた瞬間に情報収集を完了させる可能性がある。さらに厄介なのは、VS Code拡張機能がNode.jsのメインプロセス環境で実行され、理論上はfs、child_process、netなどのモジュールを呼び出すことができるため、このような高い権限のコンテキストが悪意のあるコードによって利用されると、ローカルで任意のコードを実行することに等しい。Phorionがbeaconサーバーを特定できたのは、Payloadが明文字のHTTP接続を使用し、攻撃者のインフラストラクチャが直接公開されているからである。このような非暗号化の接続方法は、攻撃者の隠密性を低下させるが、多くのホストが数時間以内に情報の送信を完了させることにもつながっている。

公式発表と一致しない

Anthropic側は迅速に明確にした:これはAnthropicのシステムや従業員のコンピュータが侵入されたわけではなく、2.1.313はOpenVSX、VS Code Marketplace、またはAnthropicの公式チャンネルで発行されたことがない。影響を受けたのはCursor Marketplaceのみであり、次のバージョンでは2.1.313を省略し、2.1.314を直接発行して区別する。

Cursorの対応も迅速だった:悪意のあるバージョンを廃止し、marketplace全体を閉鎖し、アクセスログを監査し、他の拡張機能が改ざんされていないことを確認し、キーを轮换し、marketplaceを再構築し、攻撃者のサーバーを停止し、影響を受けたユーザーに積極的に連絡を取った。

しかし、速いということは責任がないという意味ではない。この事件の鍵はAnthropicのコードが改ざんされたわけではなく、Cursor Marketplaceの発行権限が侵害されたことである。攻撃者が公式のパブリッシャーとして更新を配布できることは、marketplaceのアクセス制御と監査プロセスに単一のリスクがあることを示している。ユーザーは通常、インストールされた拡張機能の自動更新を信頼しているが、署名や出所を確認することはほとんどない。さらに厄介なのは、拡張機能をアンインストールしても脅威が完全に除去されるわけではない:持続的なスクリプトは拡張機能のディレクトリ外に存在し、拡張機能を削除しても後門は引き続き実行する可能性がある。

この事件はさらに深い問題も明らかにした:拡張機能市場の「公式パブリッシャー」という地位が安全を意味するわけではない。発行エンドポイントが奪われれば、ユーザーが見る更新プロンプトは通常の更新と変わらない。Cursorがmarketplace全体を閉鎖したのは慎重な措置であるが、どのパブリッシャーが信頼できるか、どれが信頼できないかを短期間で区別できないことを示している。このような「一律の」対応は、元の監査メカニズムの弱さを証明している。Anthropicが2.1.313を省略したのは、バージョンマーキングの動作に過ぎず、サードパーティのmarketplaceが攻撃された問題を解決することはできず、ユーザーが公式チャンネルのバージョン番号を区別するのに役立つだけである。一方、Cursorは攻撃者がどのように発行権限を得たかを明確にしていないため、事件の原因を評価する上で重要である。サプライチェーン攻撃が頻発する背景の下で、バージョン番号のジャンプとプラットフォームの廃止だけでは、ユーザーが信頼を回復することはできない。

コメント欄の意見

Hacker Newsでの議論は主にいくつかの疑問を中心に展開されています。

第一に、他のチャネルが安全かどうかです。あるコメントでは、OpenVSXやNPMにも悪意のあるバージョンが存在すると指摘されています。Anthropicの担当者はこれを明確に否定しています。Phorionは、VS Code/NPM上の2.1.313も削除されたが、それが同じ悪意のあるパッケージであるとは限らないと述べています。公式の見解では、リスクはCursor Marketplaceに限定されており、一般ユーザーは公式の説明に従うべきだとしています。

第二に、審査メカニズムがなぜ機能しなくなったのかです。高評価のコメントでは、これは単なるtyposquatや偽物パッケージの攻撃ではなく、合法的なpublisher IDを利用したサプライチェーン攻撃であると指摘されています。攻撃者が実際の拡張機能に更新を配布できる場合、どんなに勤勉なユーザーでも目で識別するのは困難です。コミュニティ全体は、Cursor Marketplaceを閉鎖することが慎重な措置であると考えていますが、一方でサードパーティの拡張機能市場が発行権限管理において普遍的に脆弱であることも明らかになりました。

第三に、自動更新の信頼性についてです。多くのユーザーは、以前はIDEの拡張機能の自動更新を無条件で許可していました。なぜなら、公式のpublisherが信頼できると考えられていたからです。この事件以降、より多くの人が自動更新を停止し、バージョン差を手動で審査するか、またはメーカーがより強力な署名検証を提供するのを待つべきかについて議論を始めています。また、このようなリスクはCursorに限らず、VS Codeエコシステムに基づくサードパーティの市場でも同じ問題が発生する可能性があると指摘されています。重要なのは、発行プロセスの各段階で身元と完全性を検証する能力があるかどうかです。

第四に、影響を受けたユーザーへの同情と懸念です。一部のコメントでは、多くの開発者が自分の作業用コンピュータに大量のキー、API token、生産環境設定を保存しており、SSHの後ろ盾が仕掛けられた場合、影響は単一の拡張機能を超える可能性があると指摘されています。また、一般開発者はセキュリティエキスパートではないため、すべてのユーザーに拡張機能の更新を手動で審査するのは現実的ではなく、最終的にはプラットフォーム側がより信頼性の高い発行保証を提供する必要があると注意が促されています。

第五に、サプライチェーンセキュリティ制度への呼びかけです。あるユーザーは、ソフトウェアサプライチェーンでは既に同様の事件が何度も発生しており、npmからPyPI、そしてVS Code拡張機能市場に至るまで、核心的な問題は発行のハードルが低すぎて運用権限が高すぎることだと指摘しています。最も求められている解決策には、publisher側での2要素認証の強制、拡張パッケージの署名、marketplace側のコンテンツ監査、および実行時の最小権限サブスクリプションが含まれます。これらの提案がCursorや他の市場に採用されるかどうかは、開発者が将来サードパーティの拡張機能市場をどの程度信頼するかに直接影響します。

一般ユーザーができる3つのこと

  1. インストール元とバージョンを確認してください。CursorまたはVS Codeの拡張機能パネルを開き、anthropic.claude-codeのバージョン番号を確認してください。もし10月29日02:27–13:35 PTの間にCursor Marketplaceから2.1.312 / 2.1.313にインストールまたは更新したことがある場合、高リスクとみなされます。元の情報が思い出せない場合は、拡張機能のpublisherフィールドがanthropic.claude-codeであるかを確認し、インストールログやmarketplaceの履歴を調べてください。他の拡張機能についても、この時点以降に異常な更新記録があるかを確認することをお勧めします。不明な場合は、自動更新を一時的に無効にし、公式チャネルからのバージョンを手動でインストールしてください。Cursorユーザーは拡張機能の詳細ページでインストール元を確認できます。MarketplaceがCursor自身のソースであると表示されている場合、該当期間内に更新した人はすべて調査する必要があります。

  2. ホスト上の残留物をチェックしてください。特に~/.ssh/authorized_keysにsvc-telemetryとして注釈されたEd25519公開鍵が含まれているかを確認し、/.config/以下に.smt、.smtk、smt.cmdなどの怪しいファイルがないかを確認してください。また、134.209.82.225:8099に接続するネットワーク記録が存在するかを検索してください。macOSでは/Library/LaunchAgentsディレクトリを、WindowsではタスクプランとStartupフォルダを、Linuxではcrontabとsystemd userユニットを確認し、怪しいエントリがあるかを確認してください。未知のLaunchAgentや計画タスクが見つかった場合、名前が正常に見えても、まず無効にしてから原因を調べてください。クリーニング後は一度再起動し、怪しいプロセスや起動項目が再現するかを確認することをお勧めします。

  3. クリーニング後は拡張機能だけをアンインストールしないでください。持続化スクリプトが拡張機能ディレクトリ外にも存在するため、影響を受けたユーザーはSSHキー、クラウドセキュリティ情報、重要なアカウントパスワードをローテーションし、必要に応じてホストを再構築することをお勧めします。持続化が組み込まれたかどうかが判断できないマシンの場合は、過剰な対応をするべきであり、幸運を期待するのではなく、慎重に行動するべきです。このマシンで生産コードが実行されたり、重要なキーに接触したことがある場合は、単に拡張機能を削除して使用を続けるのではなく、まず隔離しシステムを再インストールすることを優先してください。企業ユーザーはまた、CI/CDパイランス、Dockerイメージビルドマシン、共有開発マシンもチェックし、横断的な拡散を防ぐべきです。最後に、この事件をチームの緊急対応訓練に組み込み、拡張機能のインストールホワイトリストとキーローテーションプロセスを明確にすることをお勧めします。システムを再インストールする前に、必要なプロジェクトコードと設定ファイルをエクスポートし、バックアップから感染した可能性のある設定ディレクトリを復元しないようにしてください。

結論

Claude Codeハッキング事件は、単なる悪意のある拡張機能のアップロードではなく、第三者の拡張機能市場のサプライチェーンが突破された典型的な事例です。Anthropicの公式チャネルやコードリポジトリは失われていませんが、失われたのはCursor Marketplaceのpublisherの身元管理能力です。5000人のユーザー、11時間の期間、モジュールのロードで即時トリガーされるという数値からわかるように、IDEプラグインのような高い権限を持つ環境では、自動更新の信頼チェーンが断たれると、その影響は迅速に拡大します。

現在、悪意のあるバージョンは廃止され、marketplaceは再構築され、攻撃者のサーバーは停止しました。しかし、これは事件対応の終点に過ぎず、リスクが消えた始点ではありません。一般ユーザーにとって最も実用的な教訓は、市場の拡大や自動更新は自然に信頼できるものではなく、必要な時にはローカルな証拠に基づいて判断する必要があるということです。疑念を保ち、ログを保存し、キーを定期的に変更することは、現在の拡張エコシステムにおいて開発者が最も実用的な自己防衛策です。業界にとって、この事件は再び、サプライチェーンのセキュリティはメーカーの対応速度だけに頼るべきではなく、リリース権限、署名検証、拡張時の隔離についてよりしっかりした設計が必要であることを示しています。次に攻撃される可能性があるのは、どんな人気のある拡張でもあり得ます。真の問題は、悪意のあるパッケージがどれだけ速く実行できるかではなく、私たちの開発環境が公式名を冠した更新をすべてデフォルトで信頼しているかどうかです。AIプログラミングアシスタントが開発環境にますます深く浸透する今日、この信頼問題は繰り返し問い直される価値があります。

参考資料

  • Phorionブログ:Official Claude Code VSIX Compromise(2026-10-30)
  • Cursorのセキュリティ告知(2026-10-29)
  • Hacker Newsの議論:Claude Code extension backdoor on Cursor Marketplace
  • Anthropicの従業員によるHacker Newsへの回答

署名:永亮

广告 · Advertisement

よくある質問

どのようなバックドアが設置された?

SSHキーとリバーストンネルが設置され、ユーザーの情報を収集し、持続的な機能を実行するために必要な設定が行われた。

影響を受けたユーザーは何人?

約5,000人のユーザーが影響を受けた可能性がある。

この事件について、Anthropicはどのように対応した?

Anthropicは、影響を受けたバージョンが公式チャンネルで発行されていないことを明確にし、次のバージョンでは影響を受けたバージョンを省略して区別する方針を示した。