go-appsec/toolbox

GitHub: go-appsec/toolbox

基于 MCP 协议的人机协作应用安全测试工作台,让人类负责认证与 UI 交互,AI 智能体负责流量分析与变异测试。

Stars: 9 | Forks: 2

go-appsec/toolbox [![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/go-appsec/toolbox/blob/main/LICENSE) [![Build Status](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/1d5a3c501d045424.svg)](https://github.com/go-appsec/toolbox/actions/workflows/tests-main.yml) **基于 MCP 的应用程序安全测试工具,专为您的编码智能体打造。** 这不是一个扫描器,而是一个协作工作台。智能体在处理 UI 和有状态 API 方面常常力不从心,而您恰好擅长这两者。Sectool 允许您通过代理探索应用程序,同时让智能体分析和处理您生成的已认证流量。 您负责处理身份验证和 UI 交互,智能体则负责查询流量、变异请求、查找反射、监控带外交互以及尝试其他排列组合。结合您与智能体的能力,不仅能让常规任务变得更轻松,还能减少遗漏隐蔽指标的可能性,并使复杂测试更加彻底。 ## 快速入门 ### 1. 安装 sectool ``` go install github.com/go-appsec/toolbox/sectool@latest ``` **没有安装 Go?** 从 [最新发布版](https://github.com/go-appsec/toolbox/releases) 下载适合您平台的二进制文件(Linux, macOS, Windows — amd64 和 arm64)。 ### 2. 启动 MCP (Model Context Protocol) 服务器 ``` sectool mcp ``` 这将在端口 9119 上启动一个 MCP 服务器,并在端口 8080 上启动内置的 HTTP 代理。 ### 3. 配置您的浏览器 将浏览器的代理设置指向 `127.0.0.1:8080`(或使用 `--proxy-port` 指定的端口)。 若要进行 HTTPS 拦截,请安装位于 `~/.sectool/ca.pem` 的 CA 证书(首次运行时自动生成)。大多数浏览器可以通过其证书设置接受该证书;在 macOS 上,您也可以将其添加到系统钥匙串中。 **正在使用 Burp?** 请改为遵循 [Burp 的代理配置](https://portswigger.net/burp/documentation/desktop/external-browser-config),然后使用 `sectool mcp --burp` 启动 sectool。 ### 4. 连接您的智能体 **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. 协作 与智能体合作制定测试计划并共同执行。当您处理基于浏览器的操作(如身份验证或交互式 UI 审查)时,智能体可以查询代理历史、重放修改后的请求、爬取端点以及测试带外交互。 ## 服务器选项 ### 代理后端 **Native:** 内置代理,支持线路保真(wire-fidelity)以及 HTTP/1.1、HTTP/2 和 WebSocket。设计旨在具备与 Burp 相当的 MITM 测试能力。单一二进制文件提供 MCP 服务器、代理和 CLI —— 完全自包含,可在无头环境中使用。 **Burp(可选):** 如果您更喜欢使用 GUI 来审查智能体的操作,或者已经在运行 Burp,请从 BApp Store 安装 MCP 扩展,并确保 MCP 服务器运行在 `http://127.0.0.1:9876/`。 | 选项 | 描述 | |--------|-------------| | (default) | 自动检测:优先尝试 Burp MCP,失败后回退到原生代理 | | `--proxy-port 8080` | 在指定端口强制使用原生代理 | | `--burp` | 强制使用 Burp MCP(如果不可用则失败)| ### 会话选项 #### 工作流 当智能体在会话开始时调用 `workflow` 工具时,Sectool 会自动确定合适的工作流。您可以通过预先指定工作流来跳过此步骤并节省 token: ``` 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 ``` | 模式 | 描述 | |------|-------------| | (default) | 智能体通过调用 `workflow` 工具选择任务类型,接收协作指令 | | `explore` | 探索性安全测试;所有工具可用 | | `test-report` | 验证特定的漏洞报告;排除爬取工具 | | `none` | 无工作流指令,所有工具立即可用 | 工作流指令引导智能体进行协作测试,而不是尝试自主完成所有工作,或者在没有增值的情况下逐步引导您完成流程。如果您有改进智能体协作的想法,请[提交 issue](https://github.com/go-appsec/toolbox/issues)。 #### 备注 `--notes` 标志启用 `notes_save` 和 `notes_list` 工具,用于保存与流量关联的观察结果。默认禁用,以保持短会话的上下文使用量最低。当您预期会有多个发现或对话压缩时,请启用它。 ### MCP 传输 服务器公开两个端点: - `/mcp` - Streamable HTTP(推荐) - `/sse` - SSE(旧版,适用于旧客户端) ## CLI 使用示例 CLI 与智能体共享状态,并提供人性化的界面用于审查、重放和脚本编写。所有命令也可作为 MCP 工具使用,状态与智能体共享。 ``` # 查看浏览时代理捕获的内容 sectool proxy summary sectool proxy list --host example.com sectool proxy cookies --name session_id # 爬取应用以发现端点和表单 sectool crawl create --url https://example.com sectool crawl summary # 重放捕获的请求并进行修改 sectool replay send --flow --add-header "X-Test: value" # 设置带外交互测试并检查回调 sectool oast create sectool oast poll sectool oast get # 对比两个流程,检测反射,检查 JWTs sectool diff --scope response sectool reflected sectool jwt # 导出流程,离线编辑并重新发送 sectool proxy export # ... 编辑 ./sectool-requests//request.http ... sectool replay send --bundle ``` 使用 `sectool --help` 获取详细选项。 ## 关键特性 - **线路保真代理** - HTTP/1.1 和 HTTP/2 MITM,保留头部顺序、大小写和协议异常 - **变异重放** - 重发捕获的请求,可选择性地编辑头部、主体、查询参数或 JSON 字段 - **流量差异对比** - 对两个流量进行结构化、内容类型感知的比较(JSON 路径级别、统一文本、二进制大小),用于快速验证报告 - **反射检测** - 查找在响应中反射的请求参数值(涵盖多种编码变体),以暴露注入点 - **OAST** - 通过 Interactsh 进行带外交互测试;创建域名,轮询 DNS/HTTP/SMTP 回调 - **爬取** - 发现端点、表单和应用程序结构;从代理历史或 URL 作为种子 - **WebSocket 支持** - 帧级拦截、代理以及 WebSocket 消息的匹配/替换 - **工作流模式** - 特定任务的智能体指导(explore, test-report),以提高协作质量并减少 token 浪费 - **编码工具** - URL、Base64、HTML 编码/解码,哈希(MD5/SHA/HMAC),JWT 检查 - **Burp Suite 集成** - 通过 Burp MCP 扩展的可选 GUI 前端;或使用原生代理完全在无头模式下运行
标签:Burp Suite替代, CA证书, EVTX分析, Go语言, HTTP(S)拦截, IP 地址批量处理, MCP, PE 加载器, 中间人攻击, 人机协作, 安全工具箱, 带外交互, 应用安全测试, 日志审计, 流量篡改, 程序破解, 请求重放