
Attack scenario 1: Malicious code and credential theft via supply chain
Attack scenario 2: Over-privileged credentials enable lateral movement
Attack scenario 3: Prompt injection triggers unauthorized database operations
Attack scenario 4: Exposed Remote MCP Servers with no authentication
Attack scenario 5: Credential leakage through logs and crash dumps
Detecting MCP security incidents
The final scenario does not involve an active attacker at all, at least not initially. The credentials leak through normal operational processes, and the attacker later finds them.
During a debugging session, a developer enables verbose logging on an MCP server to trace an authentication failure with the GitHub API. The debug logs capture the full HTTP request, including the Authorization: Bearer ghp_... header. These logs are shipped to the team's centralized logging platform (Datadog, Splunk, ELK). Six months later, an attacker who compromises the logging platform, or an insider who should not have access to production credentials, searches for common credential patterns and finds valid GitHub tokens, database connection strings, and AWS access keys, enough to access sensitive data across multiple services and establish persistent access.
A related vector involves crash dumps. When an MCP server crashes, the operating system may generate a core dump that captures the entire process memory, including every credential loaded at startup. If crash reports are sent to an error tracking service or attached to a bug report in a public issue tracker, the credentials are exposed.
Each scenario above includes detection signals tied to their specific attack vector. But in practice, you will get better results by connecting signals across multiple layers rather than relying on a single alert. The checklist below provides a starting point for building layered coverage.
Trusted by the world’s best DevOps and security teams. Doppler is the secrets manager developers love.
