MCP tool metadata contains hidden or obfuscated characters
AGENT-META-008 · v1.0
What it detects
One or more MCP tool names or descriptions contain hidden or obfuscated Unicode characters — zero-width joiners/spaces, bidi-override controls, or private-use-area codepoints.
Why it matters
These characters are typically invisible to a human reviewing the tool list but fully visible to the agent's language model, making them a channel for hiding instructions in plain sight.
How to fix
- Review the flagged tool names/descriptions (in the finding's `examples`) — the hidden characters won't be visible when read normally; inspect the raw bytes/codepoints or paste into a tool that reveals zero-width and control characters. - Strip zero-width characters (U+200B-200D, U+FEFF), bidi-override control characters (U+202A-202E, U+2066-2069), and private-use-area codepoints from every tool name and description before serving `tools/list`. - If the hidden characters were unintentional (commonly introduced by copy-pasting from a rich-text editor, CMS, or another tool's output), re-author the affected metadata as plain text rather than trying to selectively strip characters. - Verify: re-fetch `tools/list` and run each tool name/description through a Unicode codepoint scan; confirm none contain zero-width, bidi-override, or private-use-area characters.
References
Last reviewed: 2026-09-01 · rule v1.0