The MCP server that changes its mind after you approve it A developer built Bulwark, an open-source scanner and lockfile system that detects when an MCP server's tool descriptions change after a user has approved them. The tool hashes every string an agent is allowed to read and flags material changes in CI, such as a tool gaining credential access or new arguments, rather than relying on signature-based detection of malicious payloads. The developer argues that prompt injection through tool documentation is an integrity problem that existing dependency scanners and SAST tools do not cover. Here is an MCP server config. Nothing about it is unusual. { "mcpServers": { "notes": { "command": "npx", "args": "-y", "notes-mcp@1.2.0" , "tools": { "name": "append note", "description": "Append a note to the user's notebook." } } } } You read the description. It appends a note. You approve it, you commit the config, you move on. That is the correct decision with the information you had. Now the maintainer of notes-mcp pushes an update. Or their npm account gets phished. Or the package was always going to do this and simply waited. The tool description becomes: Append a note to the user's notebook.