pete-builds/mcp-threatintel

GitHub: pete-builds/mcp-threatintel

一个为 Claude Code 构建的本地化威胁情报 MCP 服务器,通过离线同步与缓存实现快速 IOC、CVE 与泄露查询,降低对外部 API 的依赖。

Stars: 0 | Forks: 0

# mcp-threatintel 一个用于 [Claude Code](https://claude.com/claude-code) 的威胁情报 MCP 服务器。为 Claude 提供工具,用于查询 IOC、搜索威胁源、检查泄露凭证、查询 CVE 以及搜索暗网。 基于 [FastMCP](https://github.com/jlowin/fastmcp) 和 SQLite 构建。数据源通过后台轮询器本地同步,因此查询速度快且不依赖外部 API 的可用性。 ## 工具 | 工具 | 功能 | |------|------| | `lookup_ioc` | 检查 IP、域名、哈希或 URL 是否在所有威胁源中 | | `search_threats` | 在 IOC、OTX 脉冲和 CVE 中进行全文搜索 | | `get_recent_threats` | 最近 N 小时内新增的内容 | | `lookup_cve` | 检查 CVE 是否在 CISA 已知被利用漏洞目录中 | | `get_feed_status` | 显示所有数据源的同步状态和记录数 | | `search_pulses` | 搜索 AlienVault OTX 社区威胁脉冲 | | `check_breach` | 通过邮箱、域名、用户名或哈希检查 LeakCheck 的泄露凭证 | | `check_domain_breaches` | 检查某个域名的所有已知泄露 | | `search_darkweb` | 搜索 Ahmia.fi 的 Tor 隐藏服务索引 | | `check_password_breach` | 检查密码是否已泄露(使用 HIBP k-匿名性,密码不会离开本机) | | `check_email_breaches` | 通过 HIBP 检查邮箱是否存在于任何已知泄露中 | | `get_latest_breach` | 获取 HIBP 最近新增的泄露记录 | ## 数据源 | 来源 | 提供内容 | 认证 | 成本 | |------|----------|------|------| | [abuse.ch](https://abuse.ch/)(URLhaus、MalwareBazaar、ThreatFox、Feodo) | 恶意 URL、哈希、C2、僵尸网络 IP | `ABUSECH_API_KEY` | 免费 | | [AlienVault OTX](https://otx.alienvault.com/) | 社区威胁脉冲、IOC 增强 | `OTX_API_KEY` | 免费 | | [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) | 已知被利用漏洞目录 | 无 | 免费 | | [Ahmia.fi](https://ahmia.fi/) | 暗网搜索(.onion 索引) | 无 | 免费 | | [HIBP Passwords](https://haveibeenpwned.com/Passwords) | 泄露密码检查(k-匿名性) | 无 | 免费 | | [HIBP Email](https://haveibeenpwned.com/API/Key) | 邮箱泄露查询 | `HIBP_API_KEY` | $4.50/月 | | [LeakCheck](https://leakcheck.io/) | 暗网泄露数据(70 亿+ 记录) | `LEAKCHECK_API_KEY` | $10/月 | 所有可选密钥均可优雅降级。服务器在没有这些密钥的情况下仍可正常运行,并在工具需要未配置的密钥时返回明确的错误信息。 ## 架构 ``` Claude Code | | SSE (port 3707) v mcp-threatintel (server.py) | |-- SQLite cache (threatintel.db) <-- populated by poller |-- Live API calls (LeakCheck, HIBP, Ahmia) v threatintel-poller (poller.py) | |-- abuse.ch feeds (URLhaus, MalwareBazaar, ThreatFox, Feodo) |-- AlienVault OTX pulses |-- CISA KEV catalog (syncs hourly by default) ``` 轮询器作为一个独立容器运行,并将威胁源同步到共享的 SQLite 数据库中。MCP 服务器从缓存读取数据以实现快速查询,仅在需要按需服务时(LeakCheck、HIBP、Ahmia)进行实时 API 调用。 ## 安装 ### 1. 克隆并配置 ``` git clone https://github.com/pete-builds/mcp-threatintel.git cd mcp-threatintel cp .env.example .env ``` 编辑 `.env` 并添加你的 API 密钥。只有 `ABUSECH_API_KEY` 是必需的,其余均为可选。 ### 2. 启动服务栈 ``` docker compose up -d ``` 这将启动两个容器: - `mcp-threatintel`:MCP 服务器,监听 3707 端口 - `threatintel-poller`:后台源同步(每小时运行一次) 首次启动时轮询器会执行一次初始同步。请等待一分钟后,工具才能获取数据。 ### 3. 连接到 Claude Code 在 Claude Code 的 `settings.json` 中添加: ``` { "mcpServers": { "threatintel": { "type": "sse", "url": "http://localhost:3707/sse" } } } ``` 重启 Claude Code。12 个工具将以 `mcp__threatintel__*` 的形式显示。 ## API 密钥 ``` # 必需 ABUSECH_API_KEY # Register free at https://auth.abuse.ch/ # 可选(免费) OTX_API_KEY # Register free at https://otx.alienvault.com/ # 可选(付费) HIBP_API_KEY # $4.50/mo at https://haveibeenpwned.com/API/Key LEAKCHECK_API_KEY # $10/mo at https://leakcheck.io/ ``` ## 说明 - `docker-compose.yml` 使用 `network_mode: host`。MCP 服务器绑定到 `0.0.0.0:3707`。如果你在服务器上(而不仅是本地主机)运行此服务,请添加防火墙规则以限制访问。 - SQLite 数据库存储在命名的 Docker 卷(`threatintel-data`)中,容器重启后数据仍会保留。 - LeakCheck 结果会隐藏大部分暴露的密码值,仅显示首尾两个字符。 - HIBP 密码检查使用 k-匿名性:仅将 SHA-1 哈希的前 5 个字符发送到 API。完整密码不会离开本机。 ## 致谢 由 [Pete Stergion](https://github.com/pete-builds) 构建,用于 [Claude Code](https://claude.com/claude-code) 的安全调查。 相关项目:[claude-research-agent](https://github.com/pete-builds/claude-research-agent) — 使用该服务器进行安全调查的研究技能。
标签:Claude Code, CVE检查, FastMCP, IOC查询, MalwareBazaar, masscan, MCP服务器, OTX, SQLite, URLhaus, XSS, 威胁情报, 威胁情报平台, 威胁监控, 威胁聚合, 开发者工具, 数据同步, 暗网搜索, 泄露凭证检查, 漏洞情报, 网络威胁, 请求拦截, 逆向工具