amirzyazid/NeuralTTP

GitHub: amirzyazid/NeuralTTP

基于本地AI语义搜索引擎的MITRE ATT&CK智能归因API,实现非结构化攻击描述到标准化威胁技术的零泄漏映射。

Stars: 0 | Forks: 0

# MITRE ATT&CK OSINT API 一个快速、本地托管的 FastAPI 服务,连接网络威胁情报与 AI。 该 API 提供实时的 MITRE ATT&CK Enterprise 数据,并配备了一个**完全离线、由 AI 驱动的语义搜索引擎,专为 OSINT 研究人员设计。** 它允许聊天机器人、分析师或脚本输入原始、非结构化的攻击行为描述,并通过数学向量相似度安全地获取精确的 MITRE Technique 归因。 ## ⭐ 主要特性 - **真正的语义搜索:** 与简单的关键字匹配不同,该引擎能够理解概念。(例如,查询“要求为锁定的文件付款”,会明确返回 `T1486 - Data Encrypted for Impact`)。 - **100% 离线 AI 模型:** 利用 `fastembed`(`BAAI/bge-small-en-v1.5`),这意味着敏感的 OpSec 查询永远不会触及外部供应商(如 OpenAI 或 Google)。所有计算均在本地 CPU 上安全进行。 - **动态 STIX 解析:** 直接从 MITRE 官方的 GitHub 摄取持续更新的原始 MITRE STIX JSON 数据。 - **RESTful 架构:** 在 FastAPI 基础上构建的清晰、基于 Pydantic 类型的端点。 ## 🛠️ 技术栈 * **框架:** [FastAPI](https://fastapi.tiangolo.com/) * **服务器:** [Uvicorn](https://www.uvicorn.org/) * **AI 引擎:** [FastEmbed](https://qdrant.github.io/fastembed/)(本地词嵌入) * **数学层:** NumPy ## 🚀 入门指南 ### 1. 前置条件 确保已安装 Python 3.10+。为了显著加快设置速度,我们强烈推荐使用 [uv](https://github.com/astral-sh/uv)。 ### 2. 安装 克隆此仓库并进入项目目录: ``` cd mitre-api ``` 创建虚拟环境并安装所需的依赖项: ``` # 使用 uv(推荐,超快) uv venv uv pip install -r requirements.txt # 或者使用标准 pip python -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt ``` ### 3. 预获取 AI 模型(可选) 在 API 首次启动时,它会从 HuggingFace 安全地下载约 100MB 的语言模型到您的机器上。为了确保在网络速度较慢时不会发生超时,请运行一次内置的加载脚本: ``` uv run python test_download.py ``` ### 4. 运行服务器 使用热重载运行 Uvicorn ASGI 服务器: ``` uv run uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload ``` ## 📡 API 端点参考 服务器运行后,导航至 `http://localhost:8000/docs` 以查看完全交互式的 Swagger UI 仪表板。 ### **核心数据接口** - `GET /api/v1/groups` - 检索所有已知的威胁组织(例如,APT28)。 - `GET /api/v1/groups/{group_id}` - 通过特定 ID 检索。 - `GET /api/v1/techniques` - 检索所有 MITRE Techniques。 - `GET /api/v1/techniques/{technique_id}` - 通过特定 ID 检索。 - `GET /api/v1/software` - 检索相关的恶意软件/工具列表。 ### **🧠 AI 语义搜索接口** - `POST /api/v1/search/techniques` - 将自然语言句子无缝解析为本地化的 N 维数学向量,并返回最相关的 MITRE Techniques。 **请求示例:** ``` { "query": "encrypts data and demands ransom payment ransomware", "top_k": 3 } ``` **响应示例:** ``` [ { "technique": { "name": "Data Encrypted for Impact", "description": "Adversaries may encrypt data on target systems or on large numbers of systems in a network to interrupt availability to system and network resources...", "external_references": [{"external_id": "T1486"}] }, "similarity_score": 0.75 } ] ``` ## 🕵️‍♂️ OSINT 聊天机器人集成用例 如果在 Slack/Discord 上构建 OSINT 聊天机器人,只需将用户文本代理到 `POST /api/v1/search/techniques` 循环中即可。 1. **用户向聊天机器人输入提示词:** *“我们发现了写入启动脚本的恶意文档宏。”* 2. **聊天机器人查询此 API。** 3. **API 立即响应:** `T1059.005` (Visual Basic) 和 `T1037` (Boot or Logon Initialization Scripts)。 4. **聊天机器人通知分析师,** 无需在本地写入日志,从而确保安全性。
标签:AV绕过, BAAI/bge-small-en-v1.5, Cloudflare, ESC4, FastAPI, fastembed, MITRE ATT&CK, NLP, NumPy, OSINT, Python, SecOps, STIX, Uvicorn, 云安全架构, 向量数据库, 威胁情报, 安全运营, 开发者工具, 扫描框架, 数据解析, 无后门, 本地AI, 网络安全, 网络安全, 自动化分析, 词向量, 语义搜索引擎, 跨站脚本, 逆向工具, 隐私保护, 隐私保护, 零数据泄露