MCP 驱动的 APP 抓包与渗透测试:Reqable 小黄鸟与无影 Tscan 配置实战
学习自神农安全课程
在 SRC 漏洞挖掘与红队渗透场景中,工具链的协同效率往往决定了产出上限。本文梳理如何通过 MCP(Model Context Protocol)将 Reqable 小黄鸟、无影 Tscan、Burp、Yakit、Chrome 等工具统一接入大模型,把"抓包—扫描—利用"的链路交给模型编排,让安全测试从"人驱动工具"进化为"人监督模型驱动工具"。
一、为什么需要 MCP 化的安全工具链
传统渗透测试的工具栈存在两个长期痛点:
- 工具孤岛:Burp、Yakit、Tscan、Reqable 各自为政,数据无法在工具间流转,测试者需要在多个 GUI 间反复切换。
- 认知负荷:每个工具都有自己的命令体系与操作逻辑,测试者既要懂业务、又要懂工具,精力被严重分散。
MCP 的出现提供了一个新的解法:把每个安全工具封装成一个 MCP 服务,大模型作为统一编排者。测试者只需要用自然语言描述意图(如"测试这个 URL 的 XSS"),模型即可自动调用合适的工具、读取抓包数据、构造 payload、回传结果。
这种模式的本质是:把工具调用权从人手中移交出去,把判断与决策权留在人手中。
本文涉及的配置覆盖四个模块:
- 0x1 Reqable 小黄鸟:APP 抓包 + 自动化渗透
- 0x2 无影 Tscan:资产探测与漏洞扫描
- 0x3 拓展命令行 MCP 配置:多工具统一接入
- 0x4 Claude Code 补丁更新:让 Claude Code 兼容 MCP 调用
二、Reqable 小黄鸟:让抓包数据"可被模型读取"
2.1 配置的两种姿势
Reqable(小黄鸟)是移动端 APP 抓包的主流工具之一。把它接入 MCP 后,模型可以直接读取小黄鸟抓到的数据包,甚至控制放包流程。
配置方式有两种,推荐使用 JSON 文件方式,便于迁移与版本管理。
方式 A:CLI 全局注册
claude mcp add reqable --transport stdio -- "/Applications/Reqable.app/Contents/Helpers/mcp-server"
方式 B:写入 .mcp.json
"reqable": {
"type": "stdio",
"command": "/Applications/Reqable.app/Contents/Helpers/mcp-server",
"args": ["--host", "127.0.0.1", "--port", "9001"],
"env": {}
}
这里有几个容易踩坑的细节:
- 端口一致性:Reqable 默认端口是
9000,如果修改过(示例改为9001),配置文件中的--port必须同步修改,否则模型连不上。 - JSON 语法:多个工具并列配置时,每条之间必须用逗号分隔。这个看似低级的错误,是新手最常见的翻车点。
- 路径正确性:示例路径是 macOS 下的位置,Windows / Linux 用户需要自行定位
mcp-server的实际路径。
2.2 验证:从"配上了"到"能用"
配置完成后,验证分两步:
第一步,确认 MCP 已被识别:
reqable 的 mcp 配置好了嘛
第二步,确认数据可读:
你帮我通过 Reqable 的 MCP 服务,探测下里面的数据包有多少个
只有第二步能正确返回数据包数量,才说明抓包数据真正流向了模型。
2.3 APP 抓包测试
测试 APP 抓包时,建议先把手机投屏到电脑,便于实时观察:
adb devices # 列出设备
scrcpy -s <device_id> # 投屏
只要能稳定抓到 APP 数据包,这一步就算通过。
2.4 自动化渗透:一个真实示例
接入 MCP 后,渗透测试可以变得极其简洁。例如测试一个 XSS 漏洞:
帮我测试下 http://test.ctf8.com/level1.php?name=test 网站的 XSS 漏洞,使用 Reqable 的 MCP
模型会自动在小黄鸟里开启抓包放包,执行 XSS 的 payload 操作。整个流程无需人工切换工具。
2.5 关键建议:开启二级代理
直接由模型驱动 Reqable 自动放包,存在一个隐患:模型的行为不可见、不可控。一旦 payload 出错或目标意外,回溯困难。
推荐架构是二级代理:
APP → Reqable(一级,MCP 可控)→ Burp Suite(二级,人工/脚本介入)→ 目标
这样 Reqable 侧负责自动化,Burp 侧保留人工审查与改包能力。自动化与可控性并存,才是工程上可接受的方案。
三、无影 Tscan:资产探测与漏扫的模型化
3.1 配置流程
Tscan 的配置比 Reqable 多一步:需要先在工具内部接入大模型。
- 点击 Tscan 右上角的机器人图标
- 添加大模型配置
- 启动 Tscan 的 MCP 服务
- 在
.mcp.json中写入配置:
"tscan": {
"command": "mcp-remote",
"args": [
"http://127.0.0.1:8088/mcp"
]
}
注意 Tscan 使用的是 mcp-remote 桥接远程 HTTP 服务,端口 8088 是其默认 MCP 服务端口。
3.2 测试三连
配置完成后,按以下顺序验证:
- 存在性验证:执行
/mcp,确认 tscan 亮绿色 - 能力探测:询问"tscan 的 MCP 服务,你可以用来做什么",让模型自报可用工具集
- 功能验证:执行一个简单任务,如"调用 Tscan MCP,对本地 127.0.0.1 进行简单资产探测"
3.3 日常使用的最佳实践
强烈建议在 Tscan 中开启 AI 辅助功能。这个功能可以在工具运行过程中提供实时判断与建议,对于资产识别、漏洞确认等环节的效率提升非常明显。
工具 + 模型的组合,远比工具单独使用更高效。
四、拓展:构建统一的多工具 MCP 配置
当工具数量增多时,统一管理变得重要。下面是一份经过验证的完整 mcp.json 配置,覆盖五类常见工具:
{
"mcpServers": {
"burp": {
"command": "/Library/Java/JavaVirtualMachines/jdk-22.jdk/Contents/Home/bin/java",
"args": [
"-jar",
"/Users/routing/tooks/burpsuit/MCP/mcp-proxy.jar",
"--sse-url",
"http://127.0.0.1:9876"
]
},
"yakit": {
"command": "mcp-remote",
"args": [
"http://127.0.0.1:11432/sse"
]
},
"reqable": {
"type": "stdio",
"command": "/Applications/Reqable.app/Contents/Helpers/mcp-server",
"args": ["--host", "127.0.0.1", "--port", "9001"],
"env": {}
},
"tscan": {
"command": "mcp-remote",
"args": [
"http://127.0.0.1:8088/mcp"
]
},
"chrome-mcp": {
"type": "http",
"url": "http://127.0.0.1:12306/mcp",
"description": "Chrome 浏览器自动化控制服务"
}
}
}
| 工具 | 协议 | 端口 | 用途 |
|---|---|---|---|
| burp | SSE(Java jar 代理) | 9876 | 抓包 / 改包 / 重放 |
| yakit | SSE | 11432 | 综合安全平台 |
| reqable | stdio | 9001 | APP 抓包 |
| tscan | HTTP | 8088 | 资产探测 / 漏扫 |
| chrome-mcp | http | 12306 | 浏览器自动化 |
Chrome MCP 的特殊处理
Chrome MCP 在 IDE(如 Trae)内置时容易掉线,建议额外配置 CLI 版本:
# 安装 mcp-chrome-bridge
npm install -g mcp-chrome-bridge
# 检查安装
mcp-chrome-bridge --help
# 注册:让浏览器扩展与本地程序通信
mcp-chrome-bridge register
注册后,在 Chrome 中启用「Chrome MCP Server」扩展,配置文件中加入:
"chrome-mcp": {
"type": "http",
"url": "http://127.0.0.1:12306/mcp",
"description": "Chrome 浏览器自动化控制服务"
}
最终用 /mcp 验证全部绿色,整个工具链就位。
五、Claude Code 补丁:让模型真正能调用 MCP
工具配好了,但如果 Claude Code 版本不匹配,MCP 调用会失败。这一步常被忽略,却是整个链路能否跑通的关键。
5.1 安装依赖
Mac:
brew install ripgrep
Windows 用户应使用等价命令安装 ripgrep,例如:
scoop install ripgrep
# 或
winget install BurntSushi.ripgrep.MSVC
5.2 指定版本更新
claude update --version 2.1.205
与 CC-Switch 保持一致版本,避免兼容性问题。
5.3 脚本补丁
下载最新版本的补丁脚本:
https://github.com/0Chencc/clawgod/releases/tag/v1.6.1
本地执行该脚本即可。
5.4 验证
- Claude Code 版本与目标版本对上
claude显示绿色
只有这两条同时满足,才能认为补丁生效。
六、整体工作流:从指令到结果
把上述所有环节串起来,一个完整的 MCP 化渗透测试工作流如下:
- 环境就绪:所有工具启动、MCP 服务开启、
.mcp.json配置正确 - 链路验证:
/mcp全部绿色,逐一确认每个工具可被调用 - 抓包接入:手机通过 Reqable 抓包,数据流向模型可读
- 二级代理:在 Reqable 与目标之间插入 Burp,保留人工审查窗口
- 指令下发:用自然语言描述测试意图,模型调度工具执行
- 结果审查:人工核对模型输出,确认漏洞与利用链
- 持续迭代:根据结果调整提示词与工具配置
整个流程中,人的角色从"操作者"变为"监督者与决策者",工具的执行细节交给模型处理。这是 MCP 给渗透测试带来的最本质变化。
七、几点工程化提醒
在实践这套方案时,有几点经验值得强调:
- 配置一致性比配置完整性更重要。一个端口对不上,整条链路就断。每次修改工具端口,必须同步更新
.mcp.json。 - 自动化必须配套人工审查窗口。二级代理不是可选项,而是工程上的必需品。完全自动化的渗透测试在真实目标上是危险的。
- 版本管理要严格。Claude Code、MCP 桥接工具、各安全工具的版本必须相互兼容。补丁脚本要定期更新。
- 提示词是新的攻击面。红队 / 渗透测试提示词的质量直接决定模型调度的准确性,值得单独投入精力优化。
- 工具孤岛被打破后,新的协同模式会出现。例如 Reqable 抓到的包可以自动喂给 Tscan 做资产识别,Burp 的重放结果可以回传给模型做漏洞确认——这些以前需要人工搬运的环节,现在可以由模型自动完成。
八、结语
MCP 化的安全工具链不是简单的"工具集成",而是一次工作范式的转换。它把安全测试人员从繁琐的工具操作中解放出来,让其专注于判断与决策——后者才是真正创造价值的环节。
Reqable 小黄鸟与无影 Tscan 的接入只是起点。当 burp、yakit、chrome 等工具都成为模型可调用的资源时,渗透测试的效率天花板会被显著抬高。掌握这套配置方法,意味着站在了"AI 驱动安全测试"这一新范式的入口。
后续的方向,是优化提示词、沉淀场景化工作流、建立工具协同的标准化模板。这条路的尽头,是真正意义上的"AI 安全工程师"。

浙公网安备 33010602011771号