🚀 🔒 MITRE ATT&CK MCP Server
以原生AI方式訪問全球領先的威脅情報框架
該項目將全球領先的對手知識庫轉化為原生AI接口。基於模型上下文協議構建,使大語言模型和智能體系統能夠查詢200多種技術、140多個組織、700多個軟件條目,對複雜的威脅關係和戰術、技術與程序(TTP)進行推理,使用ATT&CK Navigator層可視化覆蓋差距,並通過結構化工具擴展威脅情報工作流程。非常適合安全團隊、威脅獵手、檢測工程師、AI研究人員以及任何構建智能安全系統的人員。

主要特性 • 安裝指南 • 快速開始 • 可用工具 • 示例查詢 • 路線圖與願景
🚀 快速開始
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/)。
✨ 主要特性
- ✅ 在ATT&CK領域(企業、移動、工業控制系統)提供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
📦 MCP註冊表
此服務器已在模型上下文協議(MCP)註冊表中正式註冊。
註冊表ID:io.github.imouiche/mitre-attack-mcp-server
在官方註冊表中查看: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:通過註冊表發現
- 訪問 MCP註冊表
- 搜索 "mitre-attack"
- 點擊服務器卡片獲取安裝說明
🛠️ 可用工具
該服務器提供了50多個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 |
獲取由某個緩解措施緩解的技術 |
🧭 戰術、數據源與工業控制系統
| 工具 |
描述 |
get_all_tactics |
獲取所有戰術 |
get_all_datasources |
獲取所有數據源 |
get_all_datacomponents |
獲取所有數據組件 |
get_datacomponents_detecting_technique |
獲取檢測某項技術的數據組件 |
get_all_assets |
獲取工業控制系統資產 |
get_assets_targeted_by_technique |
獲取被某項技術針對的資產 |
💻 使用示例
威脅情報
"APT29在初始訪問時使用了哪些技術?"
"哪些組織針對金融機構?"
"展示所有與勒索軟件相關的軟件"
" Lazarus Group的別名有哪些?"
檢測工程
"哪些數據源可以檢測憑據轉儲?"
"為EDR能力生成一個覆蓋圖"
"列出所有Windows提權技術"
"什麼可以檢測T1055(進程注入)?"
威脅狩獵
"哪些技術使用了PowerShell?"
"展示Linux的橫向移動技術"
"哪些組織使用了Cobalt Strike?"
"哪些持久化技術針對macOS?"
緩解與防禦
"針對網絡釣魚攻擊有哪些緩解措施?"
"展示所有針對提權的緩解措施"
"MFA可以緩解哪些技術?"
合規性與差距分析
"為我們EDR覆蓋的所有技術生成一個層"
"將APT29的戰術、技術與程序(TTP)與我們的檢測能力進行比較"
"展示我們環境中未緩解的技術"
📊 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+
- 框架:用於模型上下文協議的FastMCP
- 數據庫:官方
mitreattack-python(v5.3.0+)
- 異步/等待:為併發查詢提供最佳性能
- 類型安全:所有數據結構均使用Pydantic模型
- 測試:全面的pytest覆蓋
數據
- 企業ATT&CK:v18.1+(約50.9MB)
- 移動ATT&CK:v18.1+(約4.9MB)
- 工業控制系統ATT&CK:v18.1+(約3.5MB)
- 總計:約59MB,本地緩存
- 存儲:
~/.mitre-mcp-server/data/v{version}/
- 更新:安裝時自動下載,後續運行使用緩存數據
性能
- 內存緩存:啟動時加載所有域
- 查詢速度:大多數操作在亞秒級完成
- 圖遍歷:高效的關係查詢
- 併發:處理多個併發請求
要求
- Python:3.12或更高版本
- Node.js:16+(用於NPM安裝)
- 磁盤空間:約150MB(包括依賴項和數據)
- 內存:運行時約200MB RAM
🚀 路線圖與願景
該項目是構建全面的智能安全自動化這一更大願景的第一個組件,旨在集成多個安全知識庫和框架。
當前狀態
- ✅ MITRE ATT&CK - 威脅情報和對手戰術、技術與程序(TTP)(v18.1)
計劃集成
- 🔜 CVE/NVD - 漏洞情報和利用映射
- 🔜 MITRE D3FEND - 防禦對策知識圖譜
- 🔜 Sigma規則 - 檢測規則翻譯和管理
- 🔜 CAPEC - 常見攻擊模式枚舉
- 🔜 CWE - 軟件弱點枚舉
- 🔜 智能滲透測試 - 多智能體自主安全測試
最終目標
使AI智能體能夠自主地:
- 🎯 映射攻擊面並識別漏洞
- 🛡️ 推薦防禦對策
- 🔍 生成檢測規則並驗證覆蓋範圍
- 🤖 編排多階段安全評估
- 📊 推理完整的攻防生命週期
參與貢獻
我們歡迎以下人員的貢獻:
- 🎓 從事論文項目的學生(網絡安全、AI、智能體系統)
- 🔬 AI安全、威脅情報或智能體框架領域的研究人員
- 💻 熱衷於安全自動化的開發人員
- 🏢 對研究合作或商業應用感興趣的組織
感興趣的領域:
- 集成其他安全框架(CVE、D3FEND、Sigma)
- 構建用於滲透測試和紅隊的智能工作流程
- 開發檢測規則生成管道
- 創建威脅情報推理系統
- 改進MCP工具和文檔
📬 感興趣嗎? 打開一個問題、發起討論或直接聯繫我們!
加入討論 →
🤝 貢獻指南
如果發現了漏洞、有功能請求或想為路線圖做出貢獻,請按以下方式操作:
歡迎所有貢獻!
開發設置
git clone https://github.com/imouiche/complete-mitre-attack-mcp-server.git
cd complete-mitre-attack-mcp-server
uv sync
uv run python -m mitre_mcp_server.server
📄 許可證
本項目採用Apache License 2.0許可。
詳情請見 LICENSE。
👨💻 關於作者
Inoussa Mouiche,博士
AI/ML研究員 | 網絡安全 | 智能AI系統 | 軟件工程
🎓 溫莎大學 - WASP實驗室
🔬 研究重點:威脅情報自動化、機器學習、多智能體安全系統、大語言模型驅動的安全運營
📫 聯繫方式
🎓 獲獎提名
💼 開放機會:
- AI/ML工程與研究
- 網絡安全與威脅情報
- 智能AI開發
- 安全自動化與編排
- 學術與行業合作
🙏 致謝
MITRE ATT&CK® 是The MITRE Corporation的註冊商標。
⭐ 如果您覺得這個倉庫有用,請給它加星!
對智能工程系統的合作感興趣嗎? 讓我們聯繫吧!
為網絡安全和AI社區用心打造
⬆ 返回頂部