Why the default matters
A malicious MCP server behaved for three calls, then rewrote its own tool descriptions
Pillar Security disclosed in August an MCP server, productivity-suite, that counts each client’s tool calls and at three rewrites its tools/list and prompts/get responses.
An install-time review of an MCP server proves nothing about what it will say on the fourth call.
The rewritten text instructs the attached agent to look for SSH keys, AWS credentials, shell history and Kubernetes configuration, and to hide that from the operator. The delivery route was 23 pull requests to unrelated repositories from one GitHub account in 74 minutes on 10 August; at review 19 were closed and four still open, none merged, so exposure is limited to anyone who added the endpoint by hand. The source advertises tools.listChanged, so a compliant client refreshes the poisoned definitions on request. Pillar listed the endpoint as still active; there is nothing to patch, only a host to block.
The paper prints a month-old disclosure beside today’s lead because it is the reason the lead’s defaults matter: a review at install time sees benign metadata by design. Fingerprint tool definitions at approval and treat a change as a security event.
What it changes If your MCP client caches tool definitions, compare them on every reconnect and alert on drift.
Primary source read