Skip to main content
Glama

MCP Vetter Agent

Ein KI-Sicherheitsauditor für KI-Tools. Ein Agent, der auf TrueForge läuft und Drittanbieter-MCP-Server auf Sicherheitslücken prüft, bevor du sie mit deinem Agenten verbindest – und dann pausiert und einen Menschen fragt, bevor er einen öffentlichen Sicherheitsbericht einreicht.

TrueForge verbindet Agenten mit beliebigen MCP-Servern. Community-Server werden als Gists, Vorlagen und Nebenprojekte geteilt – mit hartcodierten Schlüsseln, eval() auf Tool-Argumenten und ohne Authentifizierungsgrenzen. Agenten wissen nicht, dass sie misstrauisch sein sollten. Dieser Agent ist der Misstrauische.

So funktioniert es

User: "audit https://github.com/someone/some-mcp-server"
  └─ TrueForge agent (mcp-vetter)
       ├─ clone_target          ── shallow-clones the GitHub URL onto the probe host
       ├─ read_target_manifest   ── declared tools & permission boundaries
       ├─ subagent: static_audit ── AST rules + Semgrep (SENT-001..007)
       ├─ subagent: full_audit   ── GPT review + Docker probes (SENT-008..011)
       ├─ Synthesizes verdict (HIGH/MEDIUM/LOW, OWASP Agentic Top 10 mapped)
       └─ ⏸ PAUSES before filing the GitHub security issue → human approves → files
  • Probes laufen isoliert: Sentinels dynamische Probes führen den Zielserver in Wegwerf-Docker-Containern aus.

  • Genehmigungs-Gate ist natives TrueForge-HITL: Die Erstellung von Issues ist eine schreibende/destruktive Aktion, daher pausiert die Umgebung für Erlauben/Ablehnen.

  • Sitzungen überleben Wiederverbindungen: Aktualisiere mitten im Audit; der Agent arbeitet weiter.

Related MCP server: mcp-security-scanner

Schnellstart

# 1. Probe server (the security scanning engine)
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn probe_server.server:mcp_app --host 127.0.0.1 --port 8000   # serves /mcp

# 2. TrueForge (separate terminal; needs Node 22+)
npx @truefoundry/trueforge@latest                                   # UI at http://localhost:8790

# 3. In the TrueForge UI:
#    Settings → Models      : configure a provider (API key)
#    Settings → Connectors  : Add MCP Server → http://127.0.0.1:8000/mcp
#                             (+ GitHub connector from the catalog, OAuth)
#    Settings → Sandbox     : optional (skills/code mode); cloning runs on the probe host
#    Create agent           : import deploy/agent-manifest.json via API, or compose in UI

# 4. Chat: "audit ./fixtures/vulnerable_server"

Teste es zuerst mit den mitgelieferten Fixtures:

Fixture

Erwartung

fixtures/vulnerable_server

HOCHES Risiko – eval()-Taschenrechner, uneingeschränkter Dateileser, vergifteter Prompt

fixtures/clean_server

Sauberer Bericht

Repository-Struktur

probe_server/    MCP server exposing the scanning engine as agent tools
fixtures/        Vulnerable + hardened reference MCP servers (from Sentinel, MIT)
deploy/          TrueForge agent manifest (agent spec via API)
docs/            PRD, architecture, week plan, setup guide

Qodo Code Review Nachweise

Jede substanzielle Änderung in diesem Repository durchlief vor dem Merge einen Pull-Request, der von Qodo überprüft wurde – beginnend mit dem ersten Tag des Hackathons.

Repräsentativer überprüfter PR: #1 – feat: probe server, fixtures, tests, TrueForge agent spec

Was Qodo aufgedeckt hat und was wir dagegen unternommen haben (vollständige Spur im PR sichtbar):

Runde

Befunde

Ergebnis

Erste Überprüfung

2 Hoch, 5 Mittel

Behoben: clone_target-Tool hinzugefügt, damit GitHub-Ziele auf dem Probe-Host materialisiert werden, statt auf einem unerreichbaren Sandbox-Pfad (Hoch); Symlink- und Containment-Härtung bei Manifest-Lesevorgängen, um die Offenlegung von Host-Dateien beim Audit bösartiger Repos zu stoppen (Hoch); Prozessgruppen-Kill und -Reap bei Scan-Timeouts; strukturierte Fehler-Dicts an jeder Grenze; asynchroner Docker-Preflight; Scanner-Abhängigkeit auf einen unveränderlichen Commit gepinnt

Erneute Überprüfung der Fixes

3 Hoch, 1 Mittel

Behoben: Standard-GitHub-URLs ohne .git wurden fälschlich abgelehnt; Klon-Timeouts hinterließen verwaiste Git-Prozesse; Private-Network- (SSRF-) Ziele wurden abgelehnt; veraltete temporäre Klone wurden außerhalb des Threads bereinigt

Dritter Durchgang

3 Mittel

Behoben: Fehlerhafte URLs geben Fehler-Dicts zurück, statt zu werfen; Abbruch erntet den Klon-Prozessbaum; alle Bereinigungen vom Event-Loop entfernt

Letzter Durchgang

0 Befunde

Sauber

Ein Befund wurde mit dokumentiertem Grund verworfen: der Nullwert-Integritäts-Digest des sauberen Fixtures (Kommentar im PR) – er wird upstream in der von uns verwendeten MIT-lizenzierten Engine so ausgeliefert, und der betroffene Codepfad wird von unseren Tools nie ausgeführt. Daher haben wir unsere Fixtures identisch zu upstream gehalten, statt sie zu forken.

Die PR-Historie zeigt jede Überprüfung, die Commits, die ihre Befunde adressieren, und Folgeüberprüfungen, die die Auflösung gegen den endgültigen Code bestätigen.

Demo

Danksagungen

Gebaut für The Agent Harness Hackathon (WeMakeDevs × TrueFoundry, Aug 2026). Siehe fixtures/LICENSE für die Lizenzierung der gebündelten Referenzcode.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Security scanning for MCP servers from the inside out. Provides runtime inspection, AST-based static analysis, config audit, dependency analysis, and OWASP MCP Top 10 compliance in a single MCP server.
    55
    126 npm
    6
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Security scanner for MCP servers that detects tool poisoning, shadowing, and other risks via static rules and semantic analysis. Exposes the scan_mcp_server tool for scanning MCP servers over stdio.
    1
    55 PyPI
    1
    MIT