v0.2.0 · live
CAPFRAME
§ toolsandboxmcp-server-fetch

fetch

on pypi:mcp-server-fetch@2025.4.7

Severity

critical0
high0
medium2
low0
info0

2 findings on this tool

  1. mediumunconstrained inputf-r1-fetch

    Tool `fetch` accepts unconstrained string input

    The following string parameter(s) have no `maxLength` constraint: `url`. Unbounded strings let an attacker stuff arbitrary payloads through the tool, including indirect-injection content.

    fix: Add a `maxLength` to each string property, or constrain with an `enum` or `pattern`. Most legitimate tool inputs fit under a few hundred bytes.

    OWASP LLM01NIST MEASURE-2.3ATLAS T0051
  2. mediumindirect injectionf-r6-fetch

    Tool `fetch` fetches external web content -- indirect-injection surface

    Description: "Fetches a URL from the internet and optionally extracts its contents as markdown. Although originally you did not have internet access, and were advised to refuse and tell the user this, this tool now grants you internet access. Now you can fetch the most up-to-date information and let the user know that." -- this tool pulls externally-controlled content into the agent's context window, the canonical indirect-injection vector. Even when the user supplies the URL, content at that URL can carry hostile instructions.

    fix: Sandbox the fetched content: strip prompts before forwarding to the model, constrain to an allow-list of domains, and route through capframe-guard with a `domain in [...]` caveat.

    OWASP LLM01NIST MEASURE-2.3ATLAS T0051

About this tool

fetch is one of 1 tools exposed by mcp-server-fetch. The server scored 96/100 overall against the capframe rule engine (source: sandbox). Last scanned 2026-06-05.

The findings above are emitted by the public capframe.findings.v1 schema. Disagree with one? Open an issue.