Show HN: ModVet – vet your Claude Code mods before you install them Jörg Michno released ModVet v0.2.2 on PyPI, a zero-dependency Python tool that scans Claude Code mods offline for prompt-injection patterns, dangerous capability combinations and hardcoded secrets before installation. ModVet reports findings with file:line locations and OWASP MCP Top 10 mappings in JSON, SARIF and human-readable output, and its snapshot/diff commands re-audit only the delta after a mod update; on 12 real mod repos from the awesome-claude-code catalog, false positives fell from 1,815 to under 300 findings (−85%) since the v0.1 engine. The tool matters because mods run unsandboxed inside the agent process with the user's full permissions, and ModVet's deterministic, no-LLM approach contrasts with cloud-based scanners such as Snyk's MCP/Skills scan. Vet your Claude Code mods before you install them — deterministic, offline, in milliseconds. Mods run unsandboxed inside the agent process with your full permissions. ModVet scans a mod directory for prompt-injection patterns, dangerous capabilities shell exec, exfiltration, env/file access, permission-lift hooks, update trojans and hardcoded secrets — no cloud, no LLM, no account. Findings with file:line , OWASP MCP Top 10 mapping, JSON/SARIF/human output, CI-ready exit codes. modvet scan ./my-mod Pre-Install-Check human output modvet scan ./my-mod --json machine-readable report modvet scan ./my-mod --format sarif GitHub Code Scanning kompatibel modvet badge --input report.json Status-Badge als SVG modvet snapshot ./my-mod Baseline nach sauberer Installation modvet diff ./my-mod --against .modvet-snapshot.json "The update is the attack" Exit codes: 0 clean · 1 findings ≥ --fail-on default HIGH · 2 usage error. pip install modvet Requires Python ≥ 3.9, zero dependencies. Development: uv pip install -e . - Prompt Injection / Instruction Override EN + DE, ~400 deterministische Pattern inkl. Homoglyph-/Leet-/Base64-/Zero-Width-/Reverse-Normalisierung - Capability-Kombinationslogik: Einzel-Capabilities fetch, process.env, fs sind normale Mod-Arbeit — erst KOMBINATIONEN im selben Ausdruck Env-Read + POST, Exec + Fetch werden gemeldet. Plus Angriffsprimitive: Shell-Pipe-Downloads, Base64-Exec, Reverse Shells, Hook-Permission-Lift, Config-Rewrite, Committed-Env-Files, npm-Lifecycle-Skripte. - Mod-spezifische Detektoren v0.2 : Prompt-Compose-Rewrite, PreToolUse-Argument-Rewrite, Update-Delta-Trojan. - OWASP MCP Top 10 Mapping: jedes Finding trägt seine MCP01–MCP10-Referenz JSON-Feld owasp mcp . - Update-Drift: snapshot + diff — re-audits nur das Delta nach jedem Mod-Update. Der Update-Mechanismus selbst ist ein Angriffspfad: „the update is the attack". | | ModVet | Snyk MCP/Skills-Scan | mcp-triage | |---|---|---|---| | Fokus | Claude-Code-Mods + Skills | MCP-Server/Skills, breites DevSecOps | MCP-Server-Review | | Betrieb | lokal & offline , 0 €, kein Konto | Cloud-Konto, SaaS-Pricing | lokal/Repos | | Verfahren | deterministisch, keine LLM-Entscheidungen | Hybrid inkl. proprietäre Analyse | Review-basiert | | Update-Delta | snapshot / diff re-auditiert nur Deltas | Neuer Voll-Scan je Version | — | | OWASP-Mapping | MCP Top 10 im Finding-Feld | vorhanden | — | | Output | JSON, SARIF, Badge-SVG | SaaS-UI/API | Markdown | | Transparenz | jede Regel im Open Source einsehbar | teilweise proprietär | Open Source | 12 echte Mod-Repos awesome-claude-code-Katalog : FP-Reduktion von 1.815 auf <300 Findings −85 % seit der v0.1-Engine — Details in specs/benchmark-results.md und specs/pattern-audit.md . v0.2.2 — live on PyPI pip install modvet . Phase 2 Outputs/Verteilung abgeschlossen: SARIF, Badge, OWASP-Mapping. Nächste Schritte: SKILL.md-/MCP-Scanning Fast-Follow , Pro-/Audit-Angebot nach Traktion. C 2026 Jörg Michno. Engine portiert aus ClawGuard v0.5.0.