BurpSuite MCP 集成服务器

项目简介

该项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型(LLM)客户端(如 AI 助手)提供与 BurpSuite Professional 进行交互的能力。通过这个服务器,AI 可以利用 BurpSuite 的安全扫描、代理历史查看、站点结构探索等功能,辅助进行 Web 安全测试和分析。

当前版本实现了 MCP 接口和数据结构,但其核心功能连接 BurpSuite 的部分为模拟数据(Mock),未来计划连接真实的 BurpSuite REST API。

主要功能点

该服务器向连接的 AI 助手暴露了以下核心功能:

  1. 调用工具 (Tools): AI 可以调用预定义的功能,例如:

    • 'start_scan': 在目标 URL 上启动一次漏洞扫描(可指定扫描类型)。
    • 'get_scan_status': 检查特定扫描任务的当前状态和进度。
    • 'get_scan_issues': 获取特定扫描任务发现的漏洞详情,可按严重性过滤。
    • 'get_proxy_history': 获取 Burp Proxy 捕获的 HTTP/HTTPS 流量历史,可按主机、方法、状态码、数量过滤。
    • 'get_site_map': 获取 Burp 在扫描和浏览过程中发现的站点结构,可按主机、是否包含参数、数量过滤。
  2. 访问资源 (Resources): AI 可以通过特定的 URI 访问结构化数据,例如:

    • 'burpsuite://scan/{scanId}': 获取某个特定扫描的详细结果。
    • 'burpsuite://scan/{scanId}/issue/{issueId}': 获取某个扫描中特定漏洞的详细信息。
    • 'burpsuite://proxy/history': 获取完整的代理历史记录列表。
    • 'burpsuite://proxy/history/{itemId}': 获取代理历史中某个特定请求/响应对的详细信息。
    • 'burpsuite://sitemap': 获取完整的站点地图结构。

安装步骤

要安装并运行此 MCP 服务器,您需要 Node.js 环境。

  1. 克隆或下载仓库代码到本地目录,例如 '/path/to/burpsuite-server'。
  2. 打开终端,进入该目录:
    cd /path/to/burpsuite-server
  3. 安装项目依赖:
    npm install
  4. 构建服务器代码:
    npm run build
    这会在 'build' 目录下生成可执行的 JavaScript 文件。

服务器配置

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 助手呈现给用户。

服务器信息