
Kollaborative Anwendungssicherheitstests zwischen Menschen und Agenten über CLI und MCP
MCP-basierte Tools für Anwendungssicherheitstests für deinen Coding-Agenten.
Kein Scanner – eine kollaborative Werkbank. Agenten tun sich schwer mit UI und zustandsbehafteten APIs; du bist in beidem gut. Sectool ermöglicht es dir, eine Anwendung über ihren Proxy zu erkunden, während ein Agent denselben authentifizierten Traffic, den du erzeugst, analysiert und manipuliert.
Du übernimmst Auth und UI-Interaktionen, der Agent fragt Flows ab, mutiert Requests, findet Reflections, überwacht Out-of-Band-Interaktionen und versucht weitere Permutationen. Die Kombination eurer Fähigkeiten macht Routineaufgaben einfacher, verringert die Wahrscheinlichkeit, dass versteckte Indikatoren übersehen werden, und macht komplexe Tests gründlicher.
go install github.com/go-appsec/toolbox/sectool@latest
Kein Go? Lade die Binärdatei für deine Plattform (Linux, macOS, Windows – amd64 und arm64) vom aktuellen Release herunter.
sectool mcp
Dies startet einen MCP-Server auf Port 9119 mit einem integrierten HTTP-Proxy auf Port 8080.
Richte die Proxy-Einstellungen deines Browsers auf 127.0.0.1:8080 (oder den mit --proxy-port angegebenen Port) aus.
Für die HTTPS-Entschlüsselung installiere das CA-Zertifikat aus ~/.sectool/ca.pem (wird beim ersten Start automatisch erzeugt). Die meisten Browser akzeptieren es über ihre Zertifikatseinstellungen; unter macOS kannst du es auch dem System-Schlüsselbund hinzufügen.
Nutzt du Burp? Folge stattdessen Burps Proxy-Konfiguration und starte sectool anschließend mit sectool mcp --burp.
Claude Code:
claude mcp add --transport http sectool http://127.0.0.1:9119/mcp
Codex (~/.codex/config.toml):
[mcp_servers.sectool]
url = "http://127.0.0.1:9119/mcp"
Arbeite mit dem Agenten zusammen, um einen Testplan zu erstellen und ihn gemeinsam auszuführen. Der Agent kann die Proxy-Historie abfragen, modifizierte Requests erneut senden, nach Endpunkten crawlen und auf Out-of-Band-Interaktionen testen, während du browserbasierte Aktionen wie Authentifizierung oder Interaktion mit und Überprüfung der UI übernimmst.
Nativ: Integrierter Proxy mit Wire-Fidelity und Unterstützung für HTTP/1.1, HTTP/2 und WebSocket. Entwickelt, um für MITM-Tests genauso leistungsfähig zu sein wie Burp. Eine einzelne Binärdatei enthält MCP-Server, Proxy und CLI – vollständig eigenständig und in headless Umgebungen nutzbar.
Burp (optional): Wenn du eine GUI zur Überprüfung der Aktionen des Agenten bevorzugst oder Burp bereits läuft, installiere die MCP-Erweiterung aus dem BApp Store und stelle sicher, dass der MCP-Server auf http://127.0.0.1:9876/ läuft.
| Option | Beschreibung |
|---|---|
| (Standard) | Automatische Erkennung: versucht zuerst Burp MCP, fällt auf nativen Proxy zurück |
--proxy-port 8080 | Nativen Proxy auf angegebenem Port erzwingen |
--burp | Burp MCP erzwingen (schlägt fehl, wenn nicht verfügbar) |
Sectool ermittelt automatisch den passenden Workflow, wenn der Agent zu Beginn einer Sitzung das workflow-Tool aufruft. Du kannst diesen Schritt überspringen und Token sparen, indem du den Workflow im Voraus angibst:
sectool mcp # Standard: Agent wählt Aufgabentyp über das workflow-Tool
sectool mcp --workflow explore # Erkundungsmodus vorab festgelegt
sectool mcp --workflow test-report # Validierungsmodus vorab festgelegt
sectool mcp --workflow none # Keine Workflow-Anweisungen
sectool mcp --workflow multi # Mehrere Agenten teilen sich den Server
Workflow-Anweisungen führen Agenten zu kollaborativem Testen, anstatt zu versuchen, alles autonom zu erledigen oder dich ohne Mehrwert durch einen Prozess zu führen. Wenn du Ideen zur Verbesserung der Agenten-Kollaboration hast, erstelle ein Issue.
Das Flag --notes aktiviert die Tools notes_save und notes_list zum Speichern von Beobachtungen, die mit Flows verknüpft sind. Standardmäßig deaktiviert, um die Context-Nutzung in kurzen Sitzungen gering zu halten. Aktiviere es, wenn du mehrere Findings oder Gesprächskomprimierungen erwartest.
Der Server stellt zwei Endpunkte bereit:
/mcp - Streamable HTTP (empfohlen)/sse - SSE (Legacy, für ältere Clients)Die CLI teilt den Zustand mit dem Agenten und bietet eine benutzerfreundliche Oberfläche zum Überprüfen, erneuten Senden und Skripten. Alle CLI-Befehle bilden auf MCP-Tools ab, sodass der Agent denselben Zustand nutzt.
# Überprüfen, was der Proxy während des Browsens aufgezeichnet hat
sectool proxy summary
sectool proxy list --host example.com
sectool proxy cookies --name session_id
# Eine App crawlen, um Endpunkte und Formulare zu entdecken
sectool crawl create --url https://example.com
sectool crawl summary <session_id>
# Einen aufgezeichneten Request mit Änderungen erneut senden
sectool replay send --flow <flow_id> --add-header "X-Test: value"
# Out-of-Band-Interaktionstests einrichten und auf Callbacks prüfen
sectool oast create
sectool oast poll <oast_id>
sectool oast get <event_id>
# Zwei Flows vergleichen, Reflections erkennen, JWTs inspizieren
sectool diff <flow_a> <flow_b> --scope response
sectool reflected <flow_id>
sectool jwt <token>
# Einen Flow exportieren, offline bearbeiten und erneut senden
sectool proxy export <flow_id>
# ... ./sectool-requests/<flow_id>/request.http bearbeiten ...
sectool replay send --bundle <flow_id>
Verwende sectool <command> --help für detaillierte Optionen.
Kombiniere sectool mit sidenuclei, einem First-Party-Sidecar, das Nuclei gegen jeden Endpunkt ausführt, den du berührst. Starte sectool mit --notes, binde sidenuclei parallel zu deiner Sitzung an, und es scannt jeden Endpunkt mit dem tatsächlich aufgezeichneten Request – so laufen Tests mit deinen echten Parametern, Cookies und deiner authentifizierten Sitzung. Findings landen als finding-Notizen, die mit dem Flow verknüpft sind, der sie ausgelöst hat, und geben dir zusätzliche Abdeckung, während du und dein Agent euch auf manuelle Tests konzentriert.
Über HTTP und WebSocket hinaus unterstützt sectool benutzerdefinierte und binäre Protokolle (allgemein Request/Response) über ein Sidecar-Adaptermodell. Schreibe einen Adapter, um über unsere Sidecar-API eine Verbindung herzustellen und zu kommunizieren. Der Sidecar-Traffic landet in derselben einheitlichen Flow-Zeitleiste, sodass flow_get, diff_flow, replay_send und andere Tools ohne Änderung funktionieren. Adapter können in jeder Sprache über die JSON-RPC-2.0-API oder in Go mit dem SDK-Client geschrieben werden, der Registrierung, Regel-Caching und Flow-Erzeugung übernimmt. Das Sidecar-SDK & Protokoll dokumentiert beides.
| Modus | Beschreibung |
|---|
| (Standard) | Agent wählt Aufgabentyp durch Aufruf des workflow-Tools und erhält Kollaborationsanweisungen |
explore | Explorative Sicherheitstests; alle Tools verfügbar |
test-report | Validierung eines bestimmten Schwachstellenberichts; Crawl-Tools ausgeschlossen |
none | Keine Workflow-Anweisungen, alle Tools sofort verfügbar |
multi | Für den Fall, dass mehrere Benutzer oder Agenten den Server teilen; blendet Funktionen aus, bei denen ein Agent einen anderen verwirren könnte |