継承された一つの設定ファイルが、あらゆる主要AI IDEを通じて数百万人の開発者を危険にさらしていました
私たちは、最も人気のあるAI IDEが、存在しない拡張機能や、誰でも取得してマルウェアをアップロードできる名前空間を公式に推奨していたことを発見しました。そこで私たちは、それらを先に取得することにしました。

AI IDEのゴールドラッシュに潜む死角
Cursor、Windsurf、Google Antigravity、Trae——これらは現在のソフトウェア開発において最も注目を集めているツールです。Cursorだけでも日次アクティブユーザー数は100万人を超え、評価額は99億ドルに達しています。Windsurfはローンチから数か月で100万人のユーザーを獲得しました。Google Antigravityはわずか数週間前にローンチされ、Windsurfのチームと技術を24億ドルで買収した実績を背景に持っています。
これらのツールにはある共通点があります。すべてVSCodeからフォークされているという点です。
そして、共通の問題も抱えています。それは、Microsoftの拡張機能マーケットプレイスを利用できないという点です。ライセンス上、Microsoft製品以外がこのマーケットプレイスにアクセスすることは明確に禁止されています。そのため、これらのIDEはEclipse Foundationが運営するオープンソースの代替サービスであるOpenVSXを利用しています。
しかし、VSCodeからフォークした際に、拡張機能の推奨リストもそのまま引き継いでしまいました。このリストはMicrosoftのマーケットプレイス上の拡張機能を指しているのですが、その中にはOpenVSX上には存在しないものも含まれていたのです。
問題点:存在しない拡張機能を推奨していた
これらのIDEには、ハードコードされた公式のプロアクティブ(能動的)推奨機能が組み込まれています。これは検索結果でも、ユーザーが求めた提案でもありません。IDE自らがユーザーに対して「これをインストールすべきです」と積極的に働きかけてくるのです。
推奨には2つのタイプがあります。
ファイルベースの推奨: azure-pipelines.yamlのようなファイルを開くと、Azure Pipelines拡張機能を推奨するトースト通知がポップアップ表示されます。

ソフトウェアベースの推奨: マシンにPostgreSQLがインストールされている場合、ユーザーが一度も検索していないにもかかわらず、IDEはサイドバーに自動的にPostgreSQL拡張機能を推奨します。

問題なのは、これらの推奨拡張機能がOpenVSX上には存在していなかったことです。該当する名前空間は誰にも取得されておらず、誰でも登録して好きなものをアップロードできる状態でした。
起こり得た事態
想像してみてください。攻撃者がOpenVSX上でms-ossdata.vscode-postgresqlを登録し、悪意のある拡張機能をアップロードします。
すると、PostgreSQLをインストールしている開発者全員が、Cursor、Windsurf、あるいはAntigravityを開いた際に「推奨: PostgreSQL拡張機能」という表示を目にすることになります。ユーザーはそれを信頼します。何しろ自分のIDEが推奨しているのですから。そしてインストールをクリックします。
この拡張機能はシステムへのフルアクセス権限を持って実行されます。SSHキー、AWS認証情報、ソースコードが、すべて外部に流出してしまいます。フィッシングは不要です。怪しいダウンロードもありません。ただ、いつも通りIDEを使っていただけなのです。

私たちが用意したプレースホルダー版のPostgreSQL拡張機能は、アイコンもなく「これはVS Code拡張機能のプレースホルダーです」と明記されているにもかかわらず、500件を超えるインストールを記録しています。IDEがそう勧めてきたというだけの理由で、人々はそれでもインストールしてしまうのです。
私たちが行ったこと
私たちは、悪意ある第三者に先を越されるのを防ぐため、脆弱な名前空間を自ら取得し、プレースホルダーの拡張機能をアップロードしました。

私たちが保護した拡張機能:
ms-ossdata.vscode-postgresql: マシンにPostgreSQLがインストールされている場合にトリガーms-azure-devops.azure-pipelines: azure-pipelines.yamlを開いたときにトリガーmsazurermtools.azurerm-vscode-tools: azuredeploy.jsonを開いたときにトリガーusqlextpublisher.usql-vscode-ext: *.usqlファイルを開いたときにトリガーcake-build.cake-vscode: build.cakeを開いたときにトリガーpkosta2005.heroku-command: マシンにHeroku CLIがインストールされている場合にトリガー
1,000人を超える開発者が、私たちのプレースホルダー拡張機能をインストールしました。これらの拡張機能には機能もアイコンもなく、説明文には明確に「プレースホルダーです」と記されているにもかかわらずです。彼らがインストールしたのは、自分のIDEがそれを推奨したからにほかなりません。ユーザーがこうした推奨をいかに信頼しているかが、これでよく分かります。
その後、私たちはOpenVSXを運営するEclipse Foundationと協力し、これらのIDEの設定に残っている名前空間や拡張機能がすべて安全であることを検証するとともに、公式でない関係者を名前空間から除去しました。
情報開示の経緯
- 2025年11月23日: Googleに報告
- 2025年11月24日: Cursorに報告([email protected])
- 2025年11月24日: Windsurfに報告([email protected])
- 2025年11月25日: Googleが報告を「対応しない(実現不可能)」として却下
- 2025年11月25日: 私たちが攻撃ベクトルについて説明を補足——アカウント侵害は不要である旨を明確化
- 2025年11月25日: Googleが再度「対応しない」として却下
- 2025年11月25日: 私たちが再度説明を補足——攻撃者は自分自身のアカウントを使用し、全ユーザーが影響を受ける旨を明確化
- 2025年11月26日: Googleが対応を再開し、脆弱性を認定
- 2025年11月26日: 残りの名前空間の検証についてOpenVSXに連絡
- 2025年12月1日: Cursorが問題を認識し、修正を実施
- 2025年12月26日: Googleが部分的な修正をリリース(13件の拡張機能を削除)
- 2025年12月26日: 私たちが、設定内に依然として残っている脆弱な拡張機能について指摘
- 2026年1月1日: Googleが修正完了とマーク
- 本日: 一般への情報開示
Windsurfからは一度も応答がありませんでした。

OpenVSXを運営するEclipse Foundationとのやり取りは非常に円滑でした。彼らは迅速に対応し、私たちが指摘した名前空間を検証したうえで、レジストリ全体にわたり自発的にさらなるセキュリティ対策を講じてくれました。彼らの協力があったからこそ、私たちは応答のないベンダーの対応を待つことなく、責任を持って情報を開示することができました。
結びに
拡張機能マーケットプレイスは、新たなソフトウェアサプライチェーンとなっています。そして今回の調査は、それがいかに容易に悪用され得るかを示すものです。
私たちはこうした脅威——攻撃者が拡張機能マーケットプレイスの防御の隙を突いてくる脅威——をまさに捕捉するために、Koiを開発しました。IDEの推奨機能が侵害されていたとしても、私たちのリスクエンジンは、インストール時に拡張機能が実際に何を行っているかを監視します。ネットワークリクエスト、ファイルシステムへのアクセス、スクリプトの実行など、コードがどのような経路でやってきたかにかかわらず、悪意ある意図を示す挙動パターンを検知します。
Koiはフォーチュン50企業や世界最大級のテクノロジー企業から信頼を得ており、セキュリティチームが自組織の環境に流入するサードパーティコードに対する可視性とガバナンスを確保する支援を行っています。
デモを予約すると、私たちのエージェント型AIリスクエンジンが、従来の防御をすり抜ける脅威をどのように捕捉するかをご覧いただけます。
どうかご安全に。