
Testes colaborativos de segurança de aplicações entre humanos e agentes via CLI e MCP
<img width="400" height="160" alt="go-appsec/toolbox" src="https://assets.kitploit.com/production/public/readmes/12195/899658aaebd95d74c5a2eb8eff64d2234300b95d43084d8dd1153d2edb6a9107.png" /> [](https://github.com/go-appsec/toolbox/blob/main/LICENSE) [](https://github.com/go-appsec/toolbox/actions/workflows/tests-main.yml) [-Significant%20AI%2C%20fully%20reviewed-1f77b4)](https://github.com/vibesdk/vibe-scale/blob/main/scale/vibe-1.md#v2-u0-t0-score-10--significant-ai-fully-reviewed) **Ferramentas de teste de segurança de aplicações baseadas em MCP para o seu agente de codificação.** Não é um scanner — é um ambiente de trabalho colaborativo. Agentes têm dificuldade com UI e APIs com estado; você é bom em ambos. O Sectool permite explorar uma aplicação através do seu proxy enquanto um agente analisa e manipula o mesmo tráfego autenticado que você gera. Você cuida da autenticação e das interações de UI, o agente consulta fluxos, modifica requisições, encontra reflexos, monitora interações out-of-band e tenta outras permutações. Combinar suas habilidades torna tarefas rotineiras mais fáceis, indicadores ocultos menos propensos a passar despercebidos e testes complexos mais minuciosos. ## Primeiros Passos ### 1. Instale o sectool ```bash 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 release](https://github.com/go-appsec/toolbox/releases). ### 2. Inicie o servidor MCP (Model Context Protocol) ```bash sectool mcp ``` Isso inicia um servidor MCP na porta 9119 com um proxy HTTP integrado na porta 8080. ### 3. Configure 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 o aceita através das suas configurações de certificado; no macOS você também pode adicioná-lo ao keychain do sistema. **Usando Burp?** Siga a [configuração de proxy do Burp](https://portswigger.net/burp/documentation/desktop/external-browser-config) em vez disso, depois inicie o sectool com `sectool mcp --burp`. ### 4. Conecte o seu agente **Claude Code:** ```bash claude mcp add --transport http sectool http://127.0.0.1:9119/mcp ``` **Codex** (`~/.codex/config.toml`): ```toml [mcp_servers.sectool] url = "http://127.0.0.1:9119/mcp" ``` ### 5. Colabore Trabalhe com o agente para construir um plano de teste e executá-lo juntos. O agente pode consultar o histórico do proxy, reproduzir requisições modificadas, rastrear endpoints e testar interações out-of-band enquanto você cuida de ações baseadas no navegador, como autenticação ou interagir com e revisar a UI. ## Opções do Servidor ### Backends de proxy **Nativo:** Proxy integrado com fidelidade de wire 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 autocontido e utilizável em ambientes headless. **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 da BApp Store e garanta que o servidor MCP rode em `http://127.0.0.1:9876/`. | Opção | Descrição | |--------|-------------| | (padrão) | Detecção automática: tenta o Burp MCP primeiro, recorre ao proxy nativo | | `--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 #### Workflow O Sectool determina automaticamente o workflow apropriado quando o agente chama a ferramenta `workflow` no início de uma sessão. Você pode pular esta etapa e economizar tokens especificando o workflow antecipadamente: ```bash sectool mcp # Padrão: o agente seleciona o tipo de tarefa via ferramenta workflow sectool mcp --workflow explore # Modo de exploração pré-definido sectool mcp --workflow test-report # Modo de validação pré-definido sectool mcp --workflow none # Sem instruções de workflow sectool mcp --workflow multi # Múltiplos agentes compartilham o servidor ``` | Modo | Descrição | |------|-------------| | (padrão) | O agente seleciona o tipo de tarefa chamando a ferramenta `workflow`, recebe instruções de colaboração | | `explore` | Teste de segurança exploratório; todas as ferramentas disponíveis | | `test-report` | Validação de um relatório de vulnerabilidade específico; ferramentas de crawl excluídas | | `none` | Sem instruções de workflow, todas as ferramentas disponíveis imediatamente | | `multi` | Para quando múltiplos usuários ou agentes compartilham o servidor; oculta recursos onde um agente pode confundir outro | As instruções de workflow orientam os agentes para testes colaborativos em vez de tentar fazer tudo autonomamente ou conduzi-lo por um processo sem agregar valor. Se você tem ideias para melhorar a colaboração do agente, [abra uma issue](https://github.com/go-appsec/toolbox/issues). #### 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ê espera 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 mais antigos) ## Exemplo de Uso da CLI A CLI compartilha estado com o agente e fornece uma interface amigável para revisar, reproduzir e criar scripts. Todos os comandos da CLI mapeiam para ferramentas MCP, então o agente compartilha o mesmo estado. ```bash # Revise o que o proxy capturou enquanto você navegava sectool proxy summary sectool proxy list --host example.com sectool proxy cookies --name session_id # Rastreie uma aplicação para descobrir endpoints e formulários sectool crawl create --url https://example.com sectool crawl summary <session_id> # Reproduza uma requisição capturada com modificações sectool replay send --flow <flow_id> --set-header "X-Test: value" # Configure testes de interação out-of-band e verifique callbacks sectool oast create sectool oast poll <oast_id> sectool oast get <event_id> # Compare dois fluxos, detecte reflexos, inspecione JWTs sectool diff <flow_a> <flow_b> --scope response sectool reflected <flow_id> sectool jwt <token> # Exporte um fluxo, edite-o offline e reenvie sectool proxy export <flow_id> # ... edite ./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 wire** - MITM HTTP/1.1 e HTTP/2 preservando ordem de cabeçalhos, capitalização e anomalias de protocolo - **Replay e mutação** - Reescreva tráfego ao vivo via regras de match/replace ou reenvie requisições capturadas com modificações através de uma API otimizada para agentes - **Diff de fluxos** - Comparação estruturada e ciente do content-type de 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** - extraia endpoints, rotas e segredos de bundles JavaScript/HTML, depois expanda qualquer call site em suas requisições utilizáveis - **Detecção de reflexos** - Encontre valores de parâmetros de requisição refletidos em respostas em múltiplas variantes de codificação para revelar pontos de injeção - **OAST** - Teste de interação out-of-band via Interactsh; crie domínios, faça polling de callbacks DNS/HTTP/SMTP - **Sondagem de redirecionamento** - Sessões OAST podem retornar redirecionamentos 307 para detectar se um alvo segue redirecionamentos, útil para cadeias SSRF e bypass de validação - **Crawling** - Descubra endpoints, formulários e estrutura da aplicação; inicialize a partir do histórico do proxy ou de URLs - **Suporte a WebSocket** - Interceptação em nível de frame, proxy e match/replace para mensagens WebSocket - **Modos de workflow** - Orientação específica por tarefa para o agente (explore, test-report) para melhorar a qualidade da colaboração e reduzir desperdício de tokens - **Utilitários de codificação** - Codificação/decodificação URL, Base64, HTML, hashing (MD5/SHA/HMAC), inspeção de JWT - **Integração com Burp Suite** - Frontend GUI opcional via extensão Burp MCP; ou execute totalmente headless com o proxy nativo ## Escaneamento automatizado Combine o sectool com o [sidenuclei](https://github.com/go-appsec/toolbox-sidenuclei), um sidecar de primeira linha que executa o [Nuclei](https://github.com/projectdiscovery/nuclei) contra cada endpoint que você toca. Inicie o sectool com `--notes`, anexe o `sidenuclei` junto à sua sessão, e ele escaneia cada endpoint usando a requisição capturada real, então os testes rodam com seus parâmetros, cookies e sessão autenticada reais. Os achados chegam como notas `finding` vinculadas ao fluxo que os disparou, dando cobertura extra enquanto você e seu agente focam em testes manuais. ## Suporte a protocolos personalizados Além de HTTP e WebSocket, o sectool suporta protocolos personalizados e binários (geralmente requisição / resposta) através 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 `flow_get`, `diff_flow`, `replay_send` e outras ferramentas 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 & protocolo sidecar](https://github.com/go-appsec/toolbox/blob/main/sidecar/README.md) documenta ambos.