
toolbox v0.2.2
Testes colaborativos de segurança de aplicações entre humanos e agentes via CLI e MCP
Ferramentas de teste de segurança de aplicações baseadas em MCP para o seu agente de codificação.
Não é um scanner — é uma bancada de trabalho colaborativa. Agentes têm dificuldade com UI e APIs com estado; você é bom em ambos. O Sectool permite que você explore uma aplicação através do seu proxy enquanto um agente analisa e manipula o mesmo tráfego autenticado que você gera.
Você cuida das interações de autenticação e interface; o agente consulta fluxos, muta requisições, encontra reflexões, monitora interações fora de banda e tenta outras permutações. Combinar suas habilidades torna tarefas rotineiras mais fáceis, reduz a chance de indicadores ocultos passarem despercebidos e torna testes complexos mais completos.
Como Começar
1. Instalar o sectool
go install github.com/go-appsec/toolbox/sectool@latest
Não tem Go? Baixe o binário para a sua plataforma (Linux, macOS, Windows — amd64 e arm64) na última versão.
2. Iniciar o servidor MCP (Model Context Protocol)
sectool mcp
Isso inicia um servidor MCP na porta 9119 com um proxy HTTP embutido na porta 8080.
3. Configurar o seu navegador
Aponte as configurações de proxy do seu navegador para 127.0.0.1:8080 (ou a porta especificada com --proxy-port).
Para interceptação HTTPS, instale o certificado CA de ~/.sectool/ca.pem (gerado automaticamente na primeira execução). A maioria dos navegadores aceita isso pelas configurações de certificados; no macOS, você também pode adicioná-lo ao chaveiro do sistema.
Usando Burp? Siga a configuração de proxy do Burp e inicie o sectool com sectool mcp --burp.
4. Conectar seu 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
Trabalhe com o agente para montar um plano de teste e executá-lo em conjunto. O agente pode consultar o histórico do proxy, reproduzir requisições modificadas, rastrear endpoints e testar interações fora de banda enquanto você cuida de ações no navegador, como autenticação ou interação e revisão da interface.
Opções do Servidor
Backends de proxy
Nativo: Proxy embutido com fidelidade de bytes e suporte a HTTP/1.1, HTTP/2 e WebSocket. Projetado para ser tão capaz quanto o Burp para testes MITM. Um único binário fornece o servidor MCP, o proxy e a CLI — totalmente autossuficiente e utilizável em ambientes sem interface gráfica.
Burp (opcional): Se você prefere uma GUI para revisar as ações do agente ou já tem o Burp em execução, instale a extensão MCP na BApp Store e garanta que o servidor MCP esteja rodando em http://127.0.0.1:9876/.
| Option | Description |
|---|---|
| (default) | Auto-detect: tenta o Burp MCP primeiro e usa o proxy nativo como alternativa |
--proxy-port 8080 | Força o proxy nativo na porta especificada |
--burp | Força o Burp MCP (falha se indisponível) |
Opções de sessão
Fluxo de trabalho
O Sectool determina automaticamente o fluxo de trabalho adequado quando o agente chama a ferramenta workflow no início de uma sessão. Você pode pular essa etapa e economizar tokens especificando o fluxo de trabalho antecipadamente:
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 |
|---|---|
| (default) | O agente seleciona o tipo de tarefa chamando a ferramenta workflow e recebe instruções de colaboração |
explore | Testes de segurança exploratórios; todas as ferramentas disponíveis |
test-report | Validação de um relatório de vulnerabilidade específico; ferramentas de rastreamento excluídas |
none | Sem instruções de fluxo de trabalho; todas as ferramentas disponíveis imediatamente |
multi | Para quando vários usuários ou agentes compartilham o servidor; oculta recursos onde um agente pode confundir outro |
As instruções de fluxo de trabalho orientam os agentes para testes colaborativos, em vez de tentar fazer tudo de forma autônoma ou conduzi-lo por um processo sem agregar valor. Se você tiver ideias para melhorar a colaboração entre agentes, abra uma issue.
Notas
A flag --notes habilita as ferramentas notes_save e notes_list para salvar observações vinculadas a fluxos. Desabilitada por padrão para manter o uso de contexto mínimo em sessões curtas. Habilite-a quando você esperar múltiplos achados ou compactações de conversa.
Transportes MCP
O servidor expõe dois endpoints:
/mcp- Streamable HTTP (recomendado)/sse- SSE (legado, para clientes antigos)
Exemplo de Uso da CLI
A CLI compartilha estado com o agente e fornece uma interface amigável para revisar, reproduzir e automatizar por scripts. Todos os comandos da CLI mapeiam para ferramentas MCP, então o agente compartilha o mesmo 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> --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>
Use sectool <command> --help para opções detalhadas.
Principais Recursos
- Proxy com fidelidade de bytes - MITM HTTP/1.1 e HTTP/2 preservando ordem dos cabeçalhos, capitalização e anomalias de protocolo
- Reprodução e mutação - Reescreva tráfego ao vivo via regras de correspondência/substituição ou reenvie requisições capturadas com modificações por meio de uma API otimizada para agentes
- Comparação de fluxos - Comparação estruturada e ciente do tipo de conteúdo entre dois fluxos (nível de caminho JSON, texto unificado, tamanho binário) para validação rápida de relatórios
- Análise de superfície JS - extrai endpoints, rotas e segredos de bundles JavaScript/HTML e expande qualquer ponto de chamada em requisições utilizáveis
- Detecção de reflexões - Encontre valores de parâmetros de requisição refletidos nas respostas em múltiplas variantes de codificação para revelar pontos de injeção
- OAST - Teste de interação fora de banda via Interactsh; crie domínios e consulte callbacks DNS/HTTP/SMTP
- Sondagem de redirecionamentos - Sessões OAST podem retornar redirecionamentos 307 para detectar se um alvo segue redirecionamentos, útil para cadeias de SSRF e bypasses de validação
- Rastreamento - Descubra endpoints, formulários e a estrutura da aplicação; use o histórico do proxy ou URLs como ponto de partida
- Suporte a WebSocket - Interceptação em nível de frame, proxy e correspondência/substituição de mensagens WebSocket
- Modos de fluxo de trabalho - Orientação específica para o agente (explore, test-report) para melhorar a qualidade da colaboração e reduzir o desperdício de tokens
- Utilitários de codificação - Codificação/decodificação de URL, Base64, HTML, hash (MD5/SHA/HMAC) e inspeção de JWT
- Integração com Burp Suite - Frontend GUI opcional via extensão MCP do Burp; ou execute totalmente headless com o proxy nativo
Varredura automatizada
Combine o sectool com o sidenuclei, um sidecar oficial que executa o Nuclei contra todos os endpoints que você tocar. Inicie o sectool com --notes, anexe o sidenuclei à sua sessão e ele examinará cada endpoint usando a requisição capturada real, de modo que os testes rodem com seus parâmetros, cookies e sessão autenticada reais. Os achados são registrados como notas finding vinculadas ao fluxo que os acionou, oferecendo cobertura extra enquanto você e seu agente se concentram nos testes manuais.
Suporte a protocolos personalizados
Além de HTTP e WebSocket, o sectool suporta protocolos personalizados e binários (geralmente requisição/resposta) por meio de um modelo de adaptador sidecar. Escreva um adaptador para conectar e comunicar usando nossa API sidecar. O tráfego do sidecar chega na mesma linha do tempo unificada de fluxos, então ferramentas como flow_get, diff_flow, replay_send e outras funcionam sem modificação. Adaptadores podem ser escritos em qualquer linguagem sobre a API JSON-RPC 2.0, ou em Go com o cliente SDK que lida com registro, cache de regras e emissão de fluxos. O SDK e protocolo sidecar documenta ambos.