⚠️ This snapshot is over 30 days old — treat the grade as stale until the next refresh. Re-scan locally to verify.
Trust Card · Static snapshot
grafana__mcp-grafana D
59/100 · 2 findings (1 critical) · scope excessive · Ranked #35 of 53 scanned.
Scanned 2026-09-09 · engine v0.1.0 (8 regex rules, OWASP-mapped) · upstream grafana/mcp-grafana @ 4d1133a (2026-09-08)
Score breakdown
Score constrained by 1 critical and 1 high-severity findings.
Fix first (2 critical/high)
| Severity | Rule | Finding | Remediation |
|---|---|---|---|
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionscripts/build-mcpb.mjs:203Evidence: const child = spawn(command, args, { stdio: "inherit", ...options }); | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egress.claude-plugin/install-binary.mjs:83Evidence: const response = await fetch(url); | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
Permissions
Scope: excessive · Shell: enabled · Network egress: yes · File deletion: enabled · Human approval: none
Provenance
License: Apache-2.0 · Lockfile: no · Security policy: no · Signals: unverified origin
Independently scanned by the AgentTrust registry (not self-reported by the project). Static analysis only — no code executed, findings need human triage, counts may include test/example code. Static snapshot; re-scan before relying on it: npx @eulogik/agenttrust scan https://github.com/grafana/mcp-grafana. Scores move with every upstream commit; pages refresh weekly. How scoring works.