Pranav1295-P/Assembly.Ai---Threat-Hunting-Framework
GitHub: Pranav1295-P/Assembly.Ai---Threat-Hunting-Framework
Assembly.AI 是一个集静态分析、机器学习分类与大语言模型智能研判于一体的本地化恶意软件分析框架,旨在模拟并加速真实 SOC 的威胁调查流程。
Stars: 0 | Forks: 0
# Assembly.AI — AI-Sec-Ops
**AI 驱动的恶意软件分析与威胁狩猎框架**
Assembly.AI (AI-Sec-Ops) 是一款研究级的恶意软件分析器,可对上传的样本(PE/ELF/Office/PDF/脚本/二进制文件)执行混合分析。它结合了:
- **静态分析** —— 哈希计算、熵值分析、Magic Bytes、PE 头解析、可疑导入/API、嵌入字符串、壳提示。
- **机器学习分类** —— 基于 PE 特征向量训练的梯度提升分类器(首次运行时使用源自公开 EMBER 风格模式的合成但逼真的恶意软件特征语料库进行自动训练)。
- **AI/LLM 调查** —— 将结构化分析上下文发送给 Claude / OpenAI,请求进行攻击链重建、MITRE ATT&CK 技术映射、IOC 验证和严重性分级。
- **自动化 PDF 报告** —— 执行摘要、攻击流程、进程树图、MITRE 矩阵、IOC 表格、修复建议。
## 架构
```
ai-sec-ops/
├── backend/
│ ├── app.py # Flask API
│ ├── config.py
│ ├── requirements.txt
│ ├── .env.example
│ ├── run.py # bootstrapper (trains ML model if missing)
│ ├── analyzers/
│ │ ├── static_analyzer.py
│ │ ├── ai_analyzer.py
│ │ ├── ml_classifier.py
│ │ ├── ioc_extractor.py
│ │ └── mitre_mapper.py
│ ├── reports/
│ │ └── pdf_generator.py
│ ├── utils/
│ │ └── file_utils.py
│ └── ml_models/
│ └── train_model.py
├── frontend/
│ ├── index.html
│ ├── analysis.html
│ ├── css/style.css
│ ├── js/app.js
│ └── assets/logo.svg
├── start.sh # Linux/macOS launcher
├── start.bat # Windows launcher
└── README.md
```
## 在 VS Code 中运行
完整的操作指南 —— venv、免费 LLM 设置、调试、故障排除 —— 均在
[`VSCODE_GUIDE.md`](./VSCODE_GUIDE.md) 中。本仓库附带 `.vscode/`
launch 配置,因此您可以从运行和调试面板中选择 **"Assembly.AI · Run server"** 并按 F5 启动。
## 快速开始
### 1. 克隆并安装
```
cd backend
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
```
### 2. 添加您的 LLM API 密钥(支持免费选项)
```
cp .env.example .env
```
打开 `.env` 并填写以下**任意一个**提供商:
| 提供商 | 费用 | 模型 | 获取密钥的地址 |
|--------------|-------------|-----------------------------------|-----------------------------------|
| **Groq** | 免费 | `llama-3.3-70b-versatile` | |
| **OpenRouter** | 免费额度 | `meta-llama/llama-3.2-3b-instruct:free` | |
| **Together** | 免费额度| `Llama-3.3-70B-Instruct-Turbo-Free` | |
| **Ollama** | 100% 本地运行 | `llama3.1:8b` (或任何已拉取的模型) | (无需密钥) |
| Anthropic | 付费 | `claude-sonnet-4-5` | |
| OpenAI | 付费 | `gpt-4o-mini` | |
分析器会自动检测存在的密钥。如果未设置任何密钥,将使用确定性的启发式叙述,以便流水线仍然可以生成完整的报告。
### 3. 训练 ML 分类器(仅首次运行需要)
```
python ml_models/train_model.py
```
这将生成 `ml_models/malware_classifier.pkl` (~1 MB)。它也会在首次通过 `run.py` 启动时自动训练。
### 4. 启动
```
# 从 repo 根目录
./start.sh # Windows: start.bat
```
Flask API 在 `http://127.0.0.1:5000` 上提供服务,并在
`http://127.0.0.1:5000/` 上提供前端页面。
## API 接口
| 方法 | 路径 | 描述 |
|--------|----------------------------|-----------------------------------------------|
| GET | `/` | 提供前端首页 |
| GET | `/api/health` | 健康检查 |
| POST | `/api/analyze` | Multipart 文件上传 → 返回 JSON 分析结果 |
| GET | `/api/report/`| 流式传输生成的 PDF 报告 |
| GET | `/api/analysis/` | 返回缓存的 JSON 分析 |
## 使用真实样本进行测试
预期的工作流程:
1. 从 **MalwareBazaar** (`https://bazaar.abuse.ch/`) 或
**VirusTotal** (研究 API) 获取样本。
2. 通过 Web 界面上传或执行以下命令:
curl -F file=@suspicious.exe http://127.0.0.1:5000/api/analyze
3. 从 UI 或 `/api/report/` 打开生成的 PDF 报告。
## 页脚
标签:AI安全, ATT&CK框架, Chat Copilot, Claude, CVE检测, DAST, DLL 劫持, DNS 反向解析, EMBER, Flask, Go语言工具, IOC提取, OpenAI, PE 加载器, PE文件分析, Python, SOC自动化, TCP/IP协议栈, 二进制分析, 云安全监控, 云安全运维, 内存规避, 大语言模型, 威胁情报, 安全运营, 开发者工具, 恶意软件分析, 扫描框架, 无后门, 机器学习分类, 网络信息收集, 网络安全, 网络安全平台, 自动化响应, 自动化报告生成, 逆向工具, 隐私保护, 静态分析