使用说明

项目简介

ROADrecon MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 AI 助手(如 Claude)提供访问 ROADRecon 收集的 Azure AD 数据的能力。它允许 LLM 通过标准化的 MCP 协议,安全地查询 Azure AD 信息并执行安全分析任务。

主要功能点

  • 资源访问: 提供对 ROADRecon 收集的 Azure AD 数据的访问,包括用户、组、应用、服务主体等信息,例如获取用户列表、应用详情等。
  • 安全分析工具: 内置多种安全分析工具,例如查找特权用户、分析 MFA 状态、检测应用密钥泄露、分析条件访问策略等,帮助 LLM 进行深入的安全评估。
  • 预置 Prompt 模板: 提供用于常见安全分析任务的 Prompt 模板,例如分析整体安全态势、特权访问、应用风险等,简化 LLM 的交互和分析流程。

安装步骤

  1. 克隆仓库到本地:
    git clone https://github.com/atomicchonk/roadrecon_mcp_server
  2. 进入仓库目录并安装依赖:
    cd roadrecon_mcp_server
    pip install -r requirements.txt

服务器配置

MCP 服务器是为 MCP 客户端(例如 Claude Desktop)提供服务的后端应用。您需要在 MCP 客户端中配置服务器连接信息。以下是 Claude Desktop 等 MCP 客户端所需的服务器配置示例 (JSON 格式):

{
  "server name": "ROADrecon MCP Server",
  "command": "python",
  "args": ["roadrecon_mcp_server.py"]
}

配置参数说明:

  • 'server name': 服务器名称,您可以自定义设置,用于在 MCP 客户端中标识该服务器。例如: '"ROADrecon MCP Server"'。
  • 'command': 启动 MCP 服务器的命令。由于该服务器是 Python 应用,此处应设置为 '"python"'。
  • 'args': 启动命令的参数,以列表形式提供。这里指定运行 'roadrecon_mcp_server.py' 脚本。如果您的 Python 环境路径配置不同,可能需要使用 Python 解释器的完整路径。

环境变量配置: 如果您的 ROADRecon Web GUI 不是运行在默认地址 'http://localhost:5000',您需要在启动 MCP 服务器前设置 'ROADRECON_URL' 环境变量,指定 ROADRecon GUI 的访问地址。例如,在 Linux/macOS 系统中可以这样设置:

export ROADRECON_URL=http://your_roadrecon_gui_address:port

在 Windows 系统中可以使用 'set' 命令:

set ROADRECON_URL=http://your_roadrecon_gui_address:port

基本使用方法

  1. 启动 ROADRecon Web GUI: 确保您的 ROADRecon Web GUI 实例已经启动并可访问。默认情况下,ROADRecon GUI 运行在 'http://localhost:5000'。
  2. 启动 MCP 服务器: 在仓库目录下,打开终端并运行以下命令启动 MCP 服务器:
    python roadrecon_mcp_server.py
    如果配置了 'ROADRECON_URL' 环境变量,服务器将连接到指定的 ROADRecon GUI 地址。
  3. 在 MCP 客户端中添加服务器: 打开您的 MCP 客户端(例如 Claude Desktop),进入服务器设置或添加服务器的页面。选择 "Add from running server" 或类似选项,MCP 客户端会自动扫描并列出正在运行的 MCP 服务器。
  4. 安装并连接服务器: 在 MCP 客户端的服务器列表中,您应该能看到名为 "ROADrecon MCP Server" 的服务器。点击 "Install" 或类似按钮进行安装和连接。
  5. 使用 LLM 进行安全分析: 连接成功后,您可以在 LLM 的对话中使用预定义的资源 URI (例如 'roadrecon://users', 'roadrecon://applications') 和工具 (例如 'find_privileged_users()', 'analyze_mfa_status()'),或者调用预置的 Prompt 模板 (例如 'analyze_security_posture', 'analyze_privileged_access'),让 LLM 基于 ROADRecon 数据进行 Azure AD 安全分析。

示例查询:

  • "使用工具 'find_privileged_users()' 分析特权用户"
  • "读取资源 'roadrecon://mfa' 获取 MFA 状态"
  • "使用 Prompt 'analyze_security_posture' 进行全面的安全态势分析"

请参考仓库的 'README.md' 文件和代码注释,了解更多资源、工具和 Prompt 的详细信息。

信息

分类

商业系统