
toolbox v0.2.0
Pruebas de seguridad colaborativas de aplicaciones entre humanos y agentes a través de CLI y MCP
Herramientas de pruebas de seguridad de aplicaciones basadas en MCP para tu agente de programación.
No es un escáner, sino un banco de trabajo colaborativo. Los agentes tienen dificultades con las interfaces de usuario y las API con estado; tú eres bueno en ambas. Sectool te permite explorar una aplicación a través de su proxy mientras un agente analiza y manipula el mismo tráfico autenticado que generas.
Tú te encargas de la autenticación y las interacciones con la interfaz de usuario; el agente consulta flujos, modifica solicitudes, encuentra reflexiones, monitoriza interacciones fuera de banda e intenta otras permutaciones. Combinar vuestras capacidades hace que las tareas rutinarias sean más fáciles, que los indicadores ocultos tengan menos probabilidades de pasar desapercibidos y que las pruebas complejas sean más exhaustivas.
Primeros pasos
1. Instalar sectool
go install github.com/go-appsec/toolbox/sectool@latest
¿No tienes Go? Descarga el binario para tu plataforma (Linux, macOS, Windows — amd64 y arm64) desde la última versión.
2. Iniciar el servidor MCP (Model Context Protocol)
sectool mcp
Esto inicia un servidor MCP en el puerto 9119 con un proxy HTTP integrado en el puerto 8080.
3. Configurar tu navegador
Configura el proxy de tu navegador en 127.0.0.1:8080 (o el puerto especificado con --proxy-port).
Para la interceptación HTTPS, instala el certificado CA desde ~/.sectool/ca.pem (generado automáticamente en la primera ejecución). La mayoría de los navegadores lo aceptan a través de su configuración de certificados; en macOS también puedes añadirlo al llavero del sistema.
¿Usas Burp? Sigue la configuración de proxy de Burp en su lugar, y luego inicia sectool con sectool mcp --burp.
4. Conectar tu 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. Colaborar
Trabaja con el agente para crear un plan de pruebas y ejecutarlo juntos. El agente puede consultar el historial del proxy, reproducir solicitudes modificadas, rastrear endpoints y probar interacciones fuera de banda mientras tú te encargas de las acciones basadas en el navegador, como la autenticación o la interacción y revisión de la interfaz de usuario.
Opciones del servidor
Backends de proxy
Nativo: Proxy integrado con fidelidad de cable y soporte para HTTP/1.1, HTTP/2 y WebSocket. Diseñado para ser tan capaz como Burp para pruebas MITM. Un único binario proporciona el servidor MCP, el proxy y la CLI — totalmente autónomo y utilizable en entornos sin interfaz gráfica.
Burp (opcional): Si prefieres una interfaz gráfica para revisar las acciones del agente o ya tienes Burp en ejecución, instala la extensión MCP desde el BApp Store y asegúrate de que el servidor MCP se ejecute en http://127.0.0.1:9876/.
| Opción | Descripción |
|---|---|
| (predeterminado) | Detección automática: intenta primero Burp MCP, recurre al proxy nativo |
--proxy-port 8080 | Fuerza el proxy nativo en el puerto especificado |
--burp | Fuerza Burp MCP (falla si no está disponible) |
Opciones de sesión
Flujo de trabajo
Sectool determina automáticamente el flujo de trabajo adecuado cuando el agente llama a la herramienta workflow al inicio de una sesión. Puedes omitir este paso y ahorrar tokens especificando el flujo de trabajo de antemano:
sectool mcp # Predeterminado: el agente selecciona el tipo de tarea mediante la herramienta workflow
sectool mcp --workflow explore # Modo de exploración preestablecido
sectool mcp --workflow test-report # Modo de validación preestablecido
sectool mcp --workflow none # Sin instrucciones de flujo de trabajo
sectool mcp --workflow multi # Varios agentes comparten el servidor
| Modo | Descripción |
|---|---|
| (predeterminado) | El agente selecciona el tipo de tarea llamando a la herramienta workflow y recibe instrucciones de colaboración |
explore | Pruebas de seguridad exploratorias; todas las herramientas disponibles |
test-report | Validación de un informe de vulnerabilidad específico; herramientas de rastreo excluidas |
none | Sin instrucciones de flujo de trabajo, todas las herramientas disponibles de inmediato |
multi | Para cuando varios usuarios o agentes comparten el servidor; oculta funciones en las que un agente puede confundir a otro |
Las instrucciones de flujo de trabajo guían a los agentes hacia pruebas colaborativas en lugar de intentar hacerlo todo de forma autónoma o guiarte por un proceso sin aportar valor. Si tienes ideas para mejorar la colaboración de los agentes, abre una incidencia.
Notas
El flag --notes habilita las herramientas notes_save y notes_list para guardar observaciones vinculadas a flujos. Deshabilitado por defecto para mantener el uso de contexto al mínimo en sesiones cortas. Habilítalo cuando esperes múltiples hallazgos o compactaciones de conversación.
Transportes MCP
El servidor expone dos endpoints:
/mcp- HTTP en streaming (recomendado)/sse- SSE (heredado, para clientes antiguos)
Ejemplo de uso de la CLI
La CLI comparte estado con el agente y proporciona una interfaz amigable para humanos para revisar, reproducir y crear scripts. Todos los comandos de la CLI se corresponden con herramientas MCP, por lo que el agente comparte el mismo estado.
# 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> --set-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 para ver las opciones detalladas.