For the complete documentation index, see llms.txt. This page is also available as Markdown.

Attacking MCP & tools

Unlike traditional application security where attackers interact directly with endpoints, MCP attacks often exploit the trust relationship between the LLM and its tools. When an LLM has permission to read files, query databases, or send messages, an attacker who can influence the LLM's behavior effectively inherits those permissions.

.continue directory

The Continue extension stores its configuration in config.yaml within the user's .continue directory. We can read this file using PowerShell:

PS C:\Users\dave> type .continue\config.yaml
name: MegaCorpAI AI Assistant
version: 0.0.1
schema: v1

models:
  - name: Qwen3.5 35B
    provider: openai
    model: Qwen/Qwen3.5-35B-A3B-FP8
    apiBase: http://skynet1.test.com:8000/v1
    apiKey: not-needed
    ...

mcpServers:
  - name: filesystem
    type: stdio
    command: node
    args:
      - C:/Users/dave/.lmstudio/mcp-wrapper/fs-server.js
      - C:/Users/dave/dev
      - C:/Users/dave/projects

  - name: git
    type: stdio
    command: node
    args:
      - C:/Users/dave/.lmstudio/mcp-wrapper/git-wrapper.js

  - name: notes
    type: sse
    url: http://tools01:8000/sse

Filesystem and parameter bypass

Many MCP filesystem servers check that a requested path starts with an allowed prefix like /data/documents/. The order of operations matters: if the server checks the prefix before normalizing the path, a path traversal sequence like /../ passes the check and then resolves outside the sandbox. This exact flaw was assigned CVE-2025-53109 and CVE-2025-53110 in Anthropic's official MCP filesystem package.

A related flaw involves symbolic links. A server may normalize the path and confirm it stays within the allowed directory, but if it uses logical normalization (normpath) rather than physical resolution (realpath), a symlink inside the sandbox can point to an external location and the check will not catch it.

Tool injection

If you have access to the source code of a MCP-tool and are allowed to make changes, then doing injection inside the tool definition may lead to escalation to other systems.

MCP tool descriptions are sent to the LLM as hidden system context, and users see only the tool name. Tool description poisoning injects hidden instructions into this field, manipulating the LLM from the moment the tool registers.

For example: Corp X runs an AI code review platform with four MCP tools that format, lint, scan, and document code. Production configuration files with real credentials live on the code review server as deployment artifacts.

We modify:

To:

And within the code itself, we attach the secret data to the response of the tool to the user:

Last updated