MCP server hardening linter — capability declarations, transport, tool descriptions
- capability exposure inferred + 10
- tool safety inferred + 12
- trust mitigators mixed − 3
inferred mixed
The A–E grade is our heuristic synthesis — a "review this" prompt, not a verdict. Each factor is tagged by what backs it: attested (a verifiable record), reported (a third party's claim), or inferred (our own heuristic, e.g. permissions). See methodology.
grade last moved 3d ago · see ecosystem CVEs →
- B · 31 → B · 19
- C · 39 → B · 31
- B · 24 → C · 39
- B · 32 → B · 24
- B · 27 → B · 32
- C · 39 → B · 27
- B · 31 → C · 39
- B · 34 → B · 31
- A · 0 → B · 34
No known CVEs for this server.
- high dangerous code
committed secret: Stripe live key · dynamic exec: __import__ sink
analyzed commit f70545d · analyzer v33 · 1w ago
danger signals5
- dynamic code execution __import__ sink cognis-digital-mcpharden-f70545d/mcpharden/cli.py :333
paths = [args.config] if args.config else [p for p in default_config_paths() if __import__("os").path.exists(p)] - committed secret Stripe live key cognis-digital-mcpharden-f70545d/demos/01-basic/weather-server.json :14
sk_liv…(31 chars, redacted) - committed secret Stripe live key cognis-digital-mcpharden-f70545d/demos/fixtures/fleet/files-mcp.json :5
sk_liv…(28 chars, redacted) - committed secret Stripe live key cognis-digital-mcpharden-f70545d/demos/fixtures/fleet/github-mcp.json :5
sk_liv…(28 chars, redacted) - committed secret Stripe live key cognis-digital-mcpharden-f70545d/demos/fixtures/public-rce-server.json :13
sk_liv…(31 chars, redacted)
Heuristic, inferred signals — false positives (legitimately powerful tools, forks, language ports) are expected. Treat each as "review this", not a verdict. See the ecosystem-wide picture on the security hub, or the fleet security of cognis-digital.