Runtime Provenance Contracts for Mitigating Tool Poisoning in MCP Agents
A Paired Evaluation on MCPTox Across Six Models
We deployed and evaluated an independent defensive second arm on the Model Context Protocol Poisoning benchmark (MCPTox), testing whether a client-side runtime provenance contract on tool-call arguments with call-only retry gating mitigates tool poisoning across six model rungs. We interposed a deterministic five-stage policy engine between model generations and tool execution that enforces envelope formatting, tool enumeration allowlists, strict schema argument boundaries, and verbatim substring-grounding against user turns, granting a single retry gated strictly on contract-blocked calls.

- Significant attack reduction: On 300 MCPTox instances across six models via one gateway, the provenance contract achieved a statistically significant paired mean score reduction (Mean Δ = -0.2194, 95% CI [-0.2400, -0.1983], p < 0.0001, d_z = -0.49), cutting pooled valid ASR from 30.32% to 7.41% (and raw ASR from 28.83% to 6.89%).
- Asymmetric transition matrix: Removed 421 attack successes while inducing only 26 (McNemar exact p = 5.61 × 10-93), demonstrating that defensive filtering interdicts true malicious tool invocations rather than shifting failure modes.
- Autonomous refusal regime: Gemini 3.7 Flash (R5) reduction was non-significant (b=5, c=1, p=0.2188) due to high baseline resistance in Arm A (valid ASR 3.01%), leaving minimal attack margin for the contract to suppress.
- Operational false-block penalty: Replay over 10,227 traces indicates substring grounding false-blocks 24.5% of legitimate actions when tasks require ungrounded world knowledge.




