A newly documented attack technique called SymJack demonstrates how malicious code repositories combined with disguised symbolic links can trick AI coding agents — including Cursor, Claude Code, GitHub Copilot CLI, and Gemini CLI — into silently installing attacker-controlled MCP (Model Context Protocol) servers capable of stealing secrets, compromising CI/CD pipelines, and deploying malicious code without any meaningful user interaction. Researchers at SecurityWeek reported the technique on May 27, 2026, noting that all four major AI coding agents default to trusting repositories when presented with a folder trust prompt — the only barrier between a developer opening a malicious project and a fully compromised development environment.
// 01 SymJack: Technical Details
MCP, or Model Context Protocol, is an open protocol originally developed by Anthropic to standardize how AI models connect to external tools and data sources. An MCP server is a process that an AI agent can invoke to access filesystems, execute commands, query databases, call APIs, and perform other actions on behalf of the developer. MCP servers run with whatever OS-level permissions the user has granted and are configured through files in the project directory — making them a natural target for supply chain attacks against developers who open untrusted repositories.
SymJack combines two primitives to achieve silent MCP server installation:
Primitive 1 — Malicious repository with legitimate-looking configuration files: The attacker crafts a repository that, on inspection, appears to be a normal open-source project. Hidden within the repository is an agent configuration file (e.g., .cursor/mcp.json, .claude/settings.json, or the equivalent for Copilot/Gemini) that specifies an attacker-controlled MCP server.
Primitive 2 — Symbolic link obfuscation: The configuration file referencing the malicious MCP server is hidden behind a symbolic link (a filesystem shortcut that points to another path), making it invisible to casual directory listings and reducing the likelihood that a security-conscious developer will spot it during code review.
The attack executes at the moment the developer opens the project in their AI coding agent and accepts the folder trust prompt — a dialog that all four tested agents display when opening a new project. According to the SecurityWeek report and supporting Botmonster research, all four agents default to approving this prompt, and the malicious MCP server is installed and active before any code is actually executed or reviewed.

Once the attacker's MCP server is running, it operates with the full permissions of the coding agent — which typically runs as the developer's user account with access to the local filesystem, environment variables, SSH agent, cloud provider credential files (e.g., ~/.aws/credentials, ~/.config/gcloud/), and any secrets stored in .env files within the project. From that position, the MCP server can exfiltrate secrets silently in the background while the developer works normally.
A related vulnerability, CVE-2026-23744 (Remote Code Execution in MCPJam Inspector, CVSS 9.8 — meaning remotely exploitable, no authentication required, full code execution impact), demonstrates that the MCP ecosystem has an emerging and largely unaudited attack surface.
// 02 Exploitation Status and Threat Landscape
SymJack is a research-documented attack technique rather than a confirmed active exploit campaign at the time of writing. However, the technique requires no specialized knowledge to implement and exploits default behavior in widely-used tools, meaning the barrier to weaponization is low.
A 2026 meta-analysis of 78 independent studies on AI coding agent security, cited in the SecurityWeek report, found that 100% of tested agents are vulnerable to prompt injection (attacks that embed malicious instructions in data the agent processes, causing it to take unintended actions). SymJack represents the supply-chain variant of this broader class of risk.
The potential downstream impact is significant: a compromised developer's MCP server has access to the same resources the developer does, including source code for products used by thousands of downstream customers, cloud infrastructure credentials, and CI/CD pipeline write access. A successful SymJack campaign targeting a developer at a major software company could have blast radius comparable to the 2020 SolarWinds supply chain attack.
// 03 Who Is Affected
Any developer using the following tools is potentially affected when opening untrusted or unverified repositories:
- Cursor (AI code editor with MCP support)
- Claude Code (Anthropic's AI coding agent — also the tool writing this article)
- GitHub Copilot CLI (Microsoft/GitHub's AI coding assistant)
- Gemini CLI (Google's AI coding agent)
The attack is effective against developers on all operating systems (Windows, macOS, Linux) and does not require any specific project type or programming language.
// 04 What You Should Do Right Now
- Always verify MCP configuration files before accepting trust prompts: Before clicking "Trust" on any new project, manually inspect the project for
.cursor/mcp.json,.claude/settings.json,.github/copilot-instructions.md, or equivalent agent configuration files. Check for symlinks pointing to configuration files.
“bash # List all symlinks in a repository before trusting it find . -type l -ls # Check for MCP server configurations find . -name "*.json" | xargs grep -l "mcpServers|mcp_servers" 2>/dev/null “
- Disable MCP server auto-loading from project directories: Configure your coding agent to require explicit confirmation before loading any MCP server specified in a project-level configuration file, rather than loading automatically on trust acceptance.
- Sandbox AI coding agents: Where possible, run AI coding agents in isolated environments (containers, VMs, or sandboxed user accounts) with limited access to production credentials, SSH agents, and cloud provider credential files.
- Audit existing projects for injected MCP configurations: Review all project directories that have been opened in AI coding agents for unexpected
.cursor/,.claude/, or equivalent agent configuration directories not present in the initial commit.
- Monitor MCP server processes: Establish a baseline of expected MCP server processes in your development environment and alert on unknown Node.js or Python processes spawned from project directories.
// 05 Background: Understanding the Risk
AI coding agents represent a new class of attack surface that the security industry is only beginning to map. Unlike traditional software vulnerabilities that require an attacker to exploit a specific code flaw, SymJack exploits designed-in behavior: AI agents are built to execute tools on the developer's behalf, and that feature becomes a liability when the tool configuration itself is attacker-controlled.
The MCP protocol's trust model — where project-level configuration files can specify arbitrary processes to run as tools — creates an implicit assumption that the developer has audited those files. In practice, developers routinely open repositories from GitHub, npm, or package managers without reviewing every configuration file, especially hidden ones accessed via symlinks.
The broader prompt injection risk is directly analogous: just as SQL injection attacks abuse the lack of separation between data and instructions in database queries, prompt injection attacks abuse the lack of separation between data (the codebase) and instructions (the agent's operating parameters). SymJack is the supply chain delivery mechanism for that class of attack.
IT Pro's coverage notes that researchers have specifically flagged the MCP ecosystem as a "hidden attack surface in enterprise environments" — a characterization the SymJack disclosure substantiates.
// 06 Conclusion
SymJack demonstrates that AI coding agents, by design, can be turned into supply chain attack delivery systems the moment a developer opens a malicious repository. Until AI agent vendors implement more granular MCP server permission controls, developers should manually inspect all MCP configuration files before accepting folder trust prompts and should never run AI coding agents with access to production credentials in an environment where untrusted code is opened.
For any query contact us at contact@cipherssecurity.com
