Skip to content

MCP Invisible-Unicode Tool Poisoning (Approval-View Fidelity Gap)

mcp-invisible-unicode-poisoning is a high severity check in the ai category, written in python. Its source is templates/ai/mcp/mcp-invisible-unicode-poisoning.py in cert-x-gen-templates.

Detects MCP servers whose advertised tool, prompt, resource or instructions text carries Unicode that a human approval view never renders but the connected model still reads - TAG-block payloads, zero-width carrier runs, and Trojan-Source bidi controls

Field Value
Id mcp-invisible-unicode-poisoning
Severity high
Language python
Category ai
Author Bugb Research
Template version 1.0.0
Confidence 100
CVSS 8.2
Weakness CWE-1427, CWE-1007
Tags mcp, ai, agent, tool-poisoning, prompt-injection, unicode, trojan-source, cwe-1427
Target kind http
Oracle property

Declared in the header. cxg parses @references and then discards it, and nothing at scan time reads it, so this is the only place the links a template cites are surfaced.

To see what the copy on your machine says about itself, and to confirm it is installed at all:

Terminal window
cxg template info mcp-invisible-unicode-poisoning

The id it prints is the one to pass anywhere a template is selected. See cxg template for the rest of the subcommand, Scan a target for running a scan, and A match is not a finding for how to read what comes back.