v0.2.0 · live
CAPFRAME
← leaderboard/OpenAI Docs MCP/tool · fetch_openai_doc
§ toolhttpOpenAI Docs MCP

fetch_openai_doc

on https://developers.openai.com/mcp

Severity

critical0
high0
medium2
low0
info0

2 findings on this tool

  1. mediumunconstrained inputf-r1-fetch_openai_doc

    Tool `fetch_openai_doc` accepts unconstrained string input

    The following string parameter(s) have no `maxLength` constraint: `anchor`, `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_openai_doc

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

    Description: "Fetch the markdown for a specific doc page (from `developers.openai.com` or `platform.openai.com`) so you can quote/summarize exact, up-to-date guidance (schemas, examples, limits, edge cases). Prefer to **`search_openai_docs` first** (or `list_openai_docs` if you’re browsing) to find the best URL, then `fetch_openai_doc` to pull the exact text; you can pass `anchor` (e.g. `#streaming`) to fetch just that section." -- 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_openai_doc is one of 5 tools exposed by OpenAI Docs MCP. The server scored 88/100 overall against the capframe rule engine (source: http). Last scanned 2026-06-05.

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