
Top 10 attacks on Claude Code and what each one actually broke
Adversa AI catalogs ten distinct Claude Code attacks documented between September 2025 and September 2026: the Miasma supply-chain worm that hit 73 Microsoft repos via a SessionStart hook, TrustFall's unsandboxed MCP server execution on folder-trust, Check Point's CVE-2025-59536/CVE-2026-21852 pre-trust-dialog code execution and API key theft, Sentry-DSN-based "Agentjacking" prompt injection via fake bug reports, a 50-subcommand cap that silently disables deny rules, the SymJack symlink-to-config-hijack primitive working across six agent CLIs, Wiz's GhostApproval deceptive-approval-prompt finding (with CVE-2026-12958 at AWS and CVE-2026-50549 at Cursor but none at Anthropic), the Plugin4Shell SHA/branch-name collision bypassing plugin pinning, an academic MCP tool-poisoning paper achieving RCE on agent/LLM pairs, and SkillCloak's self-extracting-packer bypass of skill scanners. The piece argues almost none of these are model-behavior bugs - they are trust-boundary and consent failures in the surrounding tooling - and closes by pitching Adversa's own runtime agent security gateway as the fix.
What it is
Ten distinct Claude Code attacks with per-item mechanics, patch versions, and CVE status that the existing summary names but doesn't detail. The page's core value is the per-attack specifics and a vendor-response breakdown, not the catalog list itself.
How it works — the two attacks with confirmed fixes
CVE-2025-59536 / CVE-2026-21852 (Check Point): Claude Code read .claude/settings.json before the startup trust dialog resolved. CVE-2025-59536 (CVSS 8.7, CWE-94) is arbitrary shell execution via hooks/MCP/env vars at that pre-trust read; fixed in 1.0.111. CVE-2026-21852 is Anthropic API key theft via a settings file pointing ANTHROPIC_BASE_URL at an attacker endpoint; fixed in 2.0.65. Both patched pre-disclosure — this is the only entry with an Anthropic-acknowledged CVE pair.
Plugin4Shell (AIR Security): git resolves a 40-hex-char ref as a branch before a commit SHA when both exist. An attacker makes their plugin repo's default branch named identically to the pinned SHA, so Claude Code's auto-update (on by default) silently swaps in attacker content while reporting a clean pinned install. Patched in 2.1.179, no CVE, no in-the-wild exploitation reported. Caveat stated in the page: only exploitable on hosts allowing 40-hex branch names — GitHub rejects these outright, so real exposure is Bitbucket/self-hosted marketplaces.
Preconditions / Affected
- The 50-subcommand deny-rule bypass (CLAUDE.md with payload at step 51) has a fix noted in v2.1.90, though the page flags the changelog mapping as inferred, not confirmed by Anthropic.
- TrustFall and GhostApproval remain unpatched: Anthropic declined both as outside its threat model (folder-trust / directory-approval constitutes consent in their view).
- Agentjacking has no structural fix from Sentry; Tenet Security measured an 85% success rate across Claude Code, Cursor, and Codex, and identified 2,388 organizations with DSN-exposed projects.
What to do
The page's concrete recommendations:
- Review
.claude/settings.json,.mcp.json, hooks, and plugin pins in code review/pre-commit, same as a Dockerfile. - Open unfamiliar repos in a disposable container/VM — Miasma and CVE-2025-59536 both detonate at project open, pre-trust-dialog.
- Don't rely on approval prompt text as an integrity control (SymJack, GhostApproval both show displayed text diverging from actual operation).
- Disable or scrutinize plugin auto-update; pin to a marketplace you control.
- Use short-lived, separate-identity credentials for the agent rather than ambient developer permissions (mitigates the API-key exfiltration pattern in CVE-2026-21852).
- Apply the three patched versions: 1.0.111, 2.0.65, 2.1.179 (and reportedly 2.1.90 for the deny-rule cap).
Caveats
Of the ten attacks, only Check Point's pair carries an Anthropic-acknowledged CVE; GhostApproval produced CVEs at AWS (CVE-2026-12958) and Cursor (CVE-2026-50549) but none at Anthropic. The deny-rule-cap patch mapping to v2.1.90 is the page's own inference, not a confirmed changelog match.
Organisations named here
- Agentjacking
- CWE-94
- Plugin4Shell
- SymJack
- TrustFall
- Wiz Research
CVEs named here
- CVE-2025-59536
- CVE-2026-21852
- CVE-2026-35020
- CVE-2026-35021
- CVE-2026-35022
- CVE-2026-12958
- CVE-2026-50549
Technologies named here
- Adversa AI coding agent security platform
- Claude Code
- Gemini CLI
- Check Point Research
- Cursor
- Tenet Security
- Wiz
- VS Code
- GitHub Copilot CLI
- AIR Security
- Grok Build CLI
- SafeDep
- VulnCheck
- Codex Agent
- OSV
- Amazon Q
- GitHub automated sweep
- Windsurf
- Google Antigravity
- Azure/durabletask
- Azure/functions-action
- Sentry MCP server
- Bitbucket and self-hosted plugin marketplaces
- Model Context Protocol
- Sentry
- Codex
- durabletask
Techniques named here
- SessionStart hook config injection
- TrustFall / unsandboxed MCP server execution
- Pre-trust-dialog config read / code injection
- Agentjacking
- Deny-rule bypass above 50-subcommand analysis cap
- SymJack
- GhostApproval
- Plugin4Shell
- ToolLeak
- SkillCloak
Threat actors named here
- Miasma worm
Related in AI Security
