
toolbox v0.2.2
Test collaborativi di sicurezza delle applicazioni tra umani e agenti tramite CLI e MCP
Strumenti di test di sicurezza applicativa basati su MCP per il tuo agente di codice.
Non è uno scanner — è un banco di lavoro collaborativo. Gli agenti faticano con UI e API stateful; tu sei bravo in entrambe. Sectool ti consente di esplorare un'applicazione attraverso il suo proxy mentre un agente analizza e manipola lo stesso traffico autenticato che generi.
Tu gestisci autenticazione e interazioni con la UI, l'agente interroga i flussi, muta le richieste, individua le reflection, monitora le interazioni out-of-band e tenta altre permutazioni. Combinare le vostre capacità rende più facili i compiti di routine, riduce la probabilità che indicatori nascosti vengano trascurati e rende i test complessi più approfonditi.
Per Iniziare
1. Installa sectool
go install github.com/go-appsec/toolbox/sectool@latest
Niente Go? Scarica il binario per la tua piattaforma (Linux, macOS, Windows — amd64 e arm64) dall'ultima release.
2. Avvia il server MCP (Model Context Protocol)
sectool mcp
Questo avvia un server MCP sulla porta 9119 con un proxy HTTP integrato sulla porta 8080.
3. Configura il tuo browser
Indirizza le impostazioni del proxy del tuo browser su 127.0.0.1:8080 (o sulla porta specificata con --proxy-port).
Per l'intercettazione HTTPS, installa il certificato CA da ~/.sectool/ca.pem (generato automaticamente al primo avvio). La maggior parte dei browser lo accetta tramite le impostazioni dei certificati; su macOS puoi anche aggiungerlo al portachiavi di sistema.
Usi Burp? Segui invece la configurazione del proxy di Burp, poi avvia sectool con sectool mcp --burp.
4. Connetti il tuo agente
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. Collabora
Lavora con l'agente per creare un piano di test ed eseguirlo insieme. L'agente può interrogare lo storico del proxy, riprodurre richieste modificate, eseguire crawl per individuare endpoint e testare le interazioni out-of-band mentre tu gestisci le azioni basate sul browser, come l'autenticazione o l'interazione e la revisione della UI.
Opzioni del Server
Backend del proxy
Nativo: proxy integrato con wire-fidelity e supporto per HTTP/1.1, HTTP/2 e WebSocket. Progettato per essere capace quanto Burp nei test MITM. Un singolo binario fornisce il server MCP, il proxy e la CLI — completamente autonomo e utilizzabile in ambienti headless.
Burp (opzionale): se preferisci una GUI per rivedere le azioni dell'agente o hai già Burp in esecuzione, installa l'estensione MCP dal BApp Store e assicurati che il server MCP sia in esecuzione su http://127.0.0.1:9876/.
| Opzione | Descrizione |
|---|---|
| (predefinito) | Auto-rilevamento: prova prima Burp MCP, poi ripiega sul proxy nativo |
--proxy-port 8080 | Forza il proxy nativo sulla porta specificata |
--burp | Forza Burp MCP (fallisce se non disponibile) |
Opzioni di sessione
Flusso di lavoro
Sectool determina automaticamente il flusso di lavoro appropriato quando l'agente chiama il tool workflow all'inizio di una sessione. Puoi saltare questo passaggio e risparmiare token specificando il flusso di lavoro in anticipo:
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
| Modalità | Descrizione |
|---|---|
| (predefinita) | L'agente seleziona il tipo di attività chiamando il tool workflow e riceve istruzioni di collaborazione |
explore | Test di sicurezza esplorativi; tutti i tool disponibili |
test-report | Validazione di uno specifico report di vulnerabilità; i tool di crawl esclusi |
none | Nessuna istruzione di workflow, tutti i tool disponibili immediatamente |
multi | Per quando più utenti o agenti condividono il server; nasconde le funzionalità in cui un agente potrebbe confondere un altro |
Le istruzioni di workflow guidano gli agenti verso test collaborativi invece di tentare di fare tutto in autonomia o di accompagnarti passo dopo passo in un processo senza aggiungere valore. Se hai idee per migliorare la collaborazione degli agenti, apri un issue.
Note
Il flag --notes abilita i tool notes_save e notes_list per salvare osservazioni collegate ai flussi. Disabilitato per impostazione predefinita per mantenere minimo l'uso del contesto nelle sessioni brevi. Abilitalo quando prevedi più finding o compattazioni della conversazione.
Trasporti MCP
Il server espone due endpoint:
/mcp- HTTP streamable (consigliato)/sse- SSE (legacy, per client meno recenti)
Esempi di utilizzo della CLI
La CLI condivide lo stato con l'agente e fornisce un'interfaccia a misura d'uomo per rivedere, riprodurre e creare script. Tutti i comandi CLI corrispondono ai tool MCP, quindi l'agente condivide lo stesso stato.
# 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>
Usa sectool <command> --help per le opzioni dettagliate.
Funzionalità principali
- Proxy wire-fidelity - MITM HTTP/1.1 e HTTP/2 che preserva l'ordine delle intestazioni, maiuscole/minuscole e anomalie di protocollo
- Replay e mutazione - Riscrivi il traffico live tramite regole match/replace o reinvia richieste catturate con modifiche attraverso un'API ottimizzata per gli agenti
- Diff dei flussi - Confronto strutturato e sensibile al content-type di due flussi (a livello di path JSON, testo unificato, dimensione binaria) per una validazione rapida dei report
- Analisi della superficie JS - estrai endpoint, route e segreti dai bundle JavaScript/HTML, quindi espandi ogni call site nelle relative richieste utilizzabili
- Rilevamento delle reflection - Trova i valori dei parametri di richiesta riflessi nelle risposte attraverso più varianti di codifica per evidenziare i punti di injection
- OAST - Test delle interazioni out-of-band tramite Interactsh; crea domini, interroga per callback DNS/HTTP/SMTP
- Sondaggio dei redirect - Le sessioni OAST possono restituire redirect 307 per rilevare se un target segue i redirect, utile per catene SSRF e bypass delle validazioni
- Crawling - Scopri endpoint, moduli e struttura dell'applicazione; avvia dallo storico del proxy o da URL
- Supporto WebSocket - Intercettazione a livello di frame, proxying e match/replace per i messaggi WebSocket
- Modalità di workflow - Guida dell'agente specifica per attività (explore, test-report) per migliorare la qualità della collaborazione e ridurre lo spreco di token
- Utility di codifica - Codifica/decodifica URL, Base64, HTML, hashing (MD5/SHA/HMAC), ispezione JWT
- Integrazione con Burp Suite - Frontend GUI opzionale tramite l'estensione Burp MCP; oppure esegui completamente headless con il proxy nativo
Scansione automatizzata
Abbina sectool a sidenuclei, un sidecar di prima parte che esegue Nuclei su ogni endpoint che tocchi. Avvia sectool con --notes, collega sidenuclei alla tua sessione e scansionerà ogni endpoint usando la richiesta catturata reale, così i test girano con i tuoi parametri effettivi, i cookie e la sessione autenticata. I finding finiscono come note finding collegate al flusso che li ha generati, offrendoti una copertura extra mentre tu e il tuo agente vi concentrate sui test manuali.
Supporto per protocolli personalizzati
Oltre a HTTP e WebSocket, sectool supporta protocolli personalizzati e binari (generalmente richiesta/risposta) tramite un modello di adapter sidecar. Scrivi un adapter per connetterti e comunicare usando la nostra API sidecar. Il traffico sidecar finisce nella stessa timeline unificata dei flussi, quindi flow_get, diff_flow, replay_send e altri tool funzionano senza modifiche. Gli adapter possono essere scritti in qualsiasi linguaggio tramite l'API JSON-RPC 2.0, oppure in Go con il client SDK che gestisce registrazione, caching delle regole ed emissione dei flussi. L'SDK & protocollo sidecar documenta entrambi.