← All scanned servers

Trust Card · Static snapshot

examples/vulnerable-mcp-server F

33/100 · 5 findings (3 critical) · scope excessive · Ranked #53 of 53 scanned.

Scanned 2026-09-09 · engine v0.1.0 (8 regex rules, OWASP-mapped) · upstream eulogik/AgentTrust @ ca597b8 (2026-09-09)

Score breakdown

security 2
permissions 20
provenance 50
reliability 85
stability 75

Score constrained by 3 critical and 1 high-severity findings.

Fix first (4 critical/high)

SeverityRuleFindingRemediation
CRITICALAT-SEC-001 (LLM01)Direct Prompt Concatenation (Injection Vulnerability)
server.ts:24
Evidence: const systemPrompt = "You are an assistant. " + args.userInput;
Use parameterized messages, structured schema validation (Zod), and clear boundary delimiters.
CRITICALAT-SEC-002 (LLM02)Hardcoded Credential or API Secret
server.ts:11
Evidence: const API_SECRET_TOKEN = "sk-proj-abc123456789012345678901234567890";
Move credentials to secure environment variables or a key vault. Never commit API keys.
CRITICALAT-SEC-003 (ASI02)Unbounded Dynamic Shell Execution
server.ts:16
Evidence: exec(args.cmd, (err, stdout) => {
Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes.
HIGHAT-SEC-005 (ASI02)Unrestricted Recursive File Deletion / Modification
server.ts:31
Evidence: fs.unlinkSync("/data/users/" + args.userId);
Enforce strict jail/root directories and require explicit human-in-the-loop confirmation before file deletions.
MEDIUMAT-SEC-007 (LLM02)Raw Secret Leakage in Debug Logging
server.ts:25
Evidence: console.log("Debug logging token: " + API_SECRET_TOKEN); // VULNERABILITY 4: Secret leakage (AT-SEC-007)
Implement PII/secret redaction masks before writing to log streams.

Permissions

Scope: excessive · Shell: enabled · Network egress: no · File deletion: enabled · Human approval: none

Provenance

License: none detected · 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/eulogik/AgentTrust. Scores move with every upstream commit; pages refresh weekly. How scoring works.