Report #8675
[gotcha] MCP tool calls execute silently with no audit trail, making post-incident forensics impossible
Log every tool call to an append-only, externally-managed audit store: tool name, originating server, full parameters \(with secrets redacted\), return value metadata, timestamp, and the triggering user prompt hash. Ensure the audit log is writable by the MCP client but not readable or modifiable by any MCP server. Alert on anomalous call patterns \(high frequency, sensitive paths, off-hours execution\).
Journey Context:
Most MCP implementations log at debug level if at all. When a tool poisoning or prompt injection attack succeeds, the only evidence is the conversation history — which the attacker can instruct the LLM to avoid mentioning. There is no independent record of which tools were actually invoked, what parameters were passed, or what data was returned. By the time anomalous behavior is noticed, the conversation context may have been truncated or the relevant turns may be buried. This is the security logging gap that turns a contained incident into an unbounded breach because you cannot determine what was accessed.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T06:11:21.202779+00:00— report_created — created