harshthakur6293/threat-research-mcp

GitHub: harshthakur6293/threat-research-mcp

一个面向防御性安全的 MCP 服务器,将威胁情报自动转化为 IOC、ATT&CK 映射与可运行检测规则。

Stars: 2 | Forks: 0

# 威胁研究 MCP [![CI](https://github.com/harshdthakur6293/threat-research-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/harshdthakur6293/threat-research-mcp/actions/workflows/ci.yml) [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![MCP Python 3.10+](https://img.shields.io/badge/MCP%20server-Python%203.10+-teal.svg)](https://github.com/modelcontextprotocol/python-sdk) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Tests](https://img.shields.io/badge/tests-100%20passing-brightgreen.svg)]() 将原始威胁情报在数秒内转化为可操作的安全检测。粘贴威胁报告,获取IOC、ATT&CK技术、狩猎假设、SIEM查询以及可直接用于生产的检测规则——这一切都通过你的AI助手完成。 **Threat Research MCP** 是一个开源的 [Model Context Protocol](https://modelcontextprotocol.io/) 服务器,专为 **防御性安全运营** 设计:情报摄取 → 分析 → 威胁狩猎 → 检测工程 → 验证。 ## 🎯 关键特性 ### 核心能力 - **🔍 IOC 提取** — 自动从任意文本中提取 IP、域名、URL、哈希值、邮箱 - **🎯 ATT&CK 映射** — 基于关键词启发式自动检测威胁情报中的技术 - **📊 日志来源推荐** — 为 20+ 种技术提供具体日志来源(Windows 事件 ID、CloudTrail、Sysmon) - **🔎 SIEM 查询生成** — 可直接运行的 Splunk、Microsoft Sentinel、Elastic、AWS Athena、Chronicle 查询 - **🛡️ 检测工程** — 编写 Sigma 规则、KQL、SPL 并进行验证 - **🎭 威胁行为体画像** — 针对 6 个真实的 APT/UNC 群组场景进行测试 - **🔗 可选 MCP 集成** — 与 4 个专业 MCP 联动增强能力 ### 企业级特性 - **✅ 100 个通过测试** — 包含 29 个威胁行为体场景的全面测试覆盖 - **🏢 生产就绪** — 19 个 MCP 工具、4 代理编排、可选 SQLite 持久化 - **🔒 安全优先** — 仅限防御性使用,无进攻能力,提供完整安全文档 - **📈 可扩展** — 可独立运行或与专业 MCP 集成以支持企业工作流 - **🔄 CI/CD 就绪** — 预提交钩子、Makefile、GitHub Actions 保障质量 - **📚 企业文档** — 15+ 份关于部署与运维的全面指南 ## 🚀 快速开始(2 分钟) ### 1. 安装 ``` git clone https://github.com/harshdthakur6293/threat-research-mcp.git cd threat-research-mcp python3 -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -e ".[dev]" ``` ### 2. 验证安装 ``` # 运行综合测试套件(100 个测试) pytest tests/ -v # 测试威胁行为者场景(29 个测试) pytest tests/test_threat_actor_scenarios.py -v # 运行交互式演示 python examples/demo_threat_actor_testing.py ``` ### 3. 连接到你的 AI 助手 添加到你的 MCP 配置(`mcp.json` 对应 Cursor,`.vscode/mcp.json` 对应 VS Code,`cline_mcp_settings.json` 对应 Cline): ``` { "mcpServers": { "threat-research-mcp": { "command": "/absolute/path/to/threat-research-mcp/.venv/bin/python", "args": ["-m", "threat_research_mcp.server"], "cwd": "/absolute/path/to/threat-research-mcp" } } } ``` **Windows 用户:** 请在 `command` 中使用 `C:/path/to/.venv/Scripts/python.exe`。 ### 4. 开始使用 打开你的 AI 助手并尝试以下命令: - “从以下威胁报告提取 IOC:[粘贴内容]” - “分析此事件并提供狩猎假设” - “为 APT29 技术生成日志来源” - “为 PowerShell 编码命令创建 Sigma 规则” ## 📊 你将获得(v0.4) ### 19 个 MCP 工具 | 类别 | 工具 | 描述 | |----------|-------|-------------| | **分析** | `extract_iocs`, `summarize`, `attack_map` | 提取 IOC、总结情报、映射到 ATT&CK | | **检测** | `sigma`, `validate_sigma`, `generate_detection_ideas` | 编写并验证 Sigma 规则 | | **狩猎** | `hunt`, `timeline`, `intel_to_log_sources` | 生成狩猎假设、重构时间线 | | **日志来源** | `recommend_log_sources`, `intel_to_log_sources` | 获取具体日志来源与 SIEM 查询 | | **集成** | `enhanced_intel_analysis`, `get_integration_status` | 编排多个 MCP、检查可用性 | | **摄取** | `ingest_sources`, `intel_to_analysis_product` | 从 RSS、STIX、TAXII、HTML 摄取 | | **历史记录** | `search_ingested_intel`, `search_analysis_product_history` | 搜索历史分析(需 SQLite) | ### 4 代理编排 ``` graph LR Intel[Threat Intel] --> Research[Research Agent] Research --> Hunting[Hunting Agent] Hunting --> Detection[Detection Agent] Detection --> Reviewer[Reviewer Agent] Reviewer --> Output[Analysis Product] ``` 1. **研究代理** — IOC 提取、总结、ATT&CK 映射 2. **狩猎代理** — 生成假设、重构时间线 3. **检测代理** — 编写 Sigma/KQL/SPL 规则 4. **审核代理** — 质量检查、置信度评分 ### 威胁行为体测试框架 使用 6 个真实的威胁行为体配置文件测试你的检测能力: | 行为体 | 归属 | 关键活动 | 覆盖 | |-------|-------------|--------------|----------| | **APT29** | 俄罗斯 SVR | SolarWinds | 29 种技术,11 种战术 | | **APT28** | 俄罗斯 GRU | 鱼叉式网络钓鱼 | 27 种技术,11 种战术 | | **APT41** | 中国国家行为体 | 医疗/电信 | 29 种技术,12 种战术 | | **UNC2452** | 俄罗斯 SVR | 供应链攻击 | 25 种技术,11 种战术 | | **UNC3890** | 中国 Nexus | ProxyShell | 25 种技术,11 种战术 | | **Lazarus** | 朝鲜 | 加密货币攻击 | 29 种技术,12 种战术 | **运行测试:** `pytest tests/test_threat_actor_scenarios.py -v` ## 🏢 企业级部署 ### 独立部署 ``` # 生产安装 pip install -e . # 启动 MCP 服务器 python -m threat_research_mcp.server # 启用 SQLite 持久化 export THREAT_RESEARCH_MCP_DB=/path/to/data/db/runs.sqlite python -m threat_research_mcp.server ``` ### 增强型部署(可选 MCP) 集成专业 MCP 以获得企业级能力: | MCP | 用途 | 企业用例 | |-----|---------|---------------------| | **[fastmcp-threatintel](https://github.com/4R9UN/fastmcp-threatintel)** | IOC 增强 | 对 VirusTotal、OTX、AbuseIPDB 进行验证 | | **[Security-Detections-MCP](https://github.com/MHaggis/Security-Detections-MCP)** | 覆盖分析 | 检查 8,200+ 现有检测规则 | | **[threat-hunting-mcp](https://github.com/THORCollective/threat-hunting-mcp-server)** | 行为狩猎 | 探测在 IOC 轮换后仍存在的行为 | | **[Splunk MCP](https://github.com/splunk/splunk-mcp-server2)** | 查询验证 | 使用风险评分验证 SPL 查询 | **设置说明:** 参考 [`docs/OPTIONAL-INTEGRATIONS.md`](docs/OPTIONAL-INTEGRATIONS.md) ### CI/CD 集成 ``` # 预提交钩子(自动代码质量) pre-commit install # 本地 CI 检查(在推送前运行) make ci # 运行特定检查 make test # Run pytest make lint # Run ruff make security # Run bandit ``` ### Docker 部署(即将推出) ``` docker build -t threat-research-mcp . docker run -p 8000:8000 threat-research-mcp ``` ## 📚 文档 ### 入门指南 - **[快速开始指南](docs/using-as-a-security-engineer.md)** — Cursor、VS Code、Cline 的分步设置 - **[威胁行为体测试](docs/THREAT-ACTOR-TESTING.md)** — 针对真实 APT 场景进行测试 - **[检测工程工作流](docs/THREAT-ACTOR-QUICK-START.md)** — 从威胁行为体画像构建检测 - **[添加威胁行为体](docs/ADDING-THREAT-ACTORS.md)** — 添加来自公开情报的自定义配置文件 ### 集成指南 - **[完整的 MCP 生态](docs/complete-mcp-ecosystem.md)** — 5-MCP 集成指南 - **[可选集成](docs/OPTIONAL-INTEGRATIONS.md)** — 专业 MCP 设置指南 - **[集成架构](docs/INTEGRATION-ARCHITECTURE.md)** — 技术架构细节 - **[快速参考](docs/QUICK-REFERENCE.md)** — 一页速查表 ### 功能文档 - **[日志来源推荐](docs/log-source-recommendations.md)** — 20+ 技术的具体日志来源 - **[自动技术检测](docs/automatic-technique-detection.md)** — 自动检测 ATT&CK 技术 - **[行为狩猎](https://img.shields.io/badge/MCP%20server-Python%203.10+-teal.svg)** — 狩猎行为而非 IOC - **[Splunk 集成](docs/splunk-mcp-integration.md)** — 查询验证与执行 ### 技术参考 - **[工具契约](docs/tool-contracts.md)** — 所有 19 个 MCP 工具的输入/输出说明 - **[架构](docs/architecture.md)** — 系统设计与模块状态 - **[规范模式](docs/canonical-schemas.md)** — `AnalysisProduct` JSON 模式 - **[摄取](docs/ingestion.md)** — 配置 RSS、STIX、TAXII 源 - **[安全](SECURITY.md)** — 安全策略与加固指南 ## 🔬 使用场景 ### 1. 威胁情报分析 ``` # 分析威胁情报报告 { "tool": "intel_to_log_sources", "arguments": { "intel_text": "APT29 using ICP Canister C2 via blockchain...", "environment": "aws", "siem_platforms": "splunk,sentinel" } } # 输出:自动检测技术,25+ 日志来源,即用即查查询 ``` ### 2. 检测工程 ``` # 为特定威胁行为者构建检测 from tests.threat_actor_profiles import get_threat_actor_profile profile = get_threat_actor_profile("APT29") techniques = profile["ttps"]["initial_access"] # 生成日志来源和 SIEM 查询 log_guidance = get_log_sources_for_techniques(techniques) hunt_queries = generate_hunt_queries(techniques, siem_platforms=["splunk"]) ``` ### 3. 威胁狩猎 ``` # 搜寻 APT41 活动 profile = get_threat_actor_profile("APT41") # 构建搜寻假设 hypotheses = [ "APT41 exploited public-facing applications", "APT41 deployed web shells for persistence", "APT41 used Cobalt Strike for C2" ] # 生成搜寻查询 queries = generate_hunt_queries( profile["ttps"]["initial_access"], siem_platforms=["splunk"] ) ``` ### 4. 覆盖分析 ``` # 查找多个行为者之间的通用技术 actors = ["APT28", "APT29", "UNC2452"] common_techniques = find_common_techniques(actors) # 构建覆盖多个行为者的检测 # 效率:15 个检测覆盖 50+ 总技术 ``` ### 5. 基于 IOC 的阻断 ``` # 从威胁行为者资料中提取 IOC profile = get_threat_actor_profile("Lazarus Group") iocs = profile["iocs"] # 生成防火墙规则、DNS 阻止列表、EDR 哈希块 for ip in iocs["ips"]: print(f"deny ip any any {ip} any") ``` ## 🧪 测试与质量保障 ### 测试覆盖 ``` # 运行所有测试(100 个测试) pytest tests/ -v # 运行特定测试套件 pytest tests/test_threat_actor_scenarios.py -v # 29 tests pytest tests/test_mcp_integrations.py -v # 20 tests pytest tests/test_log_source_mapper.py -v # 12 tests # 运行覆盖率报告 pytest tests/ --cov=src/threat_research_mcp --cov-report=html ``` ### 质量检查 ``` # 本地运行所有 CI 检查 make ci # 单项检查 make test # Pytest with coverage make lint # Ruff linting and formatting make security # Bandit security scanning ``` ### 预提交钩子 ``` # 安装预提交钩子 pre-commit install # 手动运行 pre-commit run --all-files ``` ## 🗺️ 路线图 ### v0.4(当前 - 2026 年 4 月) ✅ - **威胁行为体测试框架** ✅ - 6 个真实的 APT/UNC 群组配置文件 - 29 个全面的场景测试 - 检测工程工作流 - 公共情报采集模板 - **日志来源推荐** ✅ - 20 多种技术映射到具体日志来源 - 为 5 个 SIEM 平台提供即用查询 - 部署清单 - **可选 MCP 集成** ✅ - 集成层与优雅降级 - 一键编排工具 - 支持 4 个专业 MCP - **企业文档** ✅ - 15+ 份全面指南 - 检测工程工作流 - 威胁行为体测试指南 ### v0.5(2026 年第三季度) - **扩大的威胁行为体覆盖** - 20+ 个威胁行为体配置文件 - 从 CISA、MITRE、Mandiant 自动采集 - 每季度更新配置文件 - **增强的检测工程** - 100+ 种技术映射 - 环境配置分析器 - 覆盖差距检测 - ATT&CK Navigator 集成 - **完整的 MCP 协议客户端** - 替换占位实现 - 重试逻辑与断路器 - 响应缓存 - 并行 MCP 调用 ### v0.6(2027 年第一季度) - **平台集成** - MISP、OpenCTI、Synapse 连接器 - 智能库上的语义搜索 - 基于图形的 CTI 推理 - **企业级特性** - 多租户工作空间隔离 - 基于角色的访问控制与审计日志 - 狩猎活动管理 - 自定义剧本引擎 ### v1.0(2027 年第三季度) - **生产环境加固** - Docker/Kubernetes 部署 - 高可用配置 - 性能优化 - 企业支持选项 详见 [`.github/ROADMAP.md`](.github/ROADMAP.md) 获取详细计划。 ### 贡献方式 1. **添加威胁行为体配置文件** — 参考 [`docs/ADDING-THREAT-ACTORS.md`](docs/ADDING-THREAT-ACTORS.md) 2. **改进检测逻辑** — 增强技术检测与日志来源映射 3. **添加 SIEM 支持** — 为更多平台贡献查询模板 4. **编写文档** — 帮助他人采用该平台 5. **报告问题** — 发现错误请提交 Issue 6. **提交 Pull Request** — 欢迎代码贡献 ### 开发环境设置 ``` # 克隆并安装 git clone https://github.com/harshdthakur6293/threat-research-mcp.git cd threat-research-mcp pip install -e ".[dev]" # 安装预提交钩子 pre-commit install # 运行测试 make test # 运行所有 CI 检查 make ci ``` ### 安全漏洞 对于安全漏洞,请使用 GitHub 的 **Security → Report a vulnerability** 功能。详情参考 [`SECURITY.md`](SECURITY.md)。 **仅限授权环境中的防御性使用。** 参考 [`SECURITY.md`](SECURITY.md) 了解范围与加固指南。 ## 📄 许可证 MIT License — 详见 [LICENSE](LICENSE)。 Copyright (c) 2026 Harsh Thakur ## 🙏 感谢 本项目基于以下优秀工作构建: - [Model Context Protocol](https://modelcontextprotocol.io/) — Anthropic - [MITRE ATT&CK Framework](https://attack.mitre.org/) - [Sigma Rules](https://github.com/SigmaHQ/sigma) - [fastmcp-threatintel](https://github.com/4R9UN/fastmcp-threatintel) - [Security-Detections-MCP](https://github.com/MHaggis/Security-Detections-MCP) - [threat-hunting-mcp-server](https://github.com/THORCollective/threat-hunting-mcp-server) 特别感谢威胁情报社区提供的公开报告,使这项工作成为可能。 ## 📞 支持 - **文档:** [docs/](docs/) - **问题:** [GitHub Issues](https://github.com/harshdthakur6293/threat-research-mcp/issues) - **讨论:** [GitHub Discussions](https://github.com/harshdthakur6293/threat-research-mcp/discussions) - **安全:** 参考 [SECURITY.md](SECURITY.md) ## 🌟 星标历史 如果你觉得这个项目有用,请给它一颗星! ⭐
**使用 ❤️ 为安全防御社区构建** [Documentation](docs/) · [Quick Start](docs/using-as-a-security-engineer.md) · [Contributing](CONTRIBUTING.md) · [Security](SECURITY.md)
标签:APT组场景, ATT&CK映射, IOC提取, KQL, MCP服务器, MCP集成, Model Context Protocol, Python, SIEM查询, Sigma规则, SPL, 企业安全, 威胁情报, 威胁研究, 开发者工具, 无后门, 日志源推荐, 目标导入, 管理员页面发现, 网络资产管理, 逆向工具, 速率限制处理, 防御性安全