项目简介

MISP-MCP服务器是一个桥梁,它连接了威胁情报平台 MISP (Malware Information Sharing Platform) 和大型语言模型 (LLM) 客户端,使得用户可以通过自然语言与MISP系统进行交互。该项目基于 Model Context Protocol (MCP) 构建,旨在简化 LLM 应用与 MISP 的集成,提升威胁情报的利用效率和智能化水平。

主要功能点

  • 威胁情报检索: 通过自然语言指令,LLM 客户端可以调用服务器提供的工具,检索 MISP 平台中的事件、属性、对象、日志等信息,支持多种检索条件,如日期、标签、创建者、ID、UUID、Galaxy、Taxonomy、属性类型/值、对象名称等。
  • 事件管理: 支持创建新的 MISP 事件,以及对现有事件进行发布、删除等操作。
  • 属性与对象管理: 允许 LLM 客户端向 MISP 事件添加或删除属性和对象,扩展事件信息。
  • 用户管理 (管理任务): 提供用户管理功能,允许 LLM 客户端通过工具添加、列出、删除和编辑 MISP 用户。
  • 灵活查询: 支持复杂的 OR 查询,以及基于更新时间的事件检索。
  • 数据格式化输出: 服务器以文本形式返回 MISP 数据,LLM 客户端可以进一步处理和展示这些信息。

安装步骤

  1. 克隆仓库

    git clone https://github.com/Eacus/misp-mcp.git
    cd misp-mcp
  2. 安装 Claude Desktop (或其他 MCP 客户端)

    请根据您的操作系统,从 Claude Desktop 官网 下载并安装 Claude Desktop 客户端。

  3. 配置 MCP 服务器

    打开 Claude Desktop 客户端的设置,找到 MCP 服务器配置部分,添加一个新的服务器配置。配置信息如下:

    {
        "mcpServers": {
            "MISP-mcp":{  // 服务器名称,可以自定义
                "command": "uv",  // 启动命令,uv 是一个快速的 Python 包安装和运行器,确保已安装 uv
                "args": [
                    "--directory",  // 指定工作目录
                    "<path_to_repo>/server/", // 将 <path_to_repo> 替换为您克隆的 misp-mcp 仓库的本地路径,指向 server 目录
                    "run",        // uv 的运行参数,表示运行 Python 脚本
                    "server.py"   // 要运行的 Python 脚本,即 MCP 服务器程序
                ]
            }
        }
    }

    注意: '<path_to_repo>' 需要替换为 'misp-mcp' 仓库在您本地文件系统中的绝对路径。

  4. 配置 MISP 访问

    在 'misp-mcp' 仓库的根目录下,创建 '.env' 文件,并根据您的 MISP 实例配置以下环境变量:

    MISP_URL="您的MISP实例URL"  # 例如:https://your-misp-instance
    MISP_KEY="您的MISP API密钥"   # 您的 MISP API 密钥
    MISP_VERIFYCERT=false      # 是否验证 MISP 服务器证书,根据您的 MISP 配置设置 true 或 false

    请务必替换 'MISP_URL' 和 'MISP_KEY' 为您实际的 MISP 实例信息。

  5. 重启 Claude Desktop

    重启 Claude Desktop 客户端,使新的 MCP 服务器配置生效。

基本使用方法

配置完成后,您可以在 Claude Desktop 客户端中通过自然语言指令与 MISP-MCP 服务器交互。以下是一些基本的使用示例:

  • 检索特定 ID 的 MISP 事件: 在 Claude Desktop 的聊天框中输入类似 “Can you give to me the MISP event with id 119?” 的指令。
  • 创建新的 MISP 事件: 使用指令如 “Create a new MISP event with the following parameters: Info: This is my new MISP event, Distribution: 0, Threat Level ID: 2, Analysis Level: 1”。
  • 总结昨日的 MISP 事件: 使用指令如 “Summarise all information about the MISP events that happened yesterday?”
  • 生成 MISP 事件报告: 使用指令如 “Generate a report written in Markdown based on the MISP event with id 114”。
  • 添加用户: 使用指令如 “Add a new user to the MISP instance using the following required fields: [email protected]: the email address associated with the account, test_id: the ID of the organization the user belongs to, role_id: the ID of the role assigned to the user”。

更多详细的使用方法和支持的工具,请参考仓库的 'README.md' 文件和 'server/server.py' 中的工具列表。

信息

分类

商业系统