Skip to content
AgentProv

2026-07-08 · 2026-Q3

"GhostApproval" Symlink Flaws Defeat Human-in-the-Loop in Six AI Coding Assistants

Primary layerL7 Build / ApprovalSecondary:L5 Config

Was this approved as what it claims to be?

The question layer 7 asks, and failed here.
Fixable
Vendor patch
Vendor response
Mixed (vendors differed)
In the wild
No
Actor
Attacker

Target

Amazon Q Developer, Anthropic Claude Code, Augment, Cursor, Google Antigravity, and Windsurf

Impact

A malicious repository plants a symlink disguised as an innocuous file (for example `project_settings.json`) that points at `~/.ssh/authorized_keys` or a shell startup file. When the developer asks the agent to set up or edit the file, the agent writes attacker content through the symlink for passwordless SSH access or code execution, while the approval dialog displays the harmless presented path rather than the real target. Some tools write before approval or with no prompt at all

Root cause

Agents follow symlinks with standard file operations but seek approval based on the shown path, not the resolved target (CWE-61 symlink following plus CWE-451 UI misrepresentation), so human approval is meaningless. Found by Wiz Research. Amazon (CVE-2026-12958, fixed in Language Server 1.69.0) and Cursor (CVE-2026-50549, fixed in 3.0) patched, Google fixed with a CVE pending, Augment and Windsurf were unpatched at disclosure, and Anthropic called it outside its threat model

CVEs

Sources

Catalog

Cite this: AgentProv incident record: "GhostApproval" Symlink Flaws Defeat Human-in-the-Loop in Six AI Coding Assistants (2026-07-08). https://agentprov.com/incidents/2026-07-08-ghostapproval-symlink-flaws-defeat-human-in-the-loop-in-six-ai-coding-assistants