
toolbox v0.2.0
Tests collaboratifs de sécurité d'applications entre humains et agents via CLI et MCP
Outils de test de sécurité applicative basés sur MCP pour votre agent de codage.
Pas un scanner — un atelier collaboratif. Les agents ont du mal avec les interfaces utilisateur et les API à état ; vous êtes bon dans les deux. Sectool vous permet d'explorer une application via son proxy pendant 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, modifie les requêtes, trouve les réflexions, surveille les interactions hors bande et tente d'autres permutations. La combinaison de vos capacités rend les tâches routinières plus faciles, les indicateurs cachés moins susceptibles d'être manqués, et 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
Cela démarre un serveur MCP sur le port 9119 avec un proxy HTTP intégré sur le port 8080.
3. Configurer votre navigateur
Configurez les paramètres de proxy de votre navigateur sur 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 également l'ajouter au trousseau système.
Vous utilisez Burp ? Suivez plutôt la configuration du proxy de Burp, puis démarrez 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 l'exécuter ensemble. L'agent peut interroger l'historique du proxy, rejouer des requêtes modifiées, explorer les points de terminaison et tester les interactions hors bande pendant que vous gérez les actions basées sur le navigateur comme l'authentification ou l'interaction avec l'interface et sa vérification.
Options du serveur
Backends de proxy
Natif : Proxy intégré avec fidélité au niveau du fil 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 le 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 vous avez déjà Burp en cours d'exécution, installez l'extension MCP depuis le BApp Store et assurez-vous que le serveur MCP fonctionne sur http://127.0.0.1:9876/.
| Option | Description |
|---|---|
| (par défaut) | Détection automatique : essaie d'abord Burp MCP, puis bascule vers le proxy natif |
--proxy-port 8080 | Force le proxy natif sur le port spécifié |
--burp | Force 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 # Par défaut : l'agent sélectionne le type de tâche via l'outil workflow
sectool mcp --workflow explore # Mode exploration prédéfini
sectool mcp --workflow test-report # Mode validation prédéfini
sectool mcp --workflow none # Aucune instruction de workflow
sectool mcp --workflow multi # Plusieurs agents partagent le serveur
| Mode | Description |
|---|---|
| (par défaut) | L'agent sélectionne le type de tâche en appelant l'outil workflow, reçoit les 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 lorsque plusieurs utilisateurs ou agents partagent le serveur ; masque les fonctionnalités où un agent peut en confondre un autre |
Les instructions de workflow guident les agents vers des tests collaboratifs plutôt que d'essayer de tout faire de manière autonome ou de vous faire suivre un processus 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é par défaut pour minimiser l'utilisation du contexte lors de sessions courtes. Activez-le lorsque vous prévoyez plusieurs découvertes ou compactages de conversation.
Transports MCP
Le serveur expose deux points de terminaison :
/mcp- Streamable HTTP (recommandé)/sse- SSE (hérité, pour les clients plus anciens)
Exemple d'utilisation du CLI
Le CLI partage l'état avec l'agent et fournit une interface conviviale pour examiner, rejouer et scripter. Toutes les commandes du CLI correspondent à des outils MCP, de sorte que l'agent partage le même état.
# Examiner ce que le proxy a capturé pendant votre navigation
sectool proxy summary
sectool proxy list --host example.com
sectool proxy cookies --name session_id
# Explorer une application pour découvrir les points de terminaison et les formulaires
sectool crawl create --url https://example.com
sectool crawl summary <session_id>
# Rejouer une requête capturée avec des modifications
sectool replay send --flow <flow_id> --set-header "X-Test: value"
# Configurer les tests d'interaction hors bande et vérifier les rappels
sectool oast create
sectool oast poll <oast_id>
sectool oast get <event_id>
# Comparer deux flux, détecter les réflexions, inspecter les JWT
sectool diff <flow_a> <flow_b> --scope response
sectool reflected <flow_id>
sectool jwt <token>
# Exporter un flux, le modifier hors ligne et le renvoyer
sectool proxy export <flow_id>
# ... modifier ./sectool-requests/<flow_id>/request.http ...
sectool replay send --bundle <flow_id>
Utilisez sectool <command> --help pour les options détaillées.