5 製品のうち、修正状況が分かれている
2026 年 10 月 29 日、Forever Security の研究チームが、AI アシスタントに組み込まれたブラウザの問題を公開しました。対象は Cursor・GitHub Copilot・Codex・VS Code・Claude Desktop の 5 製品です。研究者は共通のパターンを「EMBRACE」(EMbedded BRowser trusted like a real one) と呼んでいます。
Forever Security の公開記事は、冒頭で「2 つの問題が未修正のまま」と書いています。ただし修正状況は製品ごとに違います。また、修正済みとされた製品についても、ベンダー側の記載は見当たりません。この記事では、Forever Security の 技術解説 と 概要の記事、Noma Labs の 公開、各ベンダーのリリースノートと GitHub の advisory で確認できた範囲に絞って、次の順に整理します。
- 何が起きたか、どこまでが確かな情報か
- 5 製品それぞれの影響と修正状況
- 攻撃が成り立つ条件
- 今日できる対策
攻撃の手順には踏み込みません。この記事は、FIXIT が今回の問題を再現した結果ではなく、2026 年 10 月 31 日時点の公開情報を整理したものです。脆弱性を継続的に管理する運用は 情報システムの脆弱性管理を ISMS で回す に、同じ時期の PHP の脆弱性への対応は php2shell (CVE-2026-109618) 対応 にまとめています。
何が起きたか、どこまでが確かな情報か
研究者の整理では、各製品は内蔵ブラウザに、通常のブラウザには無い機能を足していました。その機能が、ブラウザが前提にしている安全の仕組みを崩していた、というのが共通点です。
出どころは研究者の公開記事
この件の情報は、次のように出どころが限られます。
- 中身の出どころは、Forever Security の公開記事です。Help Net Security などの報道はそれを伝えています
- ベンダーの公式な告知や advisory は、確認した範囲では見つかりませんでした
- Forever Security の公開記事に CVE 番号は載っていません。各ベンダーが GitHub で公開している advisory の一覧にも、該当する項目は見当たりません
報道が複数あっても、元が同じ公開記事なら裏付けは 1 つです。製品ごとの修正状況は、研究者の記述です。自分が使っている版の状況は、各ツールの更新履歴や告知で確認してください。
5 製品の影響と修正状況
影響は 3 種類に分かれます。Forever Security の記述と、ベンダーの公開情報で確認できたことを、製品ごとに並べます。
| 製品 | 影響 | 修正状況 (研究者の記述) | ベンダーの公開情報 |
|---|---|---|---|
| Cursor | Web ページの細工で、攻撃者のコマンドを実行 | 9 月 10 日に開示、10 月 1 日に告知なく修正。Cursor からの返信は無かった | changelog と advisory に該当する記載なし。修正版の番号は不明 |
| GitHub Copilot | アドレス表示の偽装 | 1.1.27 で確認。報告の前に、GitHub が 1.1.29 (10 月 13 日) で独自に修正 | 1.1.29 のリリースノートに該当する記載なし |
| Codex | ローカルファイルの読み取り | 未修正。7 月 27 日の報告に OpenAI から返信なし | 該当する記載なし |
| VS Code | ローカルファイルの読み取り | 未修正。Microsoft は Workspace Trust を理由に報告を却下 | 該当する記載なし |
| Claude Desktop | ローカルファイルの読み取り | 記載なし。Anthropic は Workspace Trust を理由に Forever Security の報告を却下 | 該当する記載なし |
Cursor と Copilot は「修正済み」と研究者が書く
Cursor の問題では、内蔵ブラウザで開いた Web ページが、ブラウザの仕組みを通じてエージェントの入力欄へ文字を差し込めました。コマンドは複数の隠れた属性に分割され、エージェントが組み立てて、ユーザーに実行の承認を求めます。ユーザーは、承認に Enter を 1 回押すだけです。コマンドがサンドボックスに止められると、エージェントは自分でサンドボックスを外して再実行しました。この攻撃はモデルに依存し、いつも成功するわけではない、というのが研究者の説明です。
研究者は、Cursor が 10 月 1 日に告知なく修正したと書いています。Cursor の changelog と GitHub の advisory には該当する記載が無く、修正が入った版の番号も示されていません。
Copilot の問題は、ページが自分のアドレスを偽って報告でき、アプリがそれをそのまま表示するものです。偽のサインイン画面のアドレス欄に github.com/login と表示させる実証がありました。エージェントも、そのタブを github.com にあるものとして扱いました。
研究者が挙げた版番号 1.1.27・1.1.29 と 10 月 13 日という日付は、GitHub Copilot のデスクトップアプリのリリースと一致します。ただし、1.1.29 のリリースノート にこの修正の記載はありません。
Codex と VS Code は未修正と研究者が書く
2 製品とも、ローカルのページが、本来の範囲を越えてディスクのファイルを読める問題です。VS Code では、ページが読めるのはプロジェクトのフォルダの中までという制限があります。ところが Web Worker の中ではその制限がかからず、ディスク上のファイルを読めてしまいました。Codex には、そもそも読み取りの制限がありません。
研究者は、公開時点で 2 製品とも未修正で、使っている人は今も攻撃を受けうると書いています。OpenAI と Microsoft の公開情報に、この問題への言及は見当たりません。
Claude Desktop は「記載なし」
Claude Desktop も、VS Code と同じく Web Worker で制限をすり抜ける問題として挙がっています。ただし Forever Security は、修正されたかどうかを書いていません。
関連する公開記事が、もう 1 つあります。Noma Security の研究チーム Noma Labs は 10 月 14 日、Claude Code Desktop のプレビュー画面で HTML を描画するときに、任意のファイルを読める問題を公開しました。Noma Labs によると、Anthropic は CVSS v4.0 で 8.7 (High) と評価し、最初のパッチは Web Worker で回避されました。Anthropic は 8 月 17 日に、Claude Desktop 1.30096.1 以降で修正したと書かれています。GitHub の advisory と CVE は、公開待ちとのことです。
Forever Security は、7 月 24 日の Noma Security の報告を Anthropic が有効と受理したと書いています。それでも、2 つの公開記事が同じ問題を指すのかは、どちらにも明記されていません。Noma Labs の手口は、Claude が読んだ HTML ファイルをプレビュー画面が自動で描画するもので、リンクのクリックは要りません。Anthropic のリリースノートと advisory には、どちらの問題も記載が見当たりません。
FIXITClaude Desktop は、もう直ってるの?
DodaiForever の記事に、修正されたかの記載はありません。Noma の記事は 1.30096.1 以降で修正としていますが、同じ問題かは不明です。
FIXITじゃあ、どうすればいいの?
Dodai最新版に更新して、出どころの怪しいプロジェクトを開かないことです。
攻撃が成り立つ条件
Codex・VS Code・Claude Desktop の問題で、研究者が示した流れは次のとおりです。
- 財務レポートを装った、細工したプロジェクトを開く
- ユーザーが、アシスタントに「README のとおりにセットアップして」と頼む
- アシスタントが、ローカルの HTML ファイルへのリンクを案内する
- ユーザーがそのリンクを 1 回開く
研究者は、必要な 1 回のクリックが「エージェント自身の信頼をまとって届く」と書いています。実証では、細工したページが macOS の Finder が作る隠しファイルでフォルダの構成を把握し、SSH 鍵・.env・npm トークン・hosts ファイルを集めて外部へ送りました。
入口になるのは、Web 上の怪しいサイトではなく、手元に取り込んだプロジェクトの中身と、アシスタントの案内です。
今日できる対策
修正を待つしかない製品があるので、更新と、攻撃の入口を減らす運用の両方が要ります。次の対策のうち、ツールの洗い出し、信頼済みプロジェクトの点検、「クリックが要る」ことを守りとみなさない考え方は研究者の助言です。そのほかは、FIXIT が一般的な考え方として挙げるものです。
個人で、今日やること
- Cursor と、GitHub Copilot のデスクトップアプリを最新版に更新します。研究者によると、Copilot は 1.1.29 で修正されています
- Claude Desktop は、版が 1.30096.1 以降か確認します。1.30096.1 は、Noma Labs が公開した問題を修正した版です
- Codex と VS Code は、修正を待つ間、信頼していないプロジェクトを開かないようにします
- アシスタントが出したローカルのファイルへのリンクを開く前に、行き先を見ます。「セットアップしておきます」という案内でも同じです
研究者は、「ユーザーが何かをクリックしないと成り立たない」ことを守りとみなさないよう勧めています。今回の実証で要った操作は、アシスタントが出したリンクのクリックや、実行の承認の Enter でした。Workspace Trust の確認についても、AI ツールでは誰もが「信頼する」を押すので、ユーザーを守る効果は無いと Help Net Security の取材に答えています。
チームで、決めておくこと
- 開発者の端末に、これらのツールのどれが入っているかを洗い出し、版を一覧にします (研究者の助言)
- Codex と VS Code では、各端末の設定ファイルから信頼済みプロジェクトの一覧を取り出し、その中の HTML ファイルを、研究者が技術解説で示したパターンと照らし合わせます (Help Net Security が伝える研究者の助言)
- 取引先や委託先から受け取ったプロジェクトは、手元の端末では開かず、専用の環境で開くルールにします
端末に置く秘密を減らす
今回の実証で持ち出されたのは、端末のディスクにあったファイルです。端末に置いていないものは、持ち出せません。
- SSH 鍵やクラウドの鍵は、長く使える鍵を端末に置かない設計へ寄せます。期限が短く権限の狭いトークンを使います
- .env に本番の秘密を入れず、開発用の値だけにします
- 本番に届く鍵が入った端末で、受け取ったプロジェクトを開かないようにします
抜かれたかもしれないとき
研究者は、抜かれたかどうかを端末側で調べる方法を示していません。調べる方法が示されていないので、疑わしい状況があれば、鍵とトークンを入れ替えるのが現実的です。
疑わしい状況とは、Codex・VS Code・Claude Desktop で出どころが怪しいプロジェクトを開き、アシスタントが案内したリンクを開いた場合などです。
- SSH 鍵は、新しい鍵を作って公開鍵を差し替え、古い鍵を無効にします
- npm などのトークンは、発行元の管理画面で失効させ、作り直します
- .env に入っていた API キーは、提供元で再発行します
- 入れ替えが済むまでのあいだの利用履歴を、提供元のログで確認します
AI ツールを入れる前に決めること
FIXIT は AI 駆動開発のクリエイティブスタジオとして、Claude Code・Codex・Cursor などを開発に使っています。今回のような問題は、ツールを入れてから慌てるより、入れる前に「どのツールが、どの秘密に届く環境で動くか」を決めておくほうが、対処が楽になります。
具体的な体制の中身は公開していません。一般に決めておくとよいのは、次の 3 点です。
- 許可するツールと、更新状況を確認する担当
- 受け取ったプロジェクトを開く環境の分け方
- 端末に置く秘密の範囲
次の一歩は、端末に置いている秘密の棚卸し
最初にやることを 1 つに絞るなら、自分の端末にある SSH 鍵、クラウドの鍵、.env のうち、本番に届くものを書き出すことです。更新はツールごとに済ませるだけですが、置いている秘密の棚卸しは、次に別の問題が見つかったときにも被害を小さくします。
AI 開発ツールの許可の範囲、更新状況の確認の仕方、秘密を端末に置かない設計をチームで決めたいときは、AI 開発ツール定着支援 でご相談いただけます。AI を使った開発を外部に依頼する場合の開発環境の確認の仕方も含めて、個別のご相談は お問い合わせ からどうぞ。



