mitre-mcp:mitre-ATT&CK-mcp服务器

](https://pypi.org/project/mitre-mcp/) ](https://pypi.org/project/mitre-mcp/)     
生产就绪模型上下文协议(MCP)服务器,公开 MITRE ATT&CK 公司® LLM、AI助手和自动化工作流程的框架。使用官方MCP Python SDK和miteretack Python库构建,用于安全、高性能地访问对手的战术、技术、团体、软件和缓解措施。
可在 MCP注册表 (搜索 io.github.luongnv89/mitre-mcp).
亮点
- LLM本土经验 –与Claude、Windsurf、Cursor和任何兼容MCP的客户端无缝集成
- 默认情况下安全 –验证输入、TLS验证、磁盘空间检查和结构化错误处理
- 高性能 –使用预构建索引的O(1)技术查找(比扫描快80-95%)
- 灵活部署 –用于本地客户端的stdio或用于基于web的集成的HTTP服务器
目录
特性
- MITRE ATT&CK全面覆盖 -所有技术、战术、团队、软件和缓解措施
- 多域支持 -企业、移动和ICS ATT&CK域
- 智能高速缓存 -具有可配置到期时间的自动缓存(默认值:24小时)
- 性能优化 -O(1)使用预构建索引进行查找(速度提高80-95%)
- 双重运输模式 -stdio用于本地客户端,HTTP用于web集成
- 启用CORS的HTTP服务器 -异步通知和跨源请求支持
- 综合测试 -114个测试,代码覆盖率为66%
- 提交前质量检查 -自动格式化、linting、类型检查和安全扫描
- 输入验证 -默认情况下,使用经过验证的输入和经过净化的响应进行安全保护
- 程序化API -Python和Node.js客户端(参见 API图形.md)
可用的MCP工具
| 工具名称 | 描述 |
|---|---|
get_techniques | 列出所有具有过滤选项的技术 |
get_technique_by_id | 按ID查找特定技术(例如T1055) |
get_techniques_by_tactic | 获取特定策略的技巧(例如,持久性) |
get_tactics | 列出所有战术类别 |
get_groups | 列出所有威胁参与者组 |
get_techniques_used_by_group | 获取特定群体使用的技术(例如APT29) |
get_software | 列出带有过滤功能的恶意软件和工具 |
get_mitigations | 列出所有安全缓解措施 |
get_techniques_mitigated_by_mitigation | 通过特定的缓解措施来解决技术问题 |
快速开始
安装
- 创建并激活虚拟环境:
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate.bat- 从PyPI安装:
pip install mitre-mcp- 验证安装:
mitre-mcp --helpHTTP模式(推荐)
启动服务器:
mitre-mcp --http预期产量:
2025-11-17 22:40:10,991 - mitre_mcp.mitre_mcp_server - INFO - Starting MITRE ATT&CK MCP Server (HTTP mode on localhost:8000)
======================================================================
MCP Client Configuration (Streamable HTTP Transport)
Server URL: http://localhost:8000
MCP Endpoint: http://localhost:8000/mcp
Add this to your MCP client configuration:
{
"mcpServers": {
"mitreattack": {
"url": "http://localhost:8000/mcp"
}
}
}
======================================================================配置您的MCP客户端:
将此JSON添加到客户端的配置文件中:
{
"mcpServers": {
"mitreattack": {
"url": "http://localhost:8000/mcp"
}
}
}配置文件位置:
- macOS(克劳德桌面):
~/Library/Application Support/Claude/claude_desktop_config.json - Windows(克劳德桌面):
%APPDATA%\Claude\claude_desktop_config.json - Linux(克劳德桌面):
~/.config/Claude/claude_desktop_config.json - VSCode:在MCP扩展设置中配置
自定义主机和端口:
mitre-mcp --http --host 0.0.0.0 --port 8080然后使用 http://your-server-ip:8080/mcp 在您的客户端配置中。
为什么是HTTP模式?
- 多个客户端可以同时连接
- 更好的并发和异步支持
- 使用HTTP工具更容易调试
- 基于web的客户端的CORS支持
- 无需路径配置
stdio模式(可选)
对于只需要stdio传输的本地客户端:
mitre-mcp客户端配置:
{
"mcpServers": {
"mitreattack": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["-m", "mitre_mcp.mitre_mcp_server"]
}
}
}注: 使用绝对路径。建议在大多数情况下使用HTTP模式。
力数据下载
强制重新下载MITRE ATT&CK数据:
mitre-mcp --http --force-download示例截图
VSCode配置:
工具调用:
结果:
Web前端
基于React的现代web界面可在 frontend/ 通过聊天界面交互式探索MITRE ATT&CK的目录。
特征:
- 简洁、简约的设计,具有黑/白/灰色美学
- 基于LangGraphJS的交互式聊天框
- 常见安全工作流程的预构建场景剧本
- 使用MCP服务器进行实时查询处理
快速入门:
cd frontend
npm install
npm run dev然后打开 http://localhost:5173 在您的浏览器中。
先决条件:
- 已安装Node.js 18+
- MCP服务器正在运行:
mitre-mcp --http --port 8000
更多详情,请参阅 前端/README.md 文档。
文档
我们提供三个针对不同用例量身定制的全面指南:
1.初学者指南
初学者游戏.md -对于MITRE ATT&CK或网络安全的新手
适用于:
- 非技术用户
- 安全意识培训
- 基本威胁情报
- 一般网络安全教育
2.高级剧本
播放.md -适用于使用MCP客户端的安全专业人员
适用于:
- 证券分析家
- 威胁猎人
- 事件响应者
- 安全工程师
包括10个即用型场景:
- 威胁情报
- 检测工程
- 威胁狩猎
- 红队判研
- 安全评估
- 事件响应
- 安全操作
- 安全培训
- 供应商评估
- 风险管理
3.API集成指南
API图形.md -适用于开发人员构建自动化和自定义集成
适用于:
- 后端开发人员
- 自动化工程师
- 数据管道开发人员
- 定制工具项目
包括:
- 完整的Python和Node.js客户端实现
- 协议要求和示例
- 测试和调试工具
- 常见的集成模式
配置
环境变量
启动前设置 mitre-mcp 要自定义行为:
| 变量 | 默认值 | 用途 |
|---|---|---|
MITRE_ENTERPRISE_URL, MITRE_MOBILE_URL, MITRE_ICS_URL | MITRE CTI GitHub官方网址 | 覆盖ATT&CK捆绑包位置或指向内部镜像 |
MITRE_DATA_DIR | mitre_mcp/data | 将缓存的捆绑包存储在自定义目录中 |
MITRE_DOWNLOAD_TIMEOUT | 30 | 捆绑包下载的HTTP超时(秒) |
MITRE_CACHE_EXPIRY_DAYS | 1 | 刷新缓存数据前的最长时间 |
MITRE_REQUIRED_SPACE_MB | 200 | 下载前检查磁盘空间阈值 |
MITRE_DEFAULT_PAGE_SIZE / MITRE_MAX_PAGE_SIZE | 20 / 1000 | 列表工具返回的默认和最大记录数 |
MITRE_MAX_DESC_LENGTH | 500 | 回复中的描述长度被修剪 |
MITRE_LOG_LEVEL | INFO | 记录详细信息(调试、信息、警告等) |
MITRE_CORS_ORIGINS | * | CORS允许HTTP模式的起源(* =全部,或逗号分隔的域列表) |
数据缓存
服务器自动缓存MITRE ATT&CK数据以提高性能:
- 首次运行时,下载数据并将其存储在
data/文件夹 - 在后续运行中,如果不足1天,则使用缓存数据
- 自动刷新超过1天的数据
- 使用
--force-download强制重新下载
演出
| 场景 | 改进 | 注意事项 |
|---|---|---|
| 企业技术查询 | 速度提高80-95% | 为各组、缓解措施和技术预先构建的O(1)指数 |
| ATT&CK数据下载 | 速度提高20-40% | 具有TLS会话重用的HTTP连接池 |
| 热缓存启动 | \<2s | 缓存包可用于即时LLM查询 |
基准测试:macOS 14/苹果M3 Pro和Python 3.11。使用 MITRE_LOG_LEVEL=DEBUG 用于定时日志。
程序化API
有关自动化、自定义集成和批处理,请参阅 API图形.md.
快速示例(Python):
from clients.python.mini_mcp_client import MitreMCPClient
async def main():
client = MitreMCPClient(host="localhost", port=8000)
# Get all tactics
tactics = await client.call_tool("get_tactics", {"domain": "enterprise-attack"})
# Get techniques for a group
techniques = await client.call_tool(
"get_techniques_used_by_group",
{"group_name": "APT29", "domain": "enterprise-attack"}
)可用客户端:
- python:
clients/python/mini-mcp-client.py使用完整的CLI - Node.js:
clients/nodejs/mini-mcp-client.js使用完整的CLI
看 API图形.md 以获取完整的文档。
发展
克隆并安装
git clone https://github.com/montimage/mitre-mcp.git
cd mitre-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"安装预提交挂钩
pre-commit install这将在每次提交之前设置自动代码质量检查。
运行测试
pytest # Full test suite with coverage
pre-commit run --all-files # All quality checks代码质量工具
格式:
- 黑色 -Python代码格式化程序
- isort -进口组织者
- 更漂亮 -YAML/JSON/Markdown格式化程序
过梁和类型检查:
- 薄片8 -Python linter
- 米皮 -静态类型检查器
- pydocstyle -文档字符串检查器
安全:
- 强盗 -安全漏洞扫描程序
- 文件验证器 -YAML、JSON、TOML、私钥检测
测试:
- pytest -提交前进行114次测试
- 安装测试 -包验证
- 进口验证 -模块重要性
- CLI测试 -入口点验证
故障排除
下载失败,显示“磁盘空间不足”
- 数据目录或集合中至少有200 MB的可用空间
MITRE_DATA_DIR=/path/to/storage
数据从不更新
- 缓存的捆绑包在1天后自动刷新
- 强制刷新:
mitre-mcp --force-download或删除data/文件夹
工具调用返回错误
- 确保遵循技术ID
T####或T####.###格式 - 将名称/战术限制在100个字符以内
MCP客户端无法发现服务器
- 验证客户端配置指向正确的Python路径
- 手动测试:运行
mitre-mcp并验证服务器是否启动 - 对于HTTP模式:确保
url字段设置正确
找不到模块:mcp.server.fastmcp
- 安装MCP SDK:
pip install "mcp[cli]"在您的虚拟环境中
常见问题解答
mitre mcp可以离线工作吗?
- 对。一旦包被缓存,服务器就会脱机工作,直到缓存过期。
支持哪些Python版本?
- Python 3.10到3.14(参见
pyproject.toml).
数据多久刷新一次?
- 默认情况下,每24小时一次。调整
MITRE_CACHE_EXPIRY_DAYS或使用--force-download.
HTTP模式对生产安全吗?
- 默认情况下,HTTP模式在localhost:8000上运行。如果暴露在外部,请使用防火墙或反向代理。
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
关于蒙缇迈
mitre-mcp 由开发和维护 蒙蒂马克,一家专注于网络监控、安全分析和人工智能驱动的威胁检测解决方案的网络安全公司。我们开发创新工具,帮助组织保护其数字资产并确保网络安全。
如有疑问或支持: luong.nguyen@montimage.eu
