Add /ultraresearch-local for structured research combining local codebase analysis with external knowledge via parallel agent swarms. Produces research briefs with triangulation, confidence ratings, and source quality assessment. New command: /ultraresearch-local with modes --quick, --local, --external, --fg. New agents: research-orchestrator (opus), docs-researcher, community-researcher, security-researcher, contrarian-researcher, gemini-bridge (all sonnet). New template: research-brief-template.md. Integration: --research flag in /ultraplan-local accepts pre-built research briefs (up to 3), enriches the interview and exploration phases. Planning orchestrator cross-references brief findings during synthesis. Design principle: Context Engineering — right information to right agent at right time. Research briefs are structured artifacts in the pipeline: ultraresearch → brief → ultraplan --research → plan → ultraexecute. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
156 lines
5.3 KiB
Markdown
156 lines
5.3 KiB
Markdown
# MCP Security Audit Report
|
|
|
|
<!--
|
|
TEMPLATE USAGE
|
|
This is the output template for `/security mcp-audit`.
|
|
The mcp-scanner-agent uses this as a formatting guide — fill every section with real findings
|
|
from the 5-phase MCP analysis. Do NOT output placeholder text.
|
|
If no servers are found, state "No MCP servers configured" and skip per-server sections.
|
|
-->
|
|
|
|
---
|
|
|
|
## Header
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| **Audit scope** | [List of MCP config files examined — e.g. `.mcp.json`, `~/.claude/settings.json`] |
|
|
| **Servers found** | [count] |
|
|
| **Audit date** | [ISO 8601 — e.g. 2026-02-19] |
|
|
| **Auditor** | llm-security v[X.X] — mcp-scanner-agent |
|
|
| **Analysis phases** | Tool descriptions, Source code, Dependencies, Configuration, Rug pull detection |
|
|
|
|
---
|
|
|
|
## MCP Landscape Summary
|
|
|
|
| Server | Source | Transport | Trust Rating | Critical | High | Medium | Low |
|
|
|--------|--------|-----------|--------------|----------|------|--------|-----|
|
|
| `[server-name]` | [local path / npx package / remote URL] | stdio / sse | [Trusted/Cautious/Untrusted/Dangerous] | [n] | [n] | [n] | [n] |
|
|
|
|
**Overall MCP Risk:** [Low / Medium / High / Critical]
|
|
|
|
---
|
|
|
|
## Per-Server Analysis
|
|
|
|
### Server: `[server-name]`
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| **Transport** | stdio / sse |
|
|
| **Command/URL** | `[command and args, or URL]` |
|
|
| **Source** | `[resolved path or "remote package"]` |
|
|
| **Trust Rating** | [Trusted / Cautious / Untrusted / Dangerous] |
|
|
|
|
**Findings:**
|
|
|
|
| # | Severity | Category | Description | OWASP Ref |
|
|
|---|----------|----------|-------------|-----------|
|
|
| 1 | [Critical/High/Medium/Low] | [Category name] | [Finding description] | [LLM0X or ASI0X] |
|
|
|
|
**Evidence:**
|
|
|
|
```
|
|
[Exact code or config excerpt — file:line reference. Redact actual secret values.]
|
|
```
|
|
|
|
**Recommendations:**
|
|
- [Specific, actionable fix per finding]
|
|
|
|
---
|
|
|
|
[Repeat per-server section for each server discovered]
|
|
|
|
---
|
|
|
|
## Overall MCP Risk Assessment
|
|
|
|
**Risk Rating: [Low / Medium / High / Critical]**
|
|
|
|
| Criterion | Description |
|
|
|-----------|-------------|
|
|
| **Low** | All servers Trusted or Cautious, no High+ findings |
|
|
| **Medium** | One or more Cautious servers with High findings |
|
|
| **High** | One or more Untrusted servers |
|
|
| **Critical** | Any server rated Dangerous |
|
|
|
|
---
|
|
|
|
## Recommendations
|
|
|
|
### Keep (no action required)
|
|
|
|
- **`[server-name]`** — Trusted, [n] Low findings only. [Brief positive note.]
|
|
|
|
### Review before next session
|
|
|
|
- **`[server-name]`** — [Cautious/Untrusted], [specific concern to investigate]
|
|
|
|
### Remove or disable immediately
|
|
|
|
- **`[server-name]`** — Dangerous: [one-line critical finding summary]
|
|
|
|
> If all servers are Trusted with no High+ findings, write: "All MCP servers passed trust verification. No action required."
|
|
|
|
---
|
|
|
|
## Footer
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| llm-security version | [e.g. 0.1.0] |
|
|
| Assessment engine | mcp-scanner-agent (5-phase analysis) |
|
|
| OWASP references | LLM Top 10 (2025), Agentic AI Top 10 |
|
|
| Config files scanned | [comma-separated list of files read] |
|
|
| Report generated | [ISO 8601 timestamp] |
|
|
|
|
---
|
|
|
|
<!--
|
|
TRUST RATING CRITERIA (for agents filling in this template)
|
|
|
|
Assign one trust rating per server based on the highest-severity finding:
|
|
|
|
Trusted — No findings above Low, all behavior matches declared purpose
|
|
Cautious — Medium findings present, minor scope excess, no active threats
|
|
Untrusted — High findings, undisclosed network access, or questionable dependencies
|
|
Dangerous — Critical findings: tool poisoning, active exfiltration, rug pull mechanisms
|
|
|
|
OVERALL RISK AGGREGATION
|
|
|
|
The overall MCP risk rating is determined by the worst-case server:
|
|
|
|
Low — All servers Trusted or Cautious with no High+ findings
|
|
Medium — At least one Cautious server with High findings
|
|
High — At least one Untrusted server
|
|
Critical — Any server rated Dangerous
|
|
|
|
SEVERITY CLASSIFICATION
|
|
|
|
Critical — Active threat, immediate exploitation risk (hidden LLM directives in tool
|
|
descriptions, active data exfiltration, credential harvesting, config
|
|
self-modification, rug pull time-bombs)
|
|
High — Significant risk, exploitation likely without mitigation (path traversal
|
|
without sanitization, rug pull mechanisms, known CVEs in direct dependencies,
|
|
undisclosed network calls to external services)
|
|
Medium — Meaningful risk, requires attention (excessive permissions vs. stated purpose,
|
|
missing input validation, remote feature flags without disclosure, plaintext
|
|
tokens in config)
|
|
Low — Informational or best-practice gap (unlocked dependency versions, missing
|
|
README documentation, overly broad but not harmful env var access)
|
|
|
|
ANALYSIS PHASES
|
|
|
|
The mcp-scanner-agent runs 5 phases per server:
|
|
Phase 1 — Tool description analysis (hidden directives, excessive length, unicode)
|
|
Phase 2 — Source code analysis (code execution, network calls, filesystem, credentials)
|
|
Phase 3 — Dependency analysis (npm/pip audit, postinstall scripts, typosquatting)
|
|
Phase 4 — Configuration analysis (permissions vs. stated purpose, auth config)
|
|
Phase 5 — Rug pull detection (dynamic metadata, self-modification, remote flags)
|
|
|
|
RECOMMENDATIONS SORTING
|
|
Group servers into exactly 3 tiers: Keep / Review / Remove.
|
|
Empty tiers should be omitted entirely.
|
|
Within each tier, sort alphabetically by server name.
|
|
-->
|