Report #8398
[gotcha] No audit trail for MCP tool invocations enables undetected compromise
Log every tool invocation with timestamp, tool name, parameters \(with secrets redacted\), caller identity, server identity, and result status; implement real-time alerting for sensitive tool patterns \(file reads of credential paths, outbound network calls, shell executions\); make logs append-only and ship to external SIEM; add request IDs to correlate tool call chains
Journey Context:
The MCP protocol does not mandate logging, auditing, or telemetry for tool invocations. Most client implementations don't log tool calls by default. When a compromise occurs — data exfiltration, unauthorized file modification, credential theft — there is no forensic trail to detect the attack or reconstruct what happened. This is especially critical because MCP tool calls happen autonomously at the LLM's discretion, often without the user being aware of every call. A slow data exfiltration attack that reads one sensitive file per day can persist indefinitely without detection. The lack of observability is a protocol-level gap, not an implementation bug. Unlike traditional API calls where the developer writes every invocation, MCP tool calls are generated by the LLM and invisible to standard application logging.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T05:21:30.631201+00:00— report_created — created