HaE MCP集成是基于 HaE 扩展开发的智能安全分析工具。该工具通过 MCP 协议为 AI 助手提供结构化的敏感信息访问接口,实现自动化的安全数据分析和验证功能。
HaE MCP 工具介绍
概述
HaE MCP(Model Context Protocol)集成是基于 Burp Suite HaE 扩展开发的智能安全分析工具。该工具通过 MCP 协议为 AI 助手提供结构化的敏感信息访问接口,实现自动化的安全数据分析和验证功能。
核心功能
敏感信息提取与分析
HaE MCP 工具能够从 HTTP 流量中提取各类敏感信息,包括但不限于 API 密钥、访问令牌、数据库连接字符串、邮箱地址、电话号码等。通过与 AI 助手的集成,可以实现对这些敏感信息的智能化分析和真实性验证。
增量分析机制
工具实现了基于时间戳的增量分析机制,能够跟踪和识别新发现的敏感信息,避免对已分析数据的重复处理。该机制通过持久化状态管理,确保分析工作的连续性和效率。
上下文关联分析
提供完整的 HTTP 请求和响应上下文信息,支持 AI 助手进行深度的关联分析,判断敏感信息的使用场景和潜在风险等级。
工具列表
基础查询工具
list_domains
功能:列出所有包含敏感信息的域名 输出:域名列表及对应的敏感信息数量统计 用途:提供全局视图,帮助确定分析优先级
get_sensitive_data
功能:获取指定域名的详细敏感信息 参数:
- domain(必需):目标域名
- limit(可选):返回结果数量限制,默认值为 50 输出:规则名称、匹配值、域名信息及基础上下文 用途:深入分析特定域名的安全风险
get_request_response
功能:获取完整的 HTTP 请求和响应消息 参数:
- domain(必需):目标域名
- path(可选):URL 路径过滤条件
- limit(可选):返回结果数量限制,默认值为 10 输出:完整的 HTTP 通信内容,包括请求头、响应头、消息体等 用途:提供详细上下文信息,支持深度安全分析
增量分析工具
get_new_sensitive_data
功能:获取自上次分析以来新发现的敏感信息 参数:
- domain(可选):域名过滤条件
- limit(可选):返回结果数量限制,默认值为 50
- include_all(可选):是否包含所有历史数据,默认值为 false 输出:带时间戳的新发现敏感信息及分析统计数据 用途:实现增量分析,提高分析效率
mark_analysis_complete
功能:标记当前分析会话完成 参数:
- notes(可选):分析备注信息 功能:更新分析时间戳,为后续增量分析建立基准点 用途:维护分析状态,支持工作流程管理
get_analysis_stats
功能:获取分析系统的统计信息 输出:会话标识、分析时间戳、处理项目数量、域名统计、覆盖率分析等 用途:监控分析进度,提供决策支持信息
reset_analysis_state
功能:重置分析状态至初始状态 参数:
- confirm(必需):确认重置操作,必须设置为 true 功能:清除所有分析历史记录和时间戳 用途:重新开始完整分析流程
技术架构
协议支持
工具基于 Model Context Protocol 2024-11-05 版本实现,确保与主流 AI 助手的兼容性。
数据持久化
分析状态通过 JSON 格式存储在用户主目录下的 .hae-mcp-state.json 文件中,确保分析工作的连续性。
并发安全
实现了线程安全的数据访问机制,支持多并发请求处理。
代理架构
采用轻量级 stdio 代理设计,通过 HTTP 接口与 Burp Suite 扩展通信,降低系统耦合度。
应用场景
渗透测试
在渗透测试过程中,自动识别和分析目标系统中的敏感信息泄露,提高测试效率和覆盖率。
安全审计
对 Web 应用程序进行安全审计时,系统化地检查和验证敏感信息的处理方式。
持续监控
在持续安全监控场景中,实时分析新发现的敏感信息,及时识别潜在安全风险。
合规检查
协助进行数据保护合规性检查,识别可能违反隐私保护法规的敏感信息处理行为。
系统要求
软件依赖
- Burp Suite Professional 或 Community Edition
- Java Runtime Environment 17 或更高版本
- 支持 MCP 协议的 AI 助手(如 Claude Code)
硬件要求
- 最小内存:512MB 可用内存
- 存储空间:50MB 可用磁盘空间
- 网络:HTTP/HTTPS 通信能力
使用方法
环境准备
构建工具
在项目根目录执行以下命令构建必要的组件:
cd src/HaENet
export JAVA_HOME=/path/to/java17
./gradlew buildAll
构建完成后将生成两个关键文件:
- build/libs/HaE.jar:Burp Suite 扩展文件
- build/libs/hae-mcp-proxy.jar:MCP 协议代理程序
Burp Suite 配置
- 启动 Burp Suite Professional 或 Community Edition
- 导航至 Extensions 标签页
- 点击 Add 按钮,选择 build/libs/HaE.jar 文件
- 确认扩展加载成功,界面中将出现 HaE 标签页
- 切换至 HaE 标签页下的 MCP 子标签
- 设置监听端口(建议使用 9891)
- 点击 Start 按钮启动 MCP 服务器
AI 助手配置
直接输入命令(注意格式)
claude mcp add burpsuite /path/to/java17/bin/java -jar /absolute/path/mcp-proxy.jar --sse-url http://localhost:9876/sse
或
在项目根目录创建 .claude/settings/mcp.json 配置文件:
{
"mcpServers": {
"hae": {
"command": "/path/to/java17/bin/java",
"args": [
"-jar",
"/absolute/path/to/hae-mcp-proxy.jar",
"--url",
"http://127.0.0.1:9891/message"
]
}
}
}
注意事项:
- 使用绝对路径指定 Java 可执行文件和 JAR 文件位置
- 确保端口号与 Burp Suite 中的 MCP 服务器端口一致
- 配置完成后需要重启 AI 助手应用
基础操作流程
数据收集阶段
- 在 Burp Suite 中配置代理设置
- 通过浏览器或其他 HTTP 客户端访问目标应用
- 确保 HTTP 流量被 Burp Suite 正确捕获
- 在 HaE 标签页的 Databoard 子标签中验证敏感信息提取结果
初始分析
使用 AI 助手执行以下命令序列:
- 查看系统状态:
查看分析统计信息
- 获取域名概览:
列出所有有敏感信息的域名
- 执行初始分析:
获取新发现的敏感信息,包含所有历史数据
- 建立分析基线:
标记分析完成,备注:建立初始分析基线
增量分析工作流
在后续的分析工作中,采用以下标准流程:
- 检查新数据可用性:
查看分析统计信息
- 分析新发现的敏感信息:
只分析新增的敏感信息
- 针对特定域名进行深度分析:
查看 example.com 域名的敏感信息详情
- 获取上下文信息进行验证:
获取 example.com 域名的完整请求响应信息
- 完成分析后更新状态:
标记分析完成,备注:完成第X轮增量分析
高级使用场景
批量域名分析
对多个域名进行系统性分析:
分析所有域名的敏感信息,按风险等级分类整理
敏感信息验证
对发现的敏感信息进行真实性验证:
验证在 api.example.com 中发现的 API 密钥是否为真实凭据
关联性分析
分析不同敏感信息之间的关联关系:
检查 user.example.com 域名中的用户名和密码是否在同一响应中出现
合规性检查
进行数据保护合规性评估:
检查所有域名中的个人身份信息,评估是否符合 GDPR 要求
状态管理操作
重置分析状态
当需要重新开始完整分析时:
重置分析状态,确认重新开始分析
状态文件管理
分析状态保存在用户主目录的 .hae-mcp-state.json 文件中。如需手动管理:
- 备份状态文件:复制该文件至安全位置
- 恢复状态文件:将备份文件覆盖当前状态文件
- 清除状态:删除该文件将重置所有分析历史
故障排除
连接问题诊断
- 验证 MCP 服务器状态:
curl http://127.0.0.1:9891/health
预期响应应包含 "status":"ok" 和正确的工具数量。
- 测试代理功能:
cd src/HaENet
./test_proxy.sh
- 检查 AI 助手日志:
tail -f ~/.claude/debug/*.txt | grep hae
数据同步问题
如果发现数据不一致,可以通过以下步骤解决:
- 重启 Burp Suite 中的 MCP 服务器
- 重新加载 HaE 扩展
- 重启 AI 助手应用
- 必要时重置分析状态