使用说明

项目简介

YaraFlux MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为 AI 助手提供 YARA 规则扫描能力。它允许 AI 助手通过标准化的 MCP 接口执行 YARA 扫描,进行威胁分析、文件内容检查和 YARA 规则管理。YaraFlux 服务器可以与任何兼容 MCP 协议的 LLM 客户端集成,例如 Claude Desktop,从而扩展 AI 助手在安全分析和恶意代码检测方面的能力。

主要功能点

  • YARA 规则扫描: 支持使用 YARA 规则扫描 URL 内容和本地文件数据,帮助 AI 助手识别潜在的威胁和恶意模式。
  • 全面的规则管理: 允许用户创建、读取、更新、删除和验证 YARA 规则,并支持从 ThreatFlux 仓库导入规则,方便规则库的维护和更新。
  • 文件分析工具: 提供文件元数据查看、十六进制内容查看和字符串提取等功能,辅助 AI 助手进行深入的文件分析。
  • 灵活的存储后端: 支持本地文件系统和 MinIO/S3 对象存储,用户可以根据需求选择合适的存储方案。
  • 安全特性: 集成了 JWT 认证、非 root 容器运行和存储隔离等安全特性,保障服务器和数据的安全。
  • Claude Desktop 集成: 专为 Claude Desktop 设计,能够通过 MCP 协议无缝集成,扩展 Claude 在安全领域的应用能力。

安装步骤

推荐使用 Docker 方式安装,步骤如下:

  1. 克隆仓库

    git clone https://github.com/ThreatFlux/YaraFlux.git
    cd YaraFlux/
  2. 构建 Docker 镜像

    docker build -t yaraflux-mcp-server:latest .
  3. 运行 Docker 容器

    docker run -p 8000:8000 \
      -e JWT_SECRET_KEY=your-secret-key \
      -e ADMIN_PASSWORD=your-admin-password \
      -e DEBUG=true \
      yaraflux-mcp-server:latest

    请务必将 'your-secret-key' 和 'your-admin-password' 替换为你自己的安全密钥和管理员密码。

服务器配置

以下是一个用于 Claude Desktop 客户端的 MCP 服务器配置示例,你需要将此 JSON 配置添加到 Claude Desktop 的配置文件 'claude_desktop_config.json' 中。

{
  "mcpServers": {
    "yaraflux-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--env",
        "JWT_SECRET_KEY=your-secret-key",
        "--env",
        "ADMIN_PASSWORD=your-admin-password",
        "--env",
        "DEBUG=true",
        "--env",
        "PYTHONUNBUFFERED=1",
        "yaraflux-mcp-server:latest"
      ],
      "disabled": false,
      "autoApprove": [
        "scan_url",
        "scan_data",
        "list_yara_rules",
        "get_yara_rule"
      ]
    }
  }
}

配置参数说明:

  • 'server name': 'yaraflux-mcp-server' (服务器名称,可以自定义)
  • 'command': 'docker' (启动服务器的命令,这里使用 Docker)
  • 'args': 启动命令的参数列表,包括:
    • 'run -i --rm': Docker 运行参数,'-i' 保持 STDIN 打开,'--rm' 容器退出后自动删除
    • '--env JWT_SECRET_KEY=your-secret-key': 设置 JWT 密钥环境变量,请务必替换为你的密钥
    • '--env ADMIN_PASSWORD=your-admin-password': 设置管理员密码环境变量,请务必替换为你的管理员密码
    • '--env DEBUG=true': 启用 Debug 模式 (可选,建议开发时启用)
    • '--env PYTHONUNBUFFERED=1': 确保 Python 输出不缓冲 (可选)
    • 'yaraflux-mcp-server:latest': Docker 镜像名称
  • 'disabled': 'false' (设置为 'true' 可以禁用此服务器配置)
  • 'autoApprove': '["scan_url", "scan_data", "list_yara_rules", "get_yara_rule"]' (自动批准的 MCP 工具列表,Claude Desktop 会自动允许调用这些工具,无需用户手动批准)

基本使用方法

  1. 确保 YaraFlux MCP 服务器已成功启动并运行。
  2. 配置 Claude Desktop 客户端,添加上述 JSON 配置信息以连接到 YaraFlux 服务器。
  3. 在 Claude Desktop 中,即可使用自然语言指令指示 AI 助手调用 YaraFlux 提供的 YARA 扫描和文件分析工具,例如:
    • 'Scan this URL for threats: https://example.com/malware.exe' (使用 'scan_url' 工具扫描 URL)
    • 'List all available YARA rules' (使用 'list_yara_rules' 工具查看规则列表)
    • 'Get information about file ID abc123' (使用 'get_file_info' 工具获取文件信息)

信息

分类

AI与计算