
Tests collaboratifs de sécurité applicative entre humains et agents via CLI et MCP
Outils de tests de sécurité applicative basés sur MCP pour votre agent de codage.
Pas un scanner — un atelier collaboratif. Les agents peinent avec les interfaces utilisateur et les API avec état ; vous excellez dans les deux. Sectool vous permet d'explorer une application via son proxy tandis qu'un agent analyse et manipule le même trafic authentifié que vous générez.
Vous gérez l'authentification et les interactions avec l'interface, l'agent interroge les flux, mute les requêtes, détecte les réflexions, surveille les interactions hors bande et tente d'autres permutations. La combinaison de vos capacités facilite les tâches courantes, réduit le risque de manquer des indicateurs cachés et rend les tests complexes plus approfondis.
go install github.com/go-appsec/toolbox/sectool@latest
Pas de Go ? Téléchargez le binaire pour votre plateforme (Linux, macOS, Windows — amd64 et arm64) depuis la dernière version.
sectool mcp
Ceci démarre un serveur MCP sur le port 9119 avec un proxy HTTP intégré sur le port 8080.
Pointez les paramètres de proxy de votre navigateur vers 127.0.0.1:8080 (ou le port spécifié avec --proxy-port).
Pour l'interception HTTPS, installez le certificat CA depuis ~/.sectool/ca.pem (généré automatiquement au premier lancement). La plupart des navigateurs l'acceptent via leurs paramètres de certificats ; sur macOS, vous pouvez aussi l'ajouter au trousseau système.
Vous utilisez Burp ? Suivez plutôt la configuration du proxy Burp, puis lancez sectool avec 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"
Travaillez avec l'agent pour élaborer un plan de test et exécutez-le ensemble. L'agent peut interroger l'historique du proxy, rejouer des requêtes modifiées, explorer les endpoints et tester les interactions hors bande pendant que vous gérez les actions basées sur le navigateur, comme l'authentification ou l'interaction et la revue de l'interface.
Natif : Proxy intégré avec fidélité au trafic et prise en charge de HTTP/1.1, HTTP/2 et WebSocket. Conçu pour être aussi performant que Burp pour les tests MITM. Un seul binaire fournit le serveur MCP, le proxy et la CLI — entièrement autonome et utilisable dans des environnements sans interface graphique.
Burp (optionnel) : Si vous préférez une interface graphique pour examiner les actions de l'agent ou si Burp est déjà en cours d'exécution, installez l'extension MCP depuis le BApp Store et assurez-vous que le serveur MCP tourne sur http://127.0.0.1:9876/.
| Option | Description |
|---|---|
| (défaut) | Auto-détection : essaie d'abord Burp MCP, puis revient au proxy natif |
--proxy-port 8080 | Forcer le proxy natif sur le port spécifié |
--burp | Forcer Burp MCP (échoue si indisponible) |
Sectool détermine automatiquement le workflow approprié lorsque l'agent appelle l'outil workflow au début d'une session. Vous pouvez ignorer cette étape et économiser des tokens en spécifiant le workflow à l'avance :
sectool mcp # Default: agent selects task type via workflow tool
sectool mcp --workflow explore # Pre-set exploration mode
sectool mcp --workflow test-report # Pre-set validation mode
sectool mcp --workflow none # No workflow instructions
sectool mcp --workflow multi # Multiple agents share the server
Les instructions de workflow orientent les agents vers des tests collaboratifs plutôt que de tenter de tout faire de manière autonome ou de vous guider pas à pas sans valeur ajoutée. Si vous avez des idées pour améliorer la collaboration des agents, ouvrez un ticket.
L'option --notes active les outils notes_save et notes_list pour enregistrer des observations liées aux flux. Désactivée par défaut afin de limiter l'utilisation du contexte lors des sessions courtes. Activez-la lorsque vous attendez plusieurs résultats ou des compactions de conversation.
Le serveur expose deux endpoints :
/mcp - Streamable HTTP (recommandé)/sse - SSE (hérité, pour les clients plus anciens)La CLI partage l'état avec l'agent et fournit une interface conviviale pour la revue, le rejeu et les scripts. Toutes les commandes CLI correspondent aux outils MCP, de sorte que l'agent partage le même état.
# Review what the proxy captured while you browsed
sectool proxy summary
sectool proxy list --host example.com
sectool proxy cookies --name session_id
# Crawl an app to discover endpoints and forms
sectool crawl create --url https://example.com
sectool crawl summary <session_id>
# Replay a captured request with modifications
sectool replay send --flow <flow_id> --add-header "X-Test: value"
# Set up out-of-band interaction testing and check for callbacks
sectool oast create
sectool oast poll <oast_id>
sectool oast get <event_id>
# Compare two flows, detect reflections, inspect JWTs
sectool diff <flow_a> <flow_b> --scope response
sectool reflected <flow_id>
sectool jwt <token>
# Export a flow, edit it offline, and resend
sectool proxy export <flow_id>
# ... edit ./sectool-requests/<flow_id>/request.http ...
sectool replay send --bundle <flow_id>
Utilisez sectool <command> --help pour obtenir les options détaillées.
Associez sectool à sidenuclei, un sidecar propriétaire qui exécute Nuclei contre chaque endpoint que vous touchez. Lancez sectool avec --notes, attachez sidenuclei à votre session, et il analyse chaque endpoint en utilisant la véritable requête capturée, afin que les tests utilisent vos paramètres réels, vos cookies et votre session authentifiée. Les résultats arrivent sous forme de notes finding liées au flux qui les a déclenchés, offrant une couverture supplémentaire pendant que vous et votre agent vous concentrez sur les tests manuels.
Au-delà de HTTP et WebSocket, sectool prend en charge les protocoles personnalisés et binaires (généralement requête / réponse) via un modèle d'adaptateur sidecar. Écrivez un adaptateur pour vous connecter et communiquer à l'aide de notre API sidecar. Le trafic sidecar arrive dans la même timeline de flux unifiée, de sorte que flow_get, diff_flow, replay_send et d'autres outils fonctionnent sans modification. Les adaptateurs peuvent être écrits dans n'importe quel langage via l'API JSON-RPC 2.0, ou en Go avec le client SDK qui gère l'enregistrement, la mise en cache des règles et l'émission de flux. Le SDK & protocole sidecar documente les deux.
| Mode | Description |
|---|
| (défaut) | L'agent sélectionne le type de tâche en appelant l'outil workflow et reçoit des instructions de collaboration |
explore | Tests de sécurité exploratoires ; tous les outils disponibles |
test-report | Validation d'un rapport de vulnérabilité spécifique ; outils d'exploration exclus |
none | Aucune instruction de workflow, tous les outils disponibles immédiatement |
multi | Pour les cas où plusieurs utilisateurs ou agents partagent le serveur ; masque les fonctionnalités qui pourraient perturber un agent |