BloodHound MCP

BloodHound MCP

site icon
2025.04.04 150
PythonActive Directory 分析Azure Active Directory 分析自然语言查询开发效率数据库
BloodHound MCP (Model Context Protocol) 是 BloodHound 工具的创新扩展,旨在通过自然语言查询使大型语言模型(LLMs)能够与 Active Directory (AD) 和 Azure Active Directory (AAD) 环境交互并进行分析。通过利用 LLMs 的强大功能,BloodHound MCP 允许用户使用简单的对话命令执行复杂查询并从其 AD/AAD 环境中检索见解。
View on GitHub

Overview

基本能力

产品定位

BloodHound MCP 是一个用于 Active Directory 和 Azure Active Directory 环境分析的工具扩展,通过自然语言查询简化复杂的数据分析过程。

核心功能

  • 自然语言查询:使用对话语言查询 AD/AAD 环境,无需手动编写 Cypher 查询。
  • LLM 驱动的分析:利用大型语言模型的能力解释和执行查询。
  • 无缝集成:与存储在 Neo4j 中的现有 BloodHound 数据配合使用,为复杂分析提供用户友好的界面。
  • 可定制性:轻松配置系统以适应特定的环境和工具需求。

适用场景

  • 安全分析:快速识别 AD/AAD 环境中的潜在安全风险。
  • IT 管理:简化复杂目录查询,提高管理效率。
  • 开发与测试:在开发和测试环境中快速验证目录配置。

使用教程

使用依赖

  1. 确保已安装 Neo4j 数据库并运行。
  2. 安装 Python 3.7 或更高版本。
  3. 安装必要的 Python 依赖: bash pip install neo4j uvicorn

安装教程

  1. 克隆或下载 BloodHound MCP 项目。
  2. 配置 mcpServers 文件,如下所示: json { "mcpServers": { "BloodHound": { "name": "BloodHound", "isActive": true, "command": "uv", "args": [ "run", "--with", "mcp[cli],neo4j", "mcp", "run", "<PATH_TO_THE_PROJECT>server.py" ], "env": { "BLOODHOUND_URI": "bolt://localhost:7687", "BLOODHOUND_USERNAME": "neo4j", "BLOODHOUND_PASSWORD": "bloodhound" } } } }
  3. 运行服务器: bash uvicorn server:app --reload

调试方式

  1. 检查 Neo4j 数据库连接是否正常: bash neo4j status
  2. 验证服务器是否运行: bash curl http://localhost:8000
  3. 查看日志以排查问题: bash tail -f server.log

常见问题解答

  • 如何配置 Neo4j 连接?mcpServers 配置文件中设置 BLOODHOUND_URIBLOODHOUND_USERNAMEBLOODHOUND_PASSWORD
  • 如何扩展查询功能? 可以通过自定义 Cypher 查询或贡献到项目仓库来扩展功能。
  • 服务器无法启动怎么办? 检查依赖是否安装正确,并确保 Neo4j 服务正在运行。

许可证

None