Carto Md — 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.
{
"tool": {
"name": "mcptrustchecker",
"version": "1.13.0",
"methodologyVersion": "mcptrustchecker-1.13"
},
"target": {
"id": "carto-md",
"source": {
"kind": "package",
"origin": "carto-md"
},
"server": {
"name": "carto-md"
}
},
"grade": "A",
"score": {
"score": 91,
"threatScore": 99,
"grade": "A",
"band": "A",
"categorySubtotals": {
"injection": 0,
"exfiltration": 0,
"permissions": 0,
"supply-chain": 1.2,
"network": 0,
"hygiene": 0
},
"vector": [
{
"kind": "threat",
"ruleId": "MTC-SUP-010",
"category": "supply-chain",
"severity": "low",
"confidence": "heuristic",
"rawWeight": 3,
"confidenceMult": 0.4,
"diminishingFactor": 1,
"appliedPenalty": 1.2
},
{
"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": "none",
"label": "publisher verification (unlinked) — no provenance/repo link, but the shipped source was fully read",
"appliedPenalty": 2
},
{
"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": [
"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"
]
},
"coverage": {
"level": "source",
"inputs": {
"toolSurface": true,
"implementationSource": true,
"packageMetadata": true,
"liveTransport": false
},
"caveats": [
"Tools were statically extracted from the published source (86 recovered), not enumerated from a running server. Tool-poisoning, Unicode-smuggling, capability and toxic-flow analysis ran on this inferred surface, but a mis-parsed registration could be missed or mis-attributed, so tool-derived findings are capped below “confirmed”. To grade the real runtime surface, scan the running server: --command \"npx -y <package>\"."
]
},
"findings": [
{
"ruleId": "MTC-SRC-006",
"title": "Reads a sensitive credential path or dumps the environment (src/security/ignore.js)",
"category": "exfiltration",
"severity": "high",
"confidence": "strong",
"description": "In the server's implementation (`src/security/ignore.js:24`): 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": "src/security/ignore.js"
},
"evidence": "be caught by *.key) 'id_rsa', 'id_rsa.pub', 'id_ed25519', 'id_ed25519.pub', 'id_ecdsa', 'id_ecdsa.pub', '",
"owasp": "LLM02:2025 Sensitive Information Disclosure",
"data": {
"rule": "MTC-SRC-006",
"file": "src/security/ignore.js",
"line": 24,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-002",
"title": "Shell/command execution in server code (src/acp/safety.js)",
"category": "permissions",
"severity": "high",
"confidence": "strong",
"description": "In the server's implementation (`src/acp/safety.js:22`): 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": "src/acp/safety.js"
},
"evidence": "{ execFile } = require('child_process'); const DEFAULT_TIMEOUT_MS = 30_000; const DEFAULT_MAX_OUTPUT_BYTES = 1_048_576;",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-002",
"file": "src/acp/safety.js",
"line": 22,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-002",
"title": "Shell/command execution in server code (src/anci/git-meta.js)",
"category": "permissions",
"severity": "high",
"confidence": "strong",
"description": "In the server's implementation (`src/anci/git-meta.js:19`): 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": "src/anci/git-meta.js"
},
"evidence": "ecFileSync } = require('child_process'); /** * git(root, args) → trimmed stdout string, or null on any failure. */ fu",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-002",
"file": "src/anci/git-meta.js",
"line": 19,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-002",
"title": "Shell/command execution in server code (src/brain/procedural/index.js)",
"category": "permissions",
"severity": "high",
"confidence": "strong",
"description": "In the server's implementation (`src/brain/procedural/index.js:49`): 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": "src/brain/procedural/index.js"
},
"evidence": "ecFileSync } = require('child_process'); let log; try { log = execFileSync('git', [ '-C', temporalStore._p",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-002",
"file": "src/brain/procedural/index.js",
"line": 49,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-002",
"title": "Shell/command execution in server code (src/brain/working/index.js)",
"category": "permissions",
"severity": "high",
"confidence": "strong",
"description": "In the server's implementation (`src/brain/working/index.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": "src/brain/working/index.js"
},
"evidence": "ecFileSync } = require('child_process'); /** * getUncommittedFiles(projectRoot) → Array<{ path, change_kind }> * * U",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-002",
"file": "src/brain/working/index.js",
"line": 16,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-002",
"title": "Shell/command execution in server code (src/cli/check.js)",
"category": "permissions",
"severity": "high",
"confidence": "strong",
"description": "In the server's implementation (`src/cli/check.js:3`): 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": "src/cli/check.js"
},
"evidence": "{ execSync } = require('child_process'); const path = require('path'); const fs = require('fs'); const { SQLiteStore } =",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-002",
"file": "src/cli/check.js",
"line": 3,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-002",
"title": "Shell/command execution in server code (src/cli/init.js)",
"category": "permissions",
"severity": "high",
"confidence": "strong",
"description": "In the server's implementation (`src/cli/init.js:372`): 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": "src/cli/init.js"
},
"evidence": "spawnSync } = require('child_process'); const cmd = process.platform === 'win32' ? 'where' : 'which'; const r =",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-002",
"file": "src/cli/init.js",
"line": 372,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-002",
"title": "Shell/command execution in server code (src/cli/pr-impact.js)",
"category": "permissions",
"severity": "high",
"confidence": "strong",
"description": "In the server's implementation (`src/cli/pr-impact.js:35`): 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": "src/cli/pr-impact.js"
},
"evidence": "ecFileSync } = require('child_process'); const { SQLiteStore } = require('../store/sqlite-store'); const { StoreAdapter",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-002",
"file": "src/cli/pr-impact.js",
"line": 35,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-002",
"title": "Shell/command execution in server code (src/mcp/middleware/index.js)",
"category": "permissions",
"severity": "high",
"confidence": "strong",
"description": "In the server's implementation (`src/mcp/middleware/index.js:361`): 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": "src/mcp/middleware/index.js"
},
"evidence": "s, spawn = require('child_process').spawn, clientIn = process.stdin, clientOut = process.stdout, stderr",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-002",
"file": "src/mcp/middleware/index.js",
"line": 361,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-002",
"title": "Shell/command execution in server code (src/predictive/ownership.js)",
"category": "permissions",
"severity": "high",
"confidence": "strong",
"description": "In the server's implementation (`src/predictive/ownership.js:15`): 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": "src/predictive/ownership.js"
},
"evidence": "ecFileSync } = require('child_process'); function gitLog(projectRoot, args, timeoutMs = 10_000) { try { return ex",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-002",
"file": "src/predictive/ownership.js",
"line": 15,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-005",
"title": "Dynamic module load from a non-literal (src/cli/doctor.js)",
"category": "permissions",
"severity": "medium",
"confidence": "heuristic",
"description": "In the server's implementation (`src/cli/doctor.js:68`): 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": "src/cli/doctor.js"
},
"evidence": "t err = null; try { require(pkg); loaded = true; } catch (e) { err = e; } results.push({ id: `native-$",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-005",
"file": "src/cli/doctor.js",
"line": 68,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-005",
"title": "Dynamic module load from a non-literal (src/extractors/loader.js)",
"category": "permissions",
"severity": "medium",
"confidence": "heuristic",
"description": "In the server's implementation (`src/extractors/loader.js:26`): 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": "src/extractors/loader.js"
},
"evidence": "{ const plugin = require(fullPath); // Validate plugin shape if (typeof plugin.name !== 'string') {",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-005",
"file": "src/extractors/loader.js",
"line": 26,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-005",
"title": "Dynamic module load from a non-literal (src/mcp/change-plan.js)",
"category": "permissions",
"severity": "medium",
"confidence": "heuristic",
"description": "In the server's implementation (`src/mcp/change-plan.js:888`): 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": "src/mcp/change-plan.js"
},
"evidence": "lower-relevance forward import(s) pruned — run \\`impact\\` on an anchor for the full dependency set._`); } lines.",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-005",
"file": "src/mcp/change-plan.js",
"line": 888,
"nonRuntime": false
}
},
{
"ruleId": "MTC-SRC-001",
"title": "Dynamic code execution in packaging/dev tooling (scripts/gen-api-docs.js)",
"category": "permissions",
"severity": "low",
"confidence": "heuristic",
"description": "In a packaging/dev/install script (shipped, but not the server runtime) (`scripts/gen-api-docs.js:28`): 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": "scripts/gen-api-docs.js"
},
"evidence": "e no-new-func return (new Function(`return ${arrayLiteral}`))(); } function loadTools() { // Cheap eval — extract t",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-001",
"file": "scripts/gen-api-docs.js",
"line": 28,
"nonRuntime": true
}
},
{
"ruleId": "MTC-SRC-002",
"title": "Shell/command execution in packaging/dev tooling (scripts/postinstall.js)",
"category": "permissions",
"severity": "low",
"confidence": "heuristic",
"description": "In a packaging/dev/install script (shipped, but not the server runtime) (`scripts/postinstall.js:22`): 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": "scripts/postinstall.js"
},
"evidence": "spawnSync } = require('child_process'); // ---- Static metadata ---- const GRAMMARS = [ { pkg: 'tree-sitter-javascr",
"owasp": "LLM05:2025 Improper Output Handling",
"data": {
"rule": "MTC-SRC-002",
"file": "scripts/postinstall.js",
"line": 22,
"nonRuntime": true
}
},
{
"ruleId": "MTC-SUP-010",
"title": "Package runs install-time scripts (postinstall)",
"category": "supply-chain",
"severity": "low",
"confidence": "heuristic",
"description": "\"carto-md\" executes postinstall script(s) at install time. An install hook runs at install time; most are routine build/setup, but review what it does before trusting it.",
"remediation": "Review the scripts; install with --ignore-scripts where possible and vet what they do.",
"location": {
"kind": "package",
"name": "carto-md"
},
"evidence": "node scripts/postinstall.js",
"owasp": "LLM03:2025 Supply Chain",
"references": [
"https://github.com/ossf/package-analysis",
"https://owasp.org/www-project-top-10-ci-cd-security-risks/"
],
"data": {
"scripts": [
"postinstall"
]
}
},
{
"ruleId": "MTC-SUP-011",
"title": "Package declares no source repository",
"category": "supply-chain",
"severity": "info",
"confidence": "strong",
"description": "\"carto-md\" declares no repository URL, so its published artifact cannot be compared against reviewable source.",
"remediation": "Prefer packages that link to public, reviewable source.",
"location": {
"kind": "package",
"name": "carto-md"
}
}
],
"toxicFlows": [],
"capabilities": [
{
"tool": "get_routes",
"tags": [],
"reasons": {}
},
{
"tool": "get_blast_radius",
"tags": [],
"reasons": {}
},
{
"tool": "get_structure",
"tags": [],
"reasons": {}
},
{
"tool": "get_domain",
"tags": [],
"reasons": {}
},
{
"tool": "get_neighbors",
"tags": [],
"reasons": {}
},
{
"tool": "get_cross_domain",
"tags": [],
"reasons": {}
},
{
"tool": "get_context",
"tags": [],
"reasons": {}
},
{
"tool": "search_routes",
"tags": [],
"reasons": {}
},
{
"tool": "get_models",
"tags": [],
"reasons": {}
},
{
"tool": "get_high_impact_files",
"tags": [],
"reasons": {}
},
{
"tool": "get_env_vars",
"tags": [
"sensitive-source"
],
"reasons": {
"sensitive-source": [
"keyword \"get_env\""
]
}
},
{
"tool": "get_domains_list",
"tags": [],
"reasons": {}
},
{
"tool": "get_architecture",
"tags": [],
"reasons": {}
},
{
"tool": "get_file_summary",
"tags": [],
"reasons": {}
},
{
"tool": "get_change_plan",
"tags": [],
"reasons": {}
},
{
"tool": "get_similar_patterns",
"tags": [],
"reasons": {}
},
{
"tool": "simulate_change_impact",
"tags": [],
"reasons": {}
},
{
"tool": "validate_diff",
"tags": [],
"reasons": {}
},
{
"tool": "get_recent_decisions",
"tags": [],
"reasons": {}
},
{
"tool": "get_session_context",
"tags": [],
"reasons": {}
},
{
"tool": "did_we_discuss_this",
"tags": [],
"reasons": {}
},
{
"tool": "get_intervention_history",
"tags": [],
"reasons": {}
},
{
"tool": "get_gaps",
"tags": [],
"reasons": {}
},
{
"tool": "dismiss_gap",
"tags": [],
"reasons": {}
},
{
"tool": "set_intent",
"tags": [],
"reasons": {}
},
{
"tool": "get_intent",
"tags": [],
"reasons": {}
},
{
"tool": "get_file_receipts",
"tags": [],
"reasons": {}
},
{
"tool": "get_architectural_drift",
"tags": [],
"reasons": {}
},
{
"tool": "get_domain_evolution",
"tags": [],
"reasons": {}
},
{
"tool": "get_hotspot_files",
"tags": [],
"reasons": {}
},
{
"tool": "get_complexity_trend",
"tags": [],
"reasons": {}
},
{
"tool": "get_churn_vs_blast_radius",
"tags": [],
"reasons": {}
},
{
"tool": "get_arch_events",
"tags": [],
"reasons": {}
},
{
"tool": "get_domain_health",
"tags": [],
"reasons": {}
},
{
"tool": "get_temporal_context",
"tags": [],
"reasons": {}
},
{
"tool": "get_invariants",
"tags": [],
"reasons": {}
},
{
"tool": "get_canonical_pattern",
"tags": [],
"reasons": {}
},
{
"tool": "get_conventions",
"tags": [],
"reasons": {}
},
{
"tool": "get_action_patterns",
"tags": [],
"reasons": {}
},
{
"tool": "scaffold_for_intent",
"tags": [],
"reasons": {}
},
{
"tool": "get_working_memory",
"tags": [],
"reasons": {}
},
{
"tool": "get_pending_decisions",
"tags": [],
"reasons": {}
},
{
"tool": "get_active_drift",
"tags": [],
"reasons": {}
},
{
"tool": "get_active_suggestions",
"tags": [],
"reasons": {}
},
{
"tool": "dismiss_suggestion",
"tags": [],
"reasons": {}
},
{
"tool": "get_minimal_context_for_intent",
"tags": [],
"reasons": {}
},
{
"tool": "get_progressive_disclosure_tree",
"tags": [],
"reasons": {}
},
{
"tool": "get_token_budget_report",
"tags": [
"sensitive-source"
],
"reasons": {
"sensitive-source": [
"keyword \"get_token\""
]
}
},
{
"tool": "get_decision_log",
"tags": [],
"reasons": {}
},
{
"tool": "get_evolution_delta",
"tags": [],
"reasons": {}
},
{
"tool": "get_change_velocity",
"tags": [],
"reasons": {}
},
{
"tool": "get_test_coverage_map",
"tags": [],
"reasons": {}
},
{
"tool": "get_safety_checklist",
"tags": [],
"reasons": {}
},
{
"tool": "get_data_flow",
"tags": [],
"reasons": {}
},
{
"tool": "get_interface_contract",
"tags": [],
"reasons": {}
},
{
"tool": "explain_change_in_natural_language",
"tags": [],
"reasons": {}
},
{
"tool": "get_stale_docs",
"tags": [],
"reasons": {}
},
{
"tool": "get_dependency_surface",
"tags": [],
"reasons": {}
},
{
"tool": "get_upgrade_risk",
"tags": [],
"reasons": {}
},
{
"tool": "get_cross_language_call_graph",
"tags": [],
"reasons": {}
},
{
"tool": "get_iac_resources",
"tags": [],
"reasons": {}
},
{
"tool": "ingest_otlp_traces",
"tags": [],
"reasons": {}
},
{
"tool": "get_risk_weighted_blast_radius",
"tags": [],
"reasons": {}
},
{
"tool": "get_dead_code_with_confidence",
"tags": [],
"reasons": {}
},
{
"tool": "get_hot_in_prod_no_tests",
"tags": [],
"reasons": {}
},
{
"tool": "get_semantic_diff",
"tags": [],
"reasons": {}
},
{
"tool": "get_llm_enrichment",
"tags": [],
"reasons": {}
},
{
"tool": "get_predictive_risk",
"tags": [],
"reasons": {}
},
{
"tool": "get_microservice_cut_points",
"tags": [],
"reasons": {}
},
{
"tool": "validate_change",
"tags": [],
"reasons": {}
},
{
"tool": "get_file_ownership",
"tags": [],
"reasons": {}
},
{
"tool": "get_cross_team_coupling",
"tags": [],
"reasons": {}
},
{
"tool": "get_drift_digest",
"tags": [],
"reasons": {}
},
{
"tool": "get_ai_cost_attribution",
"tags": [],
"reasons": {}
},
{
"tool": "get_org_architecture",
"tags": [],
"reasons": {}
},
{
"tool": "get_service_dependency_graph",
"tags": [],
"reasons": {}
},
{
"tool": "get_cross_repo_blast_radius",
"tags": [],
"reasons": {}
},
{
"tool": "find_consumers_of_api",
"tags": [],
"reasons": {}
},
{
"tool": "get_org_domain_mapping",
"tags": [],
"reasons": {}
},
{
"tool": "get_service_boundary_violations",
"tags": [],
"reasons": {}
},
{
"tool": "get_microservices_migration_cut_points",
"tags": [],
"reasons": {}
},
{
"tool": "impact",
"tags": [],
"reasons": {}
},
{
"tool": "memory",
"tags": [],
"reasons": {}
},
{
"tool": "history",
"tags": [],
"reasons": {}
},
{
"tool": "patterns",
"tags": [],
"reasons": {}
},
{
"tool": "org",
"tags": [],
"reasons": {}
}
],
"surfaceDigest": "79b920d4e5264e6c2d9bfeeb5a482b80148afa429d7ca0e8bba17428275082d2",
"stats": {
"tools": 86,
"prompts": 0,
"resources": 0,
"findingsBySeverity": {
"critical": 0,
"high": 10,
"medium": 3,
"low": 3,
"info": 1
}
}
}