ppcvote/misp-mcp-server

GitHub: ppcvote/misp-mcp-server

为 MISP 威胁情报平台提供只读查询的 MCP 服务器,并内置提示注入防御机制以保障 LLM 交互安全。

Stars: 0 | Forks: 0

# MCP Server [![npm version](https://img.shields.io/npm/v/@ultralab/misp-mcp-server.svg)](https://www.npmjs.com/package/@ultralab/misp-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![MCP](https://img.shields.io/badge/Model%20Context%20Protocol-1.0-blue)](https://modelcontextprotocol.io) 一个用于 [MISP](https://www.misp-project.org/) (Malware Information Sharing Platform) 的 **Model Context Protocol** 服务器,通过 [`prompt-defense-audit`](https://www.npmjs.com/package/prompt-defense-audit) 提供内置的 **提示注入防御**。 相关议题:[MISP/MISP#10745 — MCP server for MISP](https://github.com/MISP/MISP/issues/10745) ## 功能特性 - 🛡️ **内置防御** — 每一个 MISP 响应在返回前都会进行提示注入 / XSS / Shell 注入模式扫描 - 🔒 **只读设计** — 没有事件/属性修改工具;LLM 无法修改您的威胁情报平台 - 🧰 **8 个高实用性工具**,涵盖事件、属性、搜索、标签、订阅源和星系 - ⚡ **零配置**,只需设置 `MISP_URL` 和 `MISP_API_KEY` - 🪶 **Stdio 传输** — 适用于 Claude Desktop、Cursor、Continue、Cline 及任何 MCP 客户端 - 📋 **MIT 许可证** — 可自由分支并商用 ## 快速开始 ### 1. 安装 ``` npm install -g @ultralab/misp-mcp-server ``` 或者直接在您的 MCP 客户端配置中使用 `npx`(无需安装)。 ### 2. 配置您的 MCP 客户端 **Claude Desktop** (macOS 下为 `~/Library/Application Support/Claude/claude_desktop_config.json`,Windows 下为 `%APPDATA%/Claude/claude_desktop_config.json`): ``` { "mcpServers": { "misp": { "command": "npx", "args": ["-y", "@ultralab/misp-mcp-server"], "env": { "MISP_URL": "https://misp.your-org.example", "MISP_API_KEY": "your_misp_api_key_here" } } } } ``` **Cursor / Continue / Cline** — 模式类似,请参阅您客户端的 MCP 配置文档。 ### 3. 重启您的 MCP 客户端并开始提问 ``` "What MISP events are tagged tlp:white from the last 7 days?" "Show me event 12345 — I'm investigating a phishing report." "What threat actor galaxies do we have configured?" "Find all attributes matching the IP 198.51.100.42." ``` ## 提供的工具 | Tool | 用途 | |------|---------| | `misp_version` | 健康检查 + 服务器版本 | | `misp_list_events` | 分页列出事件头 | | `misp_get_event` | 包含属性的完整事件(已进行注入扫描) | | `misp_search_events` | 按标签 / 类型 / 值 / 日期范围搜索 | | `misp_search_attributes` | 直接 IOC 查询 | | `misp_list_tags` | 所有已配置的标签(TLP、分类法等) | | `misp_list_feeds` | 已配置的威胁情报源 | | `misp_list_galaxies` | 威胁行为者 / 攻击活动集群 | ## 防御层 每一个工具响应在返回给 LLM 客户端之前,都会经过 [`prompt-defense-audit` 的 `scanOutput`](https://github.com/ppcvote/prompt-defense-audit) 处理。 **高风险模式** (`critical` / `high` 严重性) — 响应将被**拦截**,并替换为安全的摘要信息。触发示例模式: - Script 标签注入 (``) - Iframe / object 注入 - JavaScript URL (`javascript:`) - 非预期上下文中的 Shell 命令模式 - 来自 `prompt-defense-audit` 17 种以上向量库的已知提示注入向量特征 **低/中等风险模式** — 响应会加上 `[defense]` 前缀,列出匹配到的模式,但仍会正常返回。 ### 退出防御(不推荐) ``` PROMPT_DEFENSE_DISABLED=true ``` 仅当您完全信任您的 MISP 实例及所有联合订阅源,并且为了特定的调试场景需要原始响应保真度时才可使用。 ## 环境变量 | 变量 | 必填 | 默认值 | 说明 | |----------|----------|---------|-------| | `MISP_URL` | ✅ | — | 您的 MISP 实例基础 URL(例如 `https://misp.example.com`) | | `MISP_API_KEY` | ✅ | — | MISP 自动化 API 密钥 (Profile → Auth Keys) | | `MISP_INSECURE_TLS` | ❌ | `false` | 仅在自签名的开发实例中设置为 `true` | | `PROMPT_DEFENSE_DISABLED` | ❌ | `false` | 设置为 `true` 以跳过输出扫描(不推荐) | ## 面向企业用户 免费的开源防御层附带 `prompt-defense-audit`(17 种以上基于正则表达式的向量,约 3ms 延迟,确定性处理)。 对于需要以下功能的部署环境: - 🔍 **持久化审计日志**,记录 LLM 发起的每一次 MISP 查询 - 👥 **团队策略**(按角色设置白名单、按 TLP 级别限制访问、升级流程) - 🌏 **司法管辖区合规**(欧盟 GDPR / 台湾個資法 / 中国 PIPL 数据驻留) - 🚨 **实时威胁情报** 更新防御规则集(每日推送新的注入向量) - 📊 **SLA 支持** 的正常运行时间和响应保障 → 升级路径:通过 [**Quartz Cloud**](https://quartz.tw) 路由 MCP 服务器 — 位于台湾的托管式运行时 AI 防火墙,即插即用。 ## 开发 ``` git clone https://github.com/ppcvote/misp-mcp-server.git cd misp-mcp-server npm install npm test # smoke tests, no live MISP npm run dev # tsx watch mode npm run build # produce dist/ ``` ### 架构 ``` LLM client (Claude Desktop, Cursor, etc.) │ stdio ▼ @ultralab/misp-mcp-server │ ├─ src/tools.ts — 8 read-only tool definitions + dispatch ├─ src/misp-client.ts — minimal MISP REST API wrapper └─ src/index.ts — MCP Server + scanOutput() defense layer │ ▼ MISP REST API (/events, /attributes, /tags, /feeds, /galaxies) ``` ## 项目背景 由 [Ultra Lab](https://ultralab.tw) 构建 — 这是一家位于台湾的个人 AI 产品公司,专注于 AI 安全、威胁情报以及 LLM 代理与运营安全工具之间的供应链。 此服务器是更广泛论点的一部分:**除非服务器默认采用防御性输出处理,否则 MCP 生态系统将成为主要的提示注入攻击向量。** 我们正在为高价值目标发布参考实现(首先是 MISP,接下来是 OpenCTI / TheHive / Vault),以确立行业标准。 相关项目: - [`prompt-defense-audit`](https://www.npmjs.com/package/prompt-defense-audit) — 底层检测引擎 - [`ultraprobe`](https://www.npmjs.com/package/ultraprobe) — AI 应用系统提示的 CLI 扫描器 - [`quartz.tw`](https://quartz.tw) — 付费的运行时防火墙(审计日志、团队策略、司法管辖区护城河) ## 许可证 MIT © 2026 Ultra Lab — 详见 [LICENSE](LICENSE)。 ## 贡献 欢迎提交 PR。请注意: 1. 保持只读特性不变。若要添加修改工具,必须在提交时明确附带威胁模型分析说明。 2. 为任何新工具添加测试。 3. 如果您增加了新的 MISP API 覆盖范围,请在 PR 中链接到相关的 OpenAPI 规范章节。 如需讨论,请参阅 [MISP/MISP#10745](https://github.com/MISP/MISP/issues/10745)。
标签:AI安全, API集成, Chat Copilot, ChatGPT插件, CISA项目, Claude Desktop, Cline, Cursor, GNU通用公共许可证, IP 地址批量处理, LLM集成, MCP, MITM代理, Node.js, npm, TLS, XSS防御, 企业安全, 只读安全, 可观测性, 命令注入防御, 威胁共享, 威胁情报, 开发者工具, 开源, 恶意软件信息共享平台, 情报分析, 提示注入防御, 模型上下文协议, 源代码安全, 红队与蓝队, 网络安全, 网络诊断, 网络资产管理, 自动化攻击, 防御工具, 隐私保护