BurpSuite安全扫描扩展

BurpSuite的MCP服务器扩展,通过Montoya API实现Claude Desktop与BurpSuite安全扫描功能的交互。

  • by Andromeda254
  • Java
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Andromeda254/burp-mcp-server

使用说明

BurpSuite MCP服务器扩展

BurpSuite的模型上下文协议(MCP)服务器扩展,使Claude Desktop能够使用Montoya API与BurpSuite安全扫描功能进行交互。

概述

该项目在Claude Desktop和BurpSuite之间提供了一座桥梁,使您能够:

  • 通过Claude Desktop启动安全扫描
  • 检索扫描结果和安全发现
  • 访问代理历史和HTTP流量分析
  • 通过对话式人工智能管理扫描任务

特性

  • MCP协议支持:完全符合MCP规范
  • 双重运输模式:
    • 克劳德桌面集成的stdio模式
    • 用于独立测试的HTTP服务器模式
  • BurpSuite集成:使用Montoya API进行深度集成
  • 安全工具:
    • scan_target:启动被动、主动或完全安全扫描
    • get_scan_results:检索详细的扫描结果
    • proxy_history:访问HTTP请求/响应历史记录
  • 资源访问:实时访问扫描队列和安全问题

需求

系统要求

  • 操作系统:Ubuntu 24.04 LTS(或兼容的Linux)
  • Java:OpenJDK 17或更高版本
  • BurpSuite:专业版或社区版
  • 克劳德桌面:最新版本

依赖项

  • 等级8.1+
  • API蒙托亚套房
  • Jackson JSON处理
  • SLF4J测井

安装

1.克隆和构建

# Clone the repository
git clone <your-repo-url>
cd burp-mcp-server

# Build the project
./gradlew shadowJar

2.安装Java 17(如果尚未安装)

sudo apt update
sudo apt install openjdk-17-jdk

3.配置克劳德桌面

运行自动安装脚本:

./setup-claude-desktop.sh

或通过编辑手动配置 ~/.config/claude-desktop/claude_desktop_config.json:

{
  "mcpServers": {
    "burp-mcp-server": {
      "command": "java",
      "args": [
        "-jar",
        "/home/jojo/dev/burp-mcp-server/build/libs/burp-mcp-server-1.0.0-all.jar",
        "--stdio"
      ],
      "env": {
        "JAVA_HOME": "/usr/lib/jvm/java-17-openjdk-amd64",
        "BURP_MCP_LOG_LEVEL": "INFO"
      }
    }
  }
}

用法

运行服务器

适用于克劳德桌面(stdio模式)

./start-server.sh stdio

用于测试(HTTP模式)

./start-server.sh http
# Server will be available at http://localhost:5001/mcp

构建并运行

./start-server.sh build

可用的MCP工具

1.扫描目标

对目标URL启动安全扫描。

参数:

  • url (必填):要扫描的目标URL
  • scanType (可选):扫描类型(passive, active, full)

克劳德桌面使用示例:

“请扫描https://example.com使用完整扫描查找安全漏洞”

2.获取扫描结果

检索以前扫描的结果。

参数:

  • taskId (可选):特定扫描任务ID

例子:

“显示我最近的安全扫描结果”

3.代理历史

从BurpSuite代理获取HTTP请求/响应历史记录。

参数:

  • limit (可选):最大条目数(默认值:100)
  • filter (可选):URL过滤模式

例子:

“显示通过代理的最后50个HTTP请求”

可用资源

burp://scan-queue

访问当前扫描队列状态和活动任务。

burp://issues

Access发现了安全问题和漏洞。

BurpSuite集成

作为BurpSuite扩展

  1. Open BurpSuite专业版
  2. 转到扩展→ 已安装
  3. Add → 选择JAR文件→ 选择构建的JAR文件
  4. 该扩展将与BurpSuite的扫描引擎集成

单独模式

当BurpSuite不可用时,服务器可以独立运行并提供模拟数据用于测试目的。

配置

日志记录配置

编辑 src/main/resources/logback.xml 调整日志记录级别:

<root level="INFO">
    <appender-ref ref="CONSOLE"/>
    <appender-ref ref="FILE"/>
</root>

服务器配置

环境变量:

  • BURP_MCP_LOG_LEVEL:设置日志记录级别(调试、信息、警告、错误)
  • JAVA_HOME:Java安装目录

发展

项目结构

burp-mcp-server/
├── src/main/java/com/burp/mcp/
│   ├── McpServer.java              # Main server class
│   ├── model/
│   │   └── McpMessage.java         # MCP message models
│   └── protocol/
│       ├── McpProtocolHandler.java # Protocol implementation
│       └── BurpIntegration.java    # BurpSuite integration
├── src/main/resources/
│   └── logback.xml                 # Logging configuration
├── build.gradle                    # Gradle build configuration
├── start-server.sh                 # Server startup script
└── setup-claude-desktop.sh        # Claude Desktop setup script

从源头构建

# Clean build
./gradlew clean

# Compile only
./gradlew compileJava

# Run tests
./gradlew test

# Build shadow JAR
./gradlew shadowJar

# Build and run
./gradlew run

Java 17最佳实践

本项目遵循Java 17最佳实践:

  • 使用现代开关表达式
  • 在适当的情况下利用var进行类型推断
  • 通过资源试用实现适当的资源管理
  • 使用Jackson的最新特性进行JSON处理

故障排除

常见问题

Java版本问题

# Check Java version
java -version

# Set JAVA_HOME if needed
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

Claude桌面连接问题

  1. 检查克劳德桌面日志
  2. 验证配置文件路径
  3. 手动测试服务器: ./start-server.sh http
  4. 检查服务器日志: tail -f burp-mcp-server.log

构建问题

# Clean and rebuild
./gradlew clean shadowJar

# Check Gradle version
./gradlew --version

调试模式

运行调试日志:

BURP_MCP_LOG_LEVEL=DEBUG ./start-server.sh stdio

测试MCP协议

您可以使用curl手动测试MCP协议:

# Start HTTP server
./start-server.sh http

# Test initialize
curl -X POST http://localhost:5001/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'

# Test tools list
curl -X POST http://localhost:5001/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

安全考虑

  • 默认情况下,服务器仅在本地主机上运行
  • 所有通信均使用JSON-RPC 2.0协议
  • BurpSuite集成遵循安全最佳实践
  • 日志可能包含敏感信息-查看日志保留策略

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 按照Java 17最佳实践进行更改
  4. 添加新功能的测试
  5. 提交拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

支持

对于问题和疑问:

  1. 检查故障排除部分
  2. 查看服务器日志
  3. 使用HTTP模式进行调试测试
  4. 打开一个包含详细信息的问题

版本历史记录

  • 1.0.0:支持MCP协议和BurpSuite集成的初始版本
    • stdio和HTTP传输模式
    • 基本扫描工具
    • Claude桌面集成
    • Ubuntu Linux支持