
BloodHound MCP

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 管理:简化复杂目录查询,提高管理效率。
- 开发与测试:在开发和测试环境中快速验证目录配置。
使用教程
使用依赖
- 确保已安装 Neo4j 数据库并运行。
- 安装 Python 3.7 或更高版本。
- 安装必要的 Python 依赖:
bash pip install neo4j uvicorn
安装教程
- 克隆或下载 BloodHound MCP 项目。
- 配置
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" } } } }
- 运行服务器:
bash uvicorn server:app --reload
调试方式
- 检查 Neo4j 数据库连接是否正常:
bash neo4j status
- 验证服务器是否运行:
bash curl http://localhost:8000
- 查看日志以排查问题:
bash tail -f server.log
常见问题解答
- 如何配置 Neo4j 连接?
在
mcpServers
配置文件中设置BLOODHOUND_URI
、BLOODHOUND_USERNAME
和BLOODHOUND_PASSWORD
。 - 如何扩展查询功能? 可以通过自定义 Cypher 查询或贡献到项目仓库来扩展功能。
- 服务器无法启动怎么办? 检查依赖是否安装正确,并确保 Neo4j 服务正在运行。
许可证
None