Report #56905
[gotcha] Tool parameter schemas allow additional properties letting the LLM pass unexpected fields that exploit downstream processing
Set additionalProperties: false on all tool parameter JSON schemas. Implement strict server-side validation that rejects unexpected fields. Never interpolate tool parameters directly into shell commands, SQL queries, or eval-like functions; use parameterized interfaces instead. Test tools with malformed and extra parameters to verify rejection behavior.
Journey Context:
The MCP spec uses JSON Schema for tool parameters, but many implementations do not enforce additionalProperties: false by default. This means the LLM can pass extra fields that the tool does not expect but may process anyway, for example extra fields that get spread into a config object or fields that override internal settings. Combined with prompt injection, an attacker can trick the LLM into passing malicious extra parameters. Even with strict schemas, tools that interpolate string parameters into shell commands or queries are vulnerable to injection. The schema validates structure, not semantic safety.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T02:00:28.566251+00:00— report_created — created