关于 mitre-attack-mcp-server
mitre-attack-mcp-server 是面向安全团队、威胁猎手和检测工程师的 MCP 服务,用于查询官方 MITRE ATT&CK 数据。其工具覆盖 Enterprise、Mobile 和 ICS 中的实体及关系,并可生成 ATT&CK Navigator 图层。
主要功能
- 01覆盖 Enterprise、Mobile、ICS 的 65 多种工具
- 02搜索技术、组织、软件和行动
- 03查询缓解措施、战术及检测数据
- 04探索 ATT&CK 实体间的关系
- 05生成 ATT&CK Navigator 图层 JSON
- 06下载并缓存官方 STIX 数据
适用场景
- 01调查威胁组织使用的技术
- 02查找检测某项技术的数据源
- 03查看针对攻击技术的缓解措施
- 04在 Navigator 中呈现威胁或检测覆盖情况
MCP 相关
它向 MCP 客户端和基于 LLM 的系统提供查询官方 MITRE ATT&CK 数据的结构化工具,也可生成兼容 ATT&CK Navigator 的图层 JSON。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
## 🎯 概述
MITRE ATT&CK MCP 服务将全球领先的对手知识库转化为AI 原生接口。它专为模型上下文协议打造,可让大模型和 Agent 系统:
- 🔍 查询 200 多种技术、140 多个组织和 700 多条软件条目
- 🧠 推理复杂的威胁关系和 TTP
- 📊 借助 ATT&CK Navigator 图层可视化覆盖缺口
- ⚡ 使用结构化工具扩展威胁情报工作流
适用于:安全团队、威胁狩猎人员、检测工程师、AI 研究人员,以及任何构建智能安全系统的人。
这是什么?
mitre-attack-mcp-server 是一个自包含的 MCP 服务,使用官方 STIX 数据,通过适合大模型的结构化输出,提供可由机器调用的 MITRE ATT&CK 框架访问能力。
它支持:
- 🤖 让大模型对 ATT&CK 技术、组织、软件和缓解措施进行推理
- 🧠 通过Agent 工作流生成威胁说明和覆盖地图
- 🔍 让安全团队以编程方式查询 ATT&CK 关系
- 📊 通过 ATT&CK Navigator 图层进行可视化
无需抓取数据。
无需脆弱的 API。
只有结构化、可靠的官方 MITRE 数据。
📑 目录
✨ 主要功能
- ✅ 覆盖 ATT&CK 各领域(Enterprise、Mobile、ICS)的 65 多种 MCP 工具
- ✅ 首次运行时自动下载并缓存 STIX 数据
- ✅ 原生支持生成 ATT&CK Navigator 图层
- ✅ 专为大模型和兼容 MCP 的客户端打造
- ✅ 内存缓存,即时响应查询
- ✅ 使用 Pydantic 模型确保类型安全
- ✅ 简洁、可用于生产环境且自包含的服务
- ✅ 全面的测试覆盖
📦 安装
通过 PyPI(推荐)- Python 用户
pip install mitre-mcp-server
npm
npm install -g @imouiche/mitre-attack-mcp-server
npx(无需安装)
npx @imouiche/mitre-attack-mcp-server
通过 uv(现代 Python)
uv pip install mitre-mcp-server
本地开发
git clone https://github.com/imouiche/complete-mitre-attack-mcp-server.git
cd complete-mitre-attack-mcp-server
npm install
使用 uv(Python 包管理器)
git clone https://github.com/imouiche/complete-mitre-attack-mcp-server.git
cd complete-mitre-attack-mcp-server
uv sync
⚡ 快速开始
1. 安装
pip install mitre-mcp-server
2. 配置 Claude Desktop
将以下内容添加到你的 claude_desktop_config.json:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mitre-attack": {
"command": "npx",
"args": ["-y", "@imouiche/mitre-attack-mcp-server"]
}
}
}
3. 重启 Claude Desktop
完全退出 Claude Desktop(在 macOS 上按 Cmd+Q),然后重新打开。
4. 开始查询!
向 Claude 提问:
“APT29 使用了哪些初始访问技术?”
“为勒索软件组织生成一个 ATT&CK Navigator 图层”
“显示所有 Windows 持久化技术”
数据会在首次运行时自动下载(约 59MB,缓存于 ~/.mitre-mcp-server/data/)。
📦 MCP Registry
此服务已在 Model Context Protocol(MCP)Registry 中正式注册。
注册 ID:io.github.imouiche/mitre-attack-mcp-server
在官方 Registry 中查看:https://registry.modelcontextprotocol.io/?q=mitre-attack-mcp-server
安装选项
选项 1:直接使用 NPM
npm install -g @imouiche/mitre-attack-mcp-server
选项 2:使用 NPX(无需安装)
npx @imouiche/mitre-attack-mcp-server
选项 3:通过 Registry 查找
- 访问 MCP Registry
- 搜索 “mitre-attack”
- 点击服务卡片查看安装说明
🛠️ 可用工具
此服务提供 65+ 个 MCP 工具,涵盖所有主要的 MITRE ATT&CK 实体及其关系。
📊 基础设施与元数据
| 工具 | 描述 |
|---|---|
get_data_stats | 显示下载状态、文件路径、大小和 ATT&CK 发布版本 |
generate_layer | 生成 ATT&CK Navigator 图层(JSON 输出) |
get_layer_metadata | 返回 Navigator 图层元数据模板 |
🎯 技术
| 工具 | 描述 |
|---|---|
get_technique_by_id | 按 ATT&CK ID 获取技术(例如 T1055) |
search_techniques | 按名称或描述搜索技术 |
get_all_techniques | 获取所有技术 |
get_all_parent_techniques | 仅获取父技术 |
get_all_subtechniques | 获取所有子技术 |
get_subtechniques_of_technique | 获取某项父技术的子技术 |
get_parent_technique_of_subtechnique | 获取某项子技术的父技术 |
get_technique_tactics | 获取与某项技术相关的战术 |
get_techniques_by_tactic | 获取某项战术下的技术 |
get_techniques_by_platform | 获取适用于某个平台的技术 |
get_revoked_techniques | 获取已撤销的技术 |
🧑💻 组织(威胁行为者)
| 工具 | 描述 |
|---|---|
get_group_by_name | 按名称或别名查找组织 |
search_groups | 搜索组织 |
get_all_groups | 获取所有 ATT&CK 组织 |
get_groups_by_alias | 按别名查找组织 |
get_groups_using_technique | 获取使用某项技术的组织 |
get_groups_using_software | 获取使用某款软件的组织 |
get_groups_attributing_to_campaign | 获取被归因于某项活动的组织 |
🧪 软件(恶意软件与工具)
| 工具 | 描述 |
|---|---|
get_software | 获取所有软件 |
search_software | 搜索软件 |
get_software_by_alias | 按别名查找软件 |
get_software_used_by_group | 获取某个组织使用的软件 |
get_software_used_by_campaign | 获取活动中使用的软件 |
get_software_using_technique | 获取使用某项技术的软件 |
📌 活动
| 工具 | 描述 |
|---|---|
get_all_campaigns | 获取所有活动 |
get_campaigns_by_alias | 按别名查找活动 |
get_campaigns_using_technique | 获取使用某项技术的活动 |
get_campaigns_using_software | 获取使用某款软件的活动 |
get_campaigns_attributed_to_group | 获取归因于某个组织的活动 |
🛡️ 缓解措施
| 工具 | 描述 |
|---|---|
get_all_mitigations | 获取所有缓解措施 |
get_mitigations_mitigating_technique | 获取针对某项技术的缓解措施 |
get_techniques_mitigated_by_mitigation | 获取由某项缓解措施缓解的技术 |
🧭 战术、数据源与 ICS
| 工具 | 描述 |
|---|---|
get_all_tactics | 获取所有战术 |
get_all_datasources | 获取所有数据源 |
get_all_datacomponents | 获取所有数据组件 |
get_datacomponents_detecting_technique | 检测某项技术的数据组件 |
get_all_assets | 获取 ICS 资产 |
get_assets_targeted_by_technique | 某项技术针对的资产 |
💡 示例查询
威胁情报
"What techniques does APT29 use for initial access?"
"Which groups target financial institutions?"
"Show me all ransomware-related software"
"What are the aliases for the Lazarus Group?"
检测工程
"What data sources detect credential dumping?"
"Generate a coverage map for EDR capabilities"
"List all techniques for Windows privilege escalation"
"What can detect T1055 (Process Injection)?"
威胁狩猎
"What techniques use PowerShell?"
"Show me lateral movement techniques for Linux"
"Which groups use Cobalt Strike?"
"What persistence techniques target macOS?"
缓解与防御
"What mitigations exist for phishing attacks?"
"Show me all mitigations for privilege escalation"
"What techniques does MFA mitigate?"
合规与差距分析
"Generate a layer for all techniques our EDR covers"
"Compare APT29 TTPs against our detection capabilities"
"Show unmitigated techniques in our environment"
📊 ATT&CK Navigator 可视化
generate_layer 工具会生成兼容 ATT&CK Navigator 的 JSON。
用法:
-
请 Claude 生成一个图层:
“为 APT29 使用的所有技术生成一个 ATT&CK Navigator 图层”
-
将 JSON 输出保存到文件(例如
apt29_layer.json) -
上传到 ATT&CK Navigator
-
可视化技术覆盖情况、威胁行为者的技术使用情况或缓解措施映射
使用 LangGraph 的真实示例
图层用例示例:
- 红队覆盖情况:映射演练中使用的所有技术
- 检测差距:突出显示未受监控的技术
- 威胁行为者画像:可视化组织的 TTP
- 缓解措施覆盖情况:展示已防护和暴露的部分
🔧 技术详情
架构
- 语言:Python 3.12+
- 框架:用于 Model Context Protocol 的 FastMCP
- 数据库:官方
mitreattack-python(v5.3.0+) - Async/Await:针对并发查询优化性能
- 类型安全:所有数据结构均采用完整的 Pydantic 模型
- 测试:全面的 pytest 测试覆盖
数据
- Enterprise ATT&CK:v18.1+(约 50.9MB)
- Mobile ATT&CK:v18.1+(约 4.9MB)
- ICS ATT&CK:v18.1+(约 3.5MB)
- 总计:本地缓存约 59MB
- 存储位置:
~/.mitre-mcp-server/data/v{version}/ - 更新:安装时自动下载,后续运行使用缓存数据
性能
- 内存缓存:启动时加载所有领域的数据
- 查询速度:大多数操作均可在一秒内完成
- 图遍历:高效查询关系
- 并发:可处理多个同时到来的请求
要求
- Python:3.12 或更高版本
- Node.js:16+(用于 NPM 安装)
- 磁盘空间:约 150MB(包括依赖项和数据)
- 内存:运行时约需 200MB RAM
🚀 路线图与愿景
本项目是更宏大愿景的首个组件,旨在通过整合多个安全知识库和框架,构建全面的 Agent 化安全自动化能力。
当前状态
- ✅ MITRE ATT&CK - 威胁情报与对手 TTP(v18.1)
计划集成
- 🔜 CVE/NVD - 漏洞情报与漏洞利用映射
- 🔜 MITRE D3FEND - 防御性对策知识图谱
- 🔜 Sigma Rules - 检测规则转换与管理
- 🔜 CAPEC - 通用攻击模式枚举
- 🔜 CWE - 软件弱点枚举
- 🔜 Agent 化渗透测试 - 多 Agent 自主安全测试
最终目标
让 AI Agent 能够自主:
- 🎯 绘制攻击面并识别漏洞
- 🛡️ 推荐防御性对策
- 🔍 生成检测规则并验证覆盖情况
- 🤖 编排多阶段安全评估
- 📊 推理完整的攻防生命周期
参与其中
我们欢迎以下人士贡献:
- 🎓 从事论文项目的学生(网络安全、AI、Agent 系统)
- 🔬 从事 AI 安全、威胁情报或 Agent 框架研究的研究人员
- 💻 热衷于安全自动化的开发者
- 🏢 对研究合作或商业应用感兴趣的组织
感兴趣的领域:
- 集成更多安全框架(CVE、D3FEND、Sigma)
- 构建用于渗透测试和红队演练的 Agent 工作流
- 开发检测规则生成流水线
- 创建威胁情报推理系统
- 改进 MCP 工具和文档
📬 感兴趣吗? 提交 issue、发起讨论,或直接联系我们!
🤝 贡献
发现了 bug?有功能请求?想为路线图贡献力量?
欢迎所有贡献!
开发环境设置
git clone https://github.com/imouiche/complete-mitre-attack-mcp-server.git
cd complete-mitre-attack-mcp-server
uv sync
# uv run pytest (test/ folder not yet released)
uv run python -m mitre_mcp_server.server
📜 许可证
Apache License 2.0
完整详情请参阅 LICENSE。
👨💻 关于作者
Inoussa Mouiche, Ph.D.
AI/ML 研究人员 | 网络安全 | Agentic AI 系统 | 软件工程
🎓 University of Windsor - WASP Lab
🔬 研究方向:威胁情报自动化、机器学习、多 Agent 安全系统、大模型驱动的安全运营
📫 联系方式
- 🐙 GitHub: @imouiche
- 📧 电子邮箱:[email protected]
- 💼 LinkedIn:Inoussa Mouiche, Ph.D.
- 📚 Google Scholar:发表论文
🎓 奖项提名
💼 欢迎以下领域的合作机会:
- AI/ML 工程与研究
- 网络安全与威胁情报
- Agentic AI 开发
- 安全自动化与编排
- 学术界与业界合作
🙏 致谢
- 基于 MITRE ATT&CK® 构建——这是对手战术和技术的行业标准
- 由 mitreattack-python 提供支持——MITRE 官方库
- 实现了 Model Context Protocol——Anthropic 的 AI 工具集成标准
- 灵感来自优秀的 MCP 开发者社区,包括 R. Jasper 等
MITRE ATT&CK® 是 The MITRE Corporation 的注册商标。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。