项目简介
该项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型(LLM)客户端(如 AI 助手)提供与 BurpSuite Professional 进行交互的能力。通过这个服务器,AI 可以利用 BurpSuite 的安全扫描、代理历史查看、站点结构探索等功能,辅助进行 Web 安全测试和分析。
当前版本实现了 MCP 接口和数据结构,但其核心功能连接 BurpSuite 的部分为模拟数据(Mock),未来计划连接真实的 BurpSuite REST API。
主要功能点
该服务器向连接的 AI 助手暴露了以下核心功能:
-
调用工具 (Tools): AI 可以调用预定义的功能,例如:
- 'start_scan': 在目标 URL 上启动一次漏洞扫描(可指定扫描类型)。
- 'get_scan_status': 检查特定扫描任务的当前状态和进度。
- 'get_scan_issues': 获取特定扫描任务发现的漏洞详情,可按严重性过滤。
- 'get_proxy_history': 获取 Burp Proxy 捕获的 HTTP/HTTPS 流量历史,可按主机、方法、状态码、数量过滤。
- 'get_site_map': 获取 Burp 在扫描和浏览过程中发现的站点结构,可按主机、是否包含参数、数量过滤。
-
访问资源 (Resources): AI 可以通过特定的 URI 访问结构化数据,例如:
- 'burpsuite://scan/{scanId}': 获取某个特定扫描的详细结果。
- 'burpsuite://scan/{scanId}/issue/{issueId}': 获取某个扫描中特定漏洞的详细信息。
- 'burpsuite://proxy/history': 获取完整的代理历史记录列表。
- 'burpsuite://proxy/history/{itemId}': 获取代理历史中某个特定请求/响应对的详细信息。
- 'burpsuite://sitemap': 获取完整的站点地图结构。
安装步骤
要安装并运行此 MCP 服务器,您需要 Node.js 环境。
- 克隆或下载仓库代码到本地目录,例如 '/path/to/burpsuite-server'。
- 打开终端,进入该目录:
cd /path/to/burpsuite-server - 安装项目依赖:
npm install - 构建服务器代码:
这会在 'build' 目录下生成可执行的 JavaScript 文件。npm run build
服务器配置
MCP 客户端(如您的 AI 助手应用)需要配置如何启动并连接到这个 Burpsuite MCP 服务器。通常,您需要在客户端的 MCP 配置 JSON 文件中添加一个条目,指定服务器的名称、启动命令及其参数。
以下是一个配置示例的说明(请在您的 MCP 客户端配置中参照填写,不要直接复制以下代码):
// 这是一个用于说明的 JSON 配置示例,请根据您的MCP客户端实际配置方式填写 { "mcpServers": { // "burpsuite" 是您给这个服务器定义的名称,客户端将通过这个名称引用它 "burpsuite": { // "command" 指定了用于启动服务器的程序,这里是 Node.js 可执行文件 "command": "node", // "args" 是传递给启动程序的参数列表。 // 这里指定了构建后服务器主文件的路径。 // 请将 "/path/to/burpsuite-server" 替换为您实际存放代码的路径。 "args": ["/path/to/burpsuite-server/build/index.js"], // "env" 用于设置服务器启动时需要的环境变量,这里为空 "env": {}, // "disabled" 设置服务器是否禁用,false 表示启用 "disabled": false, // "autoApprove" 列出客户端可以自动使用而无需用户确认的能力(工具或资源) "autoApprove": [] } // 您可以根据需要在此处添加其他 MCP 服务器的配置 } }
将类似上述配置信息添加到您的 MCP 客户端的服务器配置中,并确保 'command' 和 'args' 中的路径正确指向您安装服务器的位置。
基本使用方法
配置完成后,您的 MCP 客户端(AI 助手)就可以通过调用服务器提供的工具或访问资源来与 BurpSuite 功能交互。具体如何与 AI 助手对话取决于客户端的应用设计,但核心思想是 AI 能够理解用户的意图并将其转化为对这个 MCP 服务器的请求。
例如,用户可以通过自然语言向 AI 助手提出请求:
- 启动扫描: "请让 Burpsuite 扫描一下 'https://example.com' 这个网站。" (AI 客户端可能会调用 'start_scan' 工具,参数 'target' 为 'https://example.com')
- 查看代理历史: "给我看看 Burp Proxy 抓到的所有流量。" (AI 客户端可能会调用 'get_proxy_history' 工具) 或者 "获取 URI 是 'burpsuite://proxy/history' 的资源。" (AI 客户端直接读取资源)
- 分析漏洞: "最新扫描结果里有没有高危漏洞?" (AI 客户端可能会调用 'get_scan_issues' 工具,参数 'severity' 为 'high')
AI 客户端会向服务器发送 JSON-RPC 请求,服务器执行相应操作(当前是模拟操作,未来会与 BurpSuite 交互),并将结果通过 JSON-RPC 响应返回给客户端,最终由 AI 助手呈现给用户。
信息
分类
开发者工具