1. 为什么要在 Burp Suite 里接 AI 和 MCP做安全测试的人大多有个共同体验Burp Suite 抓包很强但分析环节还是靠人肉。一个登录接口返回了 3KB 的 JSON里面嵌套了 token、权限字段、时间戳你得自己翻一个越权测试跑了 200 条请求哪几条响应体差异值得深挖也得自己比对。Burp 本身有 Scanner但规则是固定的遇到业务逻辑漏洞基本帮不上忙。我想要的是一种更灵活的方式让大模型直接读我选中的请求和响应按我给的提示词做分析同时模型不只是一个聊天窗口它还能调用我本地的工具、查我本地的数据库、甚至连到远程的 Agent 去执行任务。这就是 MCPModel Context Protocol的价值——它把「模型」和「工具」用统一协议连起来模型可以主动调用工具而不是只被动回答问题。BurpAgent 这个插件做的正是这件事把 LLM 和 MCP 塞进 Burp Suite让你在抓包的界面里就能完成「选中流量 → AI 分析 → 调用工具 → 拿到结论」的闭环。它适合几类人做 Web 渗透测试、想用 AI 辅助代码审计、需要把本地脚本能力接进 Burp、或者想搭一个远程 Agent 做自动化分析的安全工程师。下面我从零开始把配置骨架、settings.json 示例、一次完整的验证动作以及我踩过的坑都写清楚。2. 前置准备TaoToken 接入与插件安装2.1 为什么用 TaoToken 做模型入口BurpAgent 需要调用大模型你可以填官方 API也可以填兼容 OpenAI 协议的聚合入口。我用 TaoToken 是因为它一个 Key 能切换 GPT-4、DeepSeek 等模型省得为每个模型单独配 Key。它的接口地址是https://taotoken.net/api兼容 OpenAI 的/v1/chat/completions格式BurpAgent 里填 Base URL 和 API Key 就能用。先到控制台创建 API Key控制台入口https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentburp_mcp_console创建完 Key 后建议先在模型对话页面确认 Key 可用、模型能正常返回再去配插件避免把「Key 错」和「插件配错」两个问题混在一起排查模型对话验证https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentburp_mcp_chat如果你后面要做长期的编码类 Agent 任务比如让模型持续分析大量流量、跑多轮工具调用可以了解下 Coding Plan它更适合高频、长上下文的场景Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentburp_mcp_plan2.2 安装 BurpAgentBurpAgent 是 Burp Suite 的扩展安装方式两种从 BApp Store 搜如果已上架或者手动加载 JAR。手动加载的步骤是打开 Burp → Extender → Extensions → Add → 选择 Extension type 为 Java → 选中下载好的 JAR 文件。加载成功后Burp 顶部会多出一个 BurpAgent 标签页。插件加载后第一件事是配模型。在 BurpAgent 的设置面板里找到 LLM 配置区填入配置项值Base URLhttps://taotoken.net/apiAPI Key你在控制台创建的 KeyModel例如 gpt-4o 或 deepseek-chatTemperature0.2安全分析建议低温度减少发散填完点测试连接返回 200 且能看到模型回复说明模型通道通了。这一步不通后面 MCP 配得再好也没用。3. 可复制配置MCP Server 与 settings.json 骨架3.1 MCP 的两种连接方式MCP Server 有两种接入方式BurpAgent 都支持stdio本地进程插件启动一个子进程通过标准输入输出通信。适合本地工具比如文件操作、本地脚本、SQLite 查询。SSE远程连接通过 HTTP SSE 连到远程 MCP Server。适合远程 Agent、团队共享的分析服务。在 BurpAgent 的 MCP 设置面板里你可以添加多个 Server每个 Server 配名称、类型、启动命令或 URL。设置面板会显示每个 Server 的连接状态已连接/断开/错误这个状态监控很关键后面排障主要看它。3.2 settings.json 示例下面是一份可直接改的 settings.json 骨架包含一个 stdio 本地 Server 和一个 SSE 远程 Server{ mcpServers: { local-files: { command: python, args: [-m, mcp_server_filesystem, --root, /Users/you/testdata], env: { PYTHONUNBUFFERED: 1 }, type: stdio }, local-sqlite: { command: python, args: [/Users/you/mcp/sqlite_server.py, --db, /Users/you/testdata/target.db], type: stdio }, remote-agent: { url: https://your-agent.example.com/sse, type: sse, headers: { Authorization: Bearer YOUR_AGENT_TOKEN } } } }几个要点command必须是系统能找到的可执行文件Windows 下写python.exe的绝对路径更稳args里带路径的用绝对路径别用~插件子进程不一定展开SSE 的headers用来带鉴权远程 Agent 一般都要。3.3 自定义脚本工具除了标准 MCP ServerBurpAgent 还支持挂载 Python/Bash/Batch 脚本作为 AI 可调用的工具。比如你写一个check_waf.py输入 URL 返回 WAF 指纹模型在分析流量时就能主动调用它。插件内置了命令黑名单和执行确认机制——模型要执行脚本时会先弹确认你点了才跑。这个设计很有必要否则模型可能执行危险命令。脚本工具的配置也在设置面板里指定脚本路径、解释器、参数模板即可。自动解析执行结果这块建议脚本输出 JSON模型解析更稳。4. 验证请求从流量捕获到 AI 辅助分析4.1 一次完整的验证动作配置完别急着上生产先用一个可控的请求验证整条链路。步骤打开 Burp 的 Proxy → HTTP history找一个你测试环境的请求比如GET /api/user?id1001。右键 → Send to BurpAgent或选中后在 BurpAgent 面板点分析。在 BurpAgent 面板里选一个 Skill比如「代码审计员」或者自己写 Prompt「分析这个响应指出可能的越权风险点并说明判断依据」。点发送观察模型返回。如果模型返回了分析结论说明 LLM 通道通了。接下来验证 MCP在 Prompt 里加一句「用 local-sqlite 工具查一下 users 表里 id1001 的记录对比响应里的字段」。如果模型能调用工具并返回数据库结果说明 MCP 链路也通了。4.2 用 curl 先验证模型通道在配插件之前我习惯先用 curl 确认 Key 和模型没问题这样排障时能快速定位是网络问题还是插件问题curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer YOUR_API_KEY \ -H Content-Type: application/json \ -d { model: gpt-4o, messages: [ {role: user, content: 用一句话说明什么是越权漏洞} ], temperature: 0.2 }返回里有choices[0].message.content就说明通道正常。这一步过了插件里再报错问题就在插件配置或 MCP Server 上。4.3 成功结果长什么样一次成功的 AI 辅助分析输出应该包含风险点定位哪个参数、哪个字段、判断依据响应里的什么特征、建议的验证动作再发什么请求确认。比如模型可能返回「响应中role字段返回了admin但请求里id1001是普通用户 ID存在水平越权可能。建议用 id1002 的会话重放该请求对比role字段。」这种输出才是可跟做的而不是泛泛而谈。5. 本篇常见错排查5.1 MCP Server 显示断开最常见的原因是command路径不对。插件启动子进程时工作目录和你的终端不一样相对路径会失效。全部改成绝对路径。第二个原因是 Python 环境python -m mcp_server_filesystem要求这个包装在当前 Python 环境里如果你用虚拟环境command要指向虚拟环境的 python。5.2 模型不调用工具模型不调工具通常是 Prompt 里没明确要求或者工具描述不清晰。MCP Server 的工具描述description要写清楚「这个工具做什么、参数是什么」模型靠这个决定调不调。另外温度别太高0.2 左右比较稳。如果还是不调在 Prompt 里直接点名「请使用 local-sqlite 工具查询」。5.3 SSE 远程连接超时SSE 连接超时先确认 URL 可达curl -N https://your-agent.example.com/sse看能不能收到事件流。如果服务端要求鉴权确认 headers 里的 token 没写错。还有一点SSE 是长连接中间如果有反向代理要确认代理没把连接掐断。5.4 脚本工具执行被拦脚本被黑名单拦了说明脚本里用了被禁的命令。插件的黑名单是为了防止模型执行危险操作别去绕它改脚本逻辑。如果确实需要某个命令看插件设置里能不能加白名单加之前想清楚风险。5.5 API Key 报 401401 一般是 Key 错、Key 过期、或者 Base URL 写错。Base URL 是https://taotoken.net/api别多加/v1插件一般会自己拼。如果确认 Key 没问题去控制台看下 Key 的状态和额度API Keys 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentburp_mcp_keys5.6 接入文档在哪MCP 配置和接入的细节官方文档写得更全遇到协议层的问题可以查接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentburp_mcp_doc6. 把 AI 分析接进你的日常测试流配好之后我建议你先固定一个 Skill比如「越权分析员」把 System Prompt 写死成你常用的分析框架这样每次分析输出格式一致方便对比。然后从单个请求分析开始逐步过渡到批量选中多条请求让模型逐条分析并汇总风险点。如果你要做更重的自动化比如让 Agent 持续跑、多轮调用工具、分析大量流量可以考虑用 Coding Plan 那类长上下文方案把 BurpAgent 当入口远程 Agent 当执行体Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentburp_mcp_plan_end最后提醒一句MCP 让模型能调工具能力越大风险越大。生产数据库别直接挂脚本工具的黑名单别乱改远程 Agent 的鉴权别省。安全测试本身就是在边界上做事工具链的安全边界更要守住。