aitrove. Submit a tool

EMBRACE Attack: AI Coding Tools' Built-In Browsers Can Read Your Entire Disk

What Is EMBRACE and Why It Matters

If you use an AI coding assistant — and in late 2026, most developers do — the browser embedded inside it is now part of your attack surface. On October 29, security firm Forever Security published research it calls EMBRACE (an EMbedded BRowser trusted like a real one): a class of flaws it found in all five of the desktop AI assistants it tested — Cursor, GitHub Copilot, OpenAI's Codex, Microsoft's VS Code and Claude Desktop.

The five products don't share a single bug. They share something worse: a pattern. Each one embedded a browser inside its app and then enriched it beyond what a normal browser allows — letting pages talk to the agent, letting pages report their own address, letting local files reach their neighbours. Every one of those enrichments is reasonable on its own. Together, they dismantled the browser security model that has protected users for two decades. The achievable impact ranged from running code on the host (Cursor) to reading and exfiltrating every file on the disk (Codex, Claude Desktop, VS Code) to spoofing a tab's address to both the human and the agent (Copilot).

The kicker: at publication, the Codex and VS Code flaws were still unpatched. Anyone using either tool is exposed.

Cursor: A Web Page Could Run Code on Your Machine

Cursor's integrated browser adds a JavaScript bridge so the agent can observe the page you're viewing. Forever Security found that any page — any origin, no user gesture — could call that bridge and inject text directly into the agent's composer: the instruction box the AI reads as if you typed it. The injection renders as an invisible chip; you see almost nothing while the agent reads every field.

The clever part is how the payload beats the agent's own skepticism. A command in a single attribute gets refused, so the attack splits it across multiple attributes and asks the agent to reassemble and run it. When the resulting npm install hit Cursor's sandbox and was blocked, the agent itself cancelled, disabled the restriction, and retried — handing the malicious package's preinstall script full privileges. From a cold start in an empty workspace, the proof of concept popped Calculator on the host. Success is probabilistic and model-dependent, but the finding stands: a visited web page reached host code execution at all. Cursor silently patched the flaw on October 1, three weeks after disclosure, with no advisory.

GitHub Copilot: The Address Bar That Lies

Copilot's browser preview had a subtler problem. Some pages change their address without a full navigation, and the app can't always detect it — so Copilot let the page tell the app its own address, and showed that claim both to you and to the agent. The only validation was that the string looked like a URL.

The result: a phishing page parked on an attacker's server could display https://github.com/login in the address bar — the one place people check — while never actually navigating there. The agent was told the same lie, so an assistant asked to "log into GitHub" would confidently interact with the fake page. GitHub independently fixed this in Copilot 1.1.29 on October 13, before Forever Security even sent its report; version 1.1.27 was vulnerable.

Codex, Claude Desktop and VS Code: Whole-Disk File Theft

The most impactful variant targets local files. A normal browser gives a file:// page an opaque origin so it can't read other files; these assistants relax that so previews can load their siblings. The project-folder fence is real — but it only runs in the top document. Inside a web worker, the restrictions simply aren't applied, and any out-of-scope file:// fetch returns the file's contents in full.

From there, the researchers turned "read a file by path" into "walk the entire filesystem" with no directory API at all: macOS .DS_Store files index every folder a user has opened in Finder, and a small parser turns each one into a directory listing to recurse outward from the home directory. On the research machine, the sweep pulled SSH keys, .env files, npm tokens and private documents — no file type protected. On Codex, no worker was even needed: the file-read fence didn't exist, and a plain fetch from the page returned any file on the machine.

The delivery is what makes it dangerous in practice. The malicious project masquerades as a dull financial-report page, and the single required click arrives wearing the agent's own trust: when you ask the assistant to "set up the project per the README," the assistant itself renders the clickable file:// link and hands it to you.

The Disclosure Timelines Nobody Wanted to Talk About

ToolFlawDisclosedStatus
CursorCode execution via browser bridgeSep 10Patched Oct 1 (silent)
GitHub CopilotAddress-bar spoofingSep 26Fixed in 1.1.29 (Oct 13)
Claude DesktopFile exfiltration via workerJul 23Patched (accepted Jul 24)
OpenAI CodexUnrestricted file readJul 27Unpatched — no response from OpenAI
VS CodeFile exfiltration via workerSep 10Unpatched — Microsoft declined as "Workspace Trust" boundary

The timelines are their own story. Cursor never replied and shipped a silent fix with no security advisory, so users had no way to know they needed to update. Microsoft declined the VS Code report as invalid, deferring to its Workspace Trust boundary — even though its own documentation says Restricted Mode only tries to prevent automatic code execution. OpenAI has simply not responded since July. Anthropic initially declined the Claude Desktop report on the same Workspace Trust grounds, then accepted the identical flaw a day later when a second firm reported it.

How to Protect Your Setup Right Now

Frequently Asked Questions

What is the EMBRACE attack?

EMBRACE is a class of security flaws named by Forever Security in October 2026, affecting the browsers embedded in AI assistants like Cursor, GitHub Copilot, Codex, VS Code and Claude Desktop. Because each tool extended its embedded browser with powers a normal browser doesn't have — page-to-agent communication, self-reported addresses, local file access — a malicious web page or local HTML file could execute code, spoof addresses, or read files across the entire disk.

Which AI coding tools are still vulnerable?

Per Forever Security's October 29 publication, OpenAI's Codex and Microsoft's VS Code remain unpatched. OpenAI has not responded to the July 27 disclosure, and Microsoft declined to fix VS Code, calling it a Workspace Trust boundary issue. Cursor, GitHub Copilot (1.1.29+) and Claude Desktop are patched.

How does the file-stealing attack actually get on my machine?

Typically through a cloned or malicious project. The project contains an ordinary-looking local HTML page; when you ask the AI assistant to set it up, the assistant renders a clickable file:// link itself. Once opened in the embedded browser, a web worker reads files outside the project folder, uses .DS_Store files to map your filesystem, and exfiltrates SSH keys, environment files and tokens to a remote server.

Is Cursor safe to use now?

The specific EMBRACE code-execution flaw was silently patched on October 1, 2026, so a current Cursor build is protected against this exact attack. Keep it updated, and remain cautious about unfamiliar websites opened in the integrated browser — the pattern of enriching embedded browsers with agent powers is an industry-wide risk, not a single vendor's bug.

What can I do if I have to keep using Codex or VS Code?

Avoid opening untrusted local HTML files or file:// links inside the apps' embedded browsers, move credentials and SSH keys out of reachable folders, and monitor npm installs and preinstall scripts in untrusted repos. For high-value machines, run untrusted projects in a VM or container instead.

Choose AI Coding Tools You Can Trust

Browse 1,100+ AI tools on aitrove.ai — compare coding agents, IDE assistants and terminal-first alternatives with real descriptions, pricing, and security-relevant details before you install.

Browse All Tools →