
toolbox v0.2.1
Tests collaboratifs de sécurité d'applications 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.
Pour commencer
1. Installer sectool
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.
2. Démarrer le serveur MCP (Model Context Protocol)
sectool mcp
Ceci démarre un serveur MCP sur le port 9119 avec un proxy HTTP intégré sur le port 8080.
3. Configurer votre navigateur
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.
4. Connecter votre agent
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"
5. Collaborer
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.
Options du serveur
Backends de proxy
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) |
Options de session
Workflow
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
| 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 |
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.
Notes
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.
Transports MCP
Le serveur expose deux endpoints :
/mcp- Streamable HTTP (recommandé)/sse- SSE (hérité, pour les clients plus anciens)
Exemple d'utilisation de la CLI
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.
Fonctionnalités clés
- Proxy à fidélité réseau - MITM HTTP/1.1 et HTTP/2 préservant l'ordre des en-têtes, la casse et les anomalies de protocole
- Rejeu et mutation - Réécrivez le trafic en direct via des règles de correspondance/remplacement ou renvoyez des requêtes capturées modifiées via une API optimisée pour les agents
- Diff de flux - Comparaison structurée et sensible au type de contenu de deux flux (niveau chemin JSON, texte unifié, taille binaire) pour une validation rapide des rapports
- Analyse de la surface JS - Extrayez endpoints, routes et secrets des bundles JavaScript/HTML, puis développez chaque site d'appel en requêtes utilisables
- Détection de réflexions - Trouvez les valeurs de paramètres de requête reflétées dans les réponses via plusieurs variantes d'encodage pour faire apparaître les points d'injection
- OAST - Tests d'interactions hors bande via Interactsh ; créez des domaines, interrogez les callbacks DNS/HTTP/SMTP
- Sondage des redirections - Les sessions OAST peuvent renvoyer des redirections 307 pour détecter si une cible suit les redirections, utile pour les chaînes SSRF et les contournements de validation
- Exploration - Découvrez endpoints, formulaires et structure de l'application ; initialisez à partir de l'historique du proxy ou d'URLs
- Support WebSocket - Interception au niveau des trames, proxying et correspondance/remplacement pour les messages WebSocket
- Modes de workflow - Conseils d'agent spécifiques à la tâche (explore, test-report) pour améliorer la qualité de la collaboration et réduire le gaspillage de tokens
- Utilitaires d'encodage - Encodage/décodage URL, Base64, HTML, hachage (MD5/SHA/HMAC), inspection JWT
- Intégration Burp Suite - Interface graphique optionnelle via l'extension MCP de Burp ; ou exécution entièrement headless avec le proxy natif
Scan automatisé
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.
Prise en charge de protocoles personnalisés
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.