solomonneas/thehive-mcp

GitHub: solomonneas/thehive-mcp

为 TheHive 安全事件响应平台提供 MCP 服务器,让 AI 智能体能够通过自然语言管理案件、警报、任务和可观测对象,实现 AI 辅助的安全运营自动化。

Stars: 0 | Forks: 0

# thehive-mcp 用于 [TheHive](https://thehive-project.org/) 安全事件响应平台的 MCP (Model Context Protocol) 服务器。允许 AI 智能体创建案件、管理警报、追踪可观测对象、运行 Cortex 分析器以及编排事件响应工作流。 已在 **TheHive 5.4.11** 上进行测试,包含完整的端到端验证(36 个实时集成测试)。 ## 功能 - 覆盖 TheHive 5 API 全部功能的 **35 个工具** - **案件管理 (Case management)** - 创建、列出、获取、更新、关闭、删除、搜索、合并案件 - **警报管理 (Alert management)** - 创建、列出、获取、更新、提升为案件、删除警报 - **任务管理 (Task management)** - 在案件中创建、列出、获取、更新任务 - **可观测对象管理 (Observable management)** - 添加(单个 + 批量)、列出、获取、搜索可观测对象 - **任务日志** - 添加和列出任务的日志条目 - **评论** - 在案件中添加和列出评论 - **用户管理** - 列出用户、获取当前用户信息 - **Cortex 集成** - 列出分析器、运行分析器任务、获取任务结果 - **原始查询 API** - 执行任意 TheHive Query DSL 以进行复杂搜索 - **案件模板** - 列出可用于创建案件的模板 - **状态** - 健康检查、版本信息、功能特性 - **3 个提示词模板** - 案件摘要、警报分流、事件响应工作流 - **3 个资源** - 打开的案件、新警报、当前用户 ## 安装 ``` npm install -g thehive-mcp ``` 或直接运行: ``` npx thehive-mcp ``` ## 配置 设置环境变量: | 变量 | 必填 | 默认值 | 描述 | |----------|----------|---------|-------------| | `THEHIVE_URL` | 是 | - | TheHive 实例 URL (例如 `http://thehive:9000`) | | `THEHIVE_API_KEY` | 是 | - | 用于身份验证的 API key | | `THEHIVE_VERIFY_SSL` | 否 | `true` | 设置为 `false` 以禁用 SSL 验证 | | `THEHIVE_TIMEOUT` | 否 | `30` | 请求超时时间(秒) | ### Claude Desktop 添加到 `claude_desktop_config.json`: ``` { "mcpServers": { "thehive": { "command": "npx", "args": ["-y", "thehive-mcp"], "env": { "THEHIVE_URL": "http://your-thehive:9000", "THEHIVE_API_KEY": "your-api-key" } } } } ``` ### OpenClaw 添加到 `openclaw.json`: ``` { "mcp": { "servers": { "thehive": { "type": "stdio", "command": "npx", "args": ["-y", "thehive-mcp"], "env": { "THEHIVE_URL": "http://your-thehive:9000", "THEHIVE_API_KEY": "your-api-key" } } } } } ``` ## 工具 ### 案件 (8 个工具) | 工具 | 描述 | |------|-------------| | `thehive_list_cases` | 使用过滤器(状态、严重程度、标签、负责人)列出案件 | | `thehive_get_case` | 通过 ID 获取特定案件 | | `thehive_create_case` | 创建新案件 | | `thehive_update_case` | 更新案件字段(严重程度、状态、标签等) | | `thehive_search_cases` | 按标题关键字搜索案件 | | `thehive_close_case` | 关闭案件并设置解决状态和摘要 | | `thehive_delete_case` | 永久删除案件(可选强制) | | `thehive_merge_cases` | 将多个案件合并为一个 | ### 警报 (6 个工具) | 工具 | 描述 | |------|-------------| | `thehive_list_alerts` | 使用过滤器(状态、严重程度、来源、类型)列出警报 | | `thehive_get_alert` | 通过 ID 获取特定警报 | | `thehive_create_alert` | 创建新警报 | | `thehive_update_alert` | 更新警报字段 | | `thehive_promote_alert` | 将警报提升为案件 | | `thehive_delete_alert` | 永久删除警报 | ### 任务 (4 个工具) | 工具 | 描述 | |------|-------------| | `thehive_list_tasks` | 列出案件的任务 | | `thehive_get_task` | 通过 ID 获取特定任务 | | `thehive_create_task` | 在案件中创建任务 | | `thehive_update_task` | 更新任务字段(状态、负责人等) | ### 可观测对象 (5 个工具) | 工具 | 描述 | |------|-------------| | `thehive_list_observables` | 列出案件的可观测对象 | | `thehive_get_observable` | 通过 ID 获取特定可观测对象 | | `thehive_create_observable` | 向案件添加单个可观测对象 | | `thehive_create_observable_bulk` | 在一次请求中添加多个相同类型的可观测对象 | | `thehive_search_observables` | 跨所有案件搜索可观测对象 | ### 任务日志 (2 个工具) | 工具 | 描述 | |------|-------------| | `thehive_list_task_logs` | 列出任务的日志条目 | | `thehive_create_task_log` | 向任务添加日志条目 | ### 评论 (2 个工具) | 工具 | 描述 | |------|-------------| | `thehive_list_comments` | 列出案件上的评论 | | `thehive_create_comment` | 向案件添加评论 | ### 用户 (2 个工具) | 工具 | 描述 | |------|-------------| | `thehive_list_users` | 列出组织中的用户 | | `thehive_get_current_user` | 获取已认证用户的资料 | ### Cortex (3 个工具) | 工具 | 描述 | |------|-------------| | `thehive_list_analyzers` | 列出可用的 Cortex 分析器 | | `thehive_run_analyzer` | 在可观测对象上运行 Cortex 分析器 | | `thehive_get_job` | 获取分析器任务状态和结果 | ### 查询 (1 个工具) | 工具 | 描述 | |------|-------------| | `thehive_query` | 执行原始 TheHive Query DSL 用于复杂搜索、日期范围、计数等 | ### 模板 (1 个工具) | 工具 | 描述 | |------|-------------| | `thehive_list_case_templates` | 列出可用的案件模板 | ### 状态 (1 个工具) | 工具 | 描述 | |------|-------------| | `thehive_status` | 获取服务器健康状况、版本和功能特性 | ## 提示词模板 | 提示词 | 描述 | |--------|-------------| | `case-summary` | 生成全面的事件案件报告 | | `alert-triage` | 对警报进行分流和分析以决定是否升级 | | `incident-response` | 引导式事件响应工作流 | ## 资源 | 资源 | URI | 描述 | |----------|-----|-------------| | Open Cases | `thehive://cases/open` | 当前打开的案件 | | New Alerts | `thehive://alerts/new` | 未处理的警报 | | Current User | `thehive://user/current` | 已认证用户信息 | ## 开发 ``` # 安装依赖 npm install # 构建 npm run build # 运行测试(单元测试,68 个测试) npm test # 运行实时集成测试(36 个测试,需要 TheHive 实例) THEHIVE_URL=http://your-thehive:9000 THEHIVE_API_KEY=your-key npx tsx scripts/live-test.ts # 类型检查 npm run typecheck # 开发模式 THEHIVE_URL=http://your-thehive:9000 THEHIVE_API_KEY=your-key npm run dev ``` ## TheHive 5 注意事项 - **组织很重要。** `admin` 组织仅拥有平台权限。请创建一个单独的组织(例如 "SOC"),并使用 `org-admin` 用户来获得完整的案件/警报/任务/可观测对象访问权限。 - **案件状态在 v5 中已更改。** 关闭状态包括:TruePositive、FalsePositive、Indeterminate、Duplicated、Other。没有 "Resolved" 状态。 - **PATCH 返回 204。** 更新操作不返回主体;客户端会自动重新获取实体。 - **可观测对象创建返回数组。** 客户端透明地处理此问题。批量创建使用 `data` 作为数组。 - **Cortex 连接器端点** 位于 `/api/connector/` 而非 `/api/v1/`。 - **创建案件和警报时** `description` 是必填的。 ## 许可证 MIT
标签:API集成, CIDR查询, Claude Desktop, Cortex, HTTP/HTTPS抓包, LLM集成, MCP, MITM代理, Model Context Protocol, SIRP, SOAR, TheHive, TypeScript, 参数枚举, 可观测性, 威胁情报, 安全事件响应, 安全插件, 库, 应急响应, 开发者工具, 态势感知, 标准输入输出, 网络安全, 网络调试, 自动化, 自动化攻击, 警报分类, 隐私保护