MCP Server Configuration Tampering
Description
Adversary Behavior: An adversary modifies the Model Context Protocol (MCP) configuration consumed by an LLM-integrated IDE to register malicious tool servers or alter existing server definitions.
AI/IDE Mechanism: MCP defines how the IDE discovers and invokes external tools (file operations, database queries, API calls, shell commands) on behalf of the LLM agent. The IDE's tool approval system trusts the MCP configuration state, meaning changes to tool definitions take effect without triggering re-authorization prompts for previously approved tool names.
Execution Path: The adversary tampers with MCP configuration files to introduce new tool endpoints that execute arbitrary commands, modify existing tool definitions to redirect operations to adversary-controlled servers, or alter approval policies so that previously authorized tools now execute different code. Configuration changes can be introduced through repository commits, shared configuration files, or supply chain compromise of MCP server packages.
Security Impact: The adversary achieves persistent arbitrary execution through the IDE's tool invocation system, exploiting the trust relationship between the IDE's approval mechanism and the MCP configuration state. All subsequent tool invocations by the agent may be intercepted, redirected, or augmented with malicious behavior.
Platforms
Detection
Monitor MCP configuration files for unauthorized modifications. Track the set of registered MCP tool servers and alert on new registrations. Log all tool invocations with their originating context. Validate that tool server endpoints resolve to expected destinations.
Detecting Data Components (6)
Mitigations (2)
Data Sources
References
STIX Metadata
| type | attack-pattern |
| id | attack-pattern--4b958db0-221a-48b1-850d-3dbf28ca4830 |
| spec_version | 2.1 |
| created | 2026-02-23T00:00:00.000Z |
| modified | 2026-02-23T00:00:00.000Z |
| created_by_ref | identity--f5b5ec62-ffbd-4afd-9ee5-7c648406e189 |
| x_mitre_is_subtechnique | False |
| x_mitre_version | 0.1 |
| x_mitre_status | mapped |