项目简介

该项目是一个基于 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 助手呈现给用户。

信息

分类

开发者工具