Skip to content

Commit 74936f8

Browse files
committed
feat(039): Security Scanner Plugin System
Implement pluggable security scanner system for analyzing quarantined MCP servers before approval. Docker-based scanners run in isolated containers, produce SARIF reports, and integrate with the existing quarantine workflow. ## Changes - Scanner plugin architecture: types, registry (4 bundled scanners), Docker runner, SARIF 2.1.0 parser, parallel scan engine - Storage: 4 new BBolt buckets (scanners, jobs, reports, baselines) - Security service: install/configure scanners, scan/approve/reject workflow, integrity verification, risk scoring - REST API: 13 endpoints for scanner management, scan operations, approval flow, and security overview - CLI: mcpproxy security command group with 12 subcommands - Web UI: Security dashboard with scanner marketplace, scan trigger, findings viewer, approve/reject actions - SSE events: scan lifecycle and integrity alert events - Documentation: feature guide, spec, plan, autonomous summary ## Testing - 500+ tests passing across scanner, storage, httpapi, config packages - Race detector clean on all new code - Frontend type-checks clean and builds successfully Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent d98458b commit 74936f8

56 files changed

Lines changed: 8270 additions & 47 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

cmd/mcpproxy/main.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,9 @@ func main() {
178178
// Add feedback command (Spec 036)
179179
feedbackCmd := GetFeedbackCommand()
180180

181+
// Add security command (Spec 039: Security scanner plugins)
182+
securityCmd := GetSecurityCommand()
183+
181184
// Add connect/disconnect commands
182185
connectCmd := GetConnectCommand()
183186
disconnectCmd := GetDisconnectCommand()
@@ -199,6 +202,7 @@ func main() {
199202
rootCmd.AddCommand(tokenCmd)
200203
rootCmd.AddCommand(telemetryCmd)
201204
rootCmd.AddCommand(feedbackCmd)
205+
rootCmd.AddCommand(securityCmd)
202206
rootCmd.AddCommand(connectCmd)
203207
rootCmd.AddCommand(disconnectCmd)
204208

0 commit comments

Comments
 (0)