Skip to content

feat: external scanner engine slots + clickable Fix with Claude#14

Open
ithiria894 wants to merge 4 commits intomainfrom
feature/security-scanner-slots
Open

feat: external scanner engine slots + clickable Fix with Claude#14
ithiria894 wants to merge 4 commits intomainfrom
feature/security-scanner-slots

Conversation

@ithiria894
Copy link
Copy Markdown
Member

Summary

  • External scanner engine support — auto-detects installed scanners (cc-audit, AgentSeal, agent-audit, mcp-audit) and lets users switch between them in the security panel dropdown
  • SARIF + JSON parser converts any external scanner output into CCO findings with click-to-navigate
  • Clickable "Fix with Claude →" on every remediation line — copies a detailed prompt including server name, config path, engine name, rule ID, severity, description, and suggested fix
  • Human-readable category labels (MCP-007 · Supply Chain) instead of cryptic rule codes
  • docs/scanner-engines.md explains compatible engines + how to install

Test plan

  • Playwright E2E: AgentSeal scan → 26 findings → click-to-navigate → zero JS errors
  • Playwright E2E: clickable fix → clipboard contains full prompt with engine name, path, severity
  • API test: POST /api/security-scan {engine: "agentseal"} returns parsed findings
  • API test: GET /api/security-scanners detects installed scanners
  • Manual: test with cc-audit when GLIBC compatible
  • Manual: test with no scanners installed (shows "+ Add scanner engines" link)

🤖 Generated with Claude Code

ithiria894 and others added 4 commits March 28, 2026 15:43
… any SARIF/JSON scanner

Security panel now supports external scanner engines alongside the built-in scanner:

- Auto-detects installed scanners (cc-audit, AgentSeal, agent-audit, mcp-audit)
- Engine selector dropdown always visible in security panel action bar
- External scanner CLI output (SARIF or JSON) parsed into CCO finding format
- Findings mapped to MCP server scope for click-to-navigate
- AgentSeal-specific parser handles mcp_results/skill_results format
- Human-readable category labels (Supply Chain, Sensitive Access, etc.)
- Description + remediation rendered per finding
- "▶ Scan" button with disabled state during scan
- docs/scanner-engines.md explains compatible engines + install commands
- "+ Add scanner engines" link for discovery

Tested E2E: AgentSeal guard → 26 findings (6 high, 20 medium) → click-to-navigate → zero JS errors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ecurity finding

Click any 💡 remediation line to copy a detailed prompt to clipboard:
- MCP server name + config file path
- Issue name, severity, category
- Scanner engine name + rule ID (for credibility)
- Full description + suggested fix
- Request to evaluate root cause and guide through fix

Hover reveals "Fix with Claude →" action label. Click copies prompt + shows toast.
Works for both external scanner findings and built-in scanner findings.

Also: replaced cryptic rule ID tags (MCP-007) with human-readable category
labels (Supply Chain, Sensitive Access, etc.) and improved text contrast
for dark theme readability.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Built-in scanner is the primary defense — it actually connects to MCP servers
and reads tool definitions (the real attack surface for prompt injection).
External scanners complement by checking config hygiene, supply chain, CVEs.

Added comparison table to scanner-engines.md showing what each scans.
Reverted --connect flag on AgentSeal (doesn't add tool introspection).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant