GurukiranShiv/MalScanIQ-AI-Malware-Triage-Detection-Platform
GitHub: GurukiranShiv/MalScanIQ-AI-Malware-Triage-Detection-Platform
一个面向 SOC 的 AI 驱动恶意软件分诊平台,通过机器学习、YARA 匹配和 ATT&CK 映射对 PE/ELF 文件进行静态分析,并生成分析师就绪的 JSON 调查报告与 AI 指导建议。
Stars: 0 | Forks: 0
# MalScanIQ : AI 驱动的恶意软件分诊与检测平台
一个面向 SOC 的恶意软件分诊平台,它使用机器学习、YARA 规则匹配、MITRE ATT&CK 映射、风险评分、结构化 JSON 报告以及人机协同的 AI 分析师助手,对 PE 和 ELF 文件执行**安全的静态分析**。
## 项目概述
该项目旨在支持 SOC 风格的可疑文件分诊工作流。平台不仅返回简单的 `malicious` 或 `benign` 标签,还会生成一份供分析师直接使用的报告,其中包含文件元数据、哈希值、YARA 匹配结果、ATT&CK 映射、ML 预测、严重程度、风险评分、AI 生成的摘要、误报考量以及下一步的调查步骤。
包含的演示文件是刻意安全的,用于在不使用真实恶意软件样本的情况下演示完整的工作流程。
## 主要功能
- PE 和 ELF 文件的静态分析
- 机器学习恶意软件分类
- 支持 PE 和 ELF 数据集的 Random Forest 模型
- 基于 YARA 的可疑模式匹配
- 针对可疑静态指标的 MITRE ATT&CK 映射
- SOC 风格的风险评分和严重性分类
- 提供分析师指导的 AI 恶意软件分诊助手
- AI 生成的执行摘要和推荐的后续步骤
- AI 生成的面向 Splunk、Elastic/KQL 和 Wazuh 的 SIEM 搜寻思路
- 结构化 JSON 报告生成
- 带有 Swagger 文档的 FastAPI 后端
- Streamlit 分析师仪表板
- 支持 Docker 和 Docker Compose
- 单元测试且项目结构适配 CI/CD
## 截图
### 单元测试通过

测试套件验证了项目的主要组件,包括扫描逻辑、AI 分诊输出、报告生成以及 API 导入行为。
### CLI 恶意软件扫描结果

命令行扫描器分析文件并返回预测结果、风险评分、严重程度、YARA 匹配结果、MITRE ATT&CK 映射、AI 摘要以及推荐调查步骤。
### FastAPI Swagger 文档

后端暴露了用于健康检查、文件扫描、已保存报告检索、AI 解释以及模型指标的 REST API endpoint。
### Streamlit 仪表板上传页面

Streamlit 仪表板提供了一个对分析师友好的界面,用于上传可疑文件进行静态分析。
### 仪表板扫描结果概览

结果概览显示了文件类型、预测结果、风险评分、严重程度、YARA 匹配结果、ATT&CK 映射以及初步的 AI 建议。
### AI 分析师指导

AI 助手使用 SOC 分析师的语言解释结果,并提供下一步的调查指导。
### 指标、ATT&CK 映射和 YARA 匹配

仪表板显示了影响评分的可疑指标、映射的 ATT&CK 技术以及匹配的 YARA 规则。
### 建议的 SIEM 搜寻

AI 助手生成示例搜寻逻辑,可支持 Splunk、Elastic/KQL 和 Wazuh 风格的调查。
### JSON 分析师报告

平台生成结构化的 JSON 报告,可用于 SOC 文档记录、富化工作流或未来的 SIEM 集成。
### 模型指标 Endpoint

模型指标 endpoint 暴露了 PE 和 ELF 恶意软件分类模型的性能摘要信息。
### 项目结构

该项目划分为不同模块,分别用于扫描、AI 分诊、静态分析、ML 模型、API 路由、仪表板、报告、规则、测试和部署文件。
## 项目架构
```
AI-Powered-Malware-Triage-Detection-Platform/
|
├── ai/
│ ├── triage_assistant.py # Human-in-the-loop AI analyst guidance
│ └── prompt_templates.py # Optional defensive LLM prompt template
|
├── app/
│ ├── main.py # FastAPI backend
│ └── scanner.py # Main scan workflow
|
├── core/
│ ├── attack_mapper.py # MITRE ATT&CK mapping
│ ├── elf_features.py # ELF feature extraction
│ ├── entropy.py # Entropy calculation
│ ├── file_utils.py # Hashing and file helpers
│ ├── pe_features.py # PE feature extraction
│ ├── report_generator.py # JSON report generation
│ ├── risk_engine.py # SOC-style risk scoring
│ ├── strings_analyzer.py # Suspicious string extraction
│ └── yara_scanner.py # YARA rule scanning
|
├── dashboard/
│ └── streamlit_app.py # Analyst dashboard
|
├── data/ # PE/ELF dataset files
├── ml/ # Training, prediction, and saved models
├── rules/ # YARA rules
├── sample_reports/ # Example JSON reports
├── samples/ # Safe demo sample only
├── screenshots/ # README screenshots
├── tests/ # Unit tests
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
└── README.md
```
## 工作原理
```
Suspicious file uploaded
↓
Static feature extraction
↓
Hashing, entropy, strings, PE/ELF metadata
↓
ML malware classification
↓
YARA rule matching
↓
MITRE ATT&CK mapping
↓
Risk scoring and severity classification
↓
AI analyst summary and next steps
↓
JSON report generation
```
## 模型摘要
| 模型类型 | 数据集重点 | 用途 |
|---|---|---|
| PE 模型 | Windows PE 二进制文件 | 使用提取的静态特征对 PE 文件进行分类 |
| ELF 模型 | Linux ELF 二进制文件 | 使用提取的静态特征对 ELF 文件进行分类 |
该平台将机器学习作为更广泛分诊工作流中的一个信号。最终决策基于模型输出、YARA 匹配、可疑指标、ATT&CK 映射和风险评分的综合结果。
## API Endpoint
| 方法 | Endpoint | 描述 |
|---|---|---|
| GET | `/health` | 检查 API 健康状况 |
| POST | `/scan/file` | 上传并扫描文件 |
| GET | `/reports/{scan_id}` | 获取已保存的扫描报告 |
| POST | `/ai/explain` | 为报告生成 AI 解释 |
| GET | `/ai/report/{scan_id}` | 为已保存的报告生成 AI 解释 |
| GET | `/metrics/model` | 查看模型指标摘要 |
FastAPI 文档可通过以下地址访问:
```
http://127.0.0.1:8000/docs
```
## 安装说明
### 1. 克隆代码库
```
git clone https://github.com/GurukiranShiv/AI-Powered-Malware-Triage-Detection-Platform.git
cd AI-Powered-Malware-Triage-Detection-Platform
```
### 2. 创建并激活虚拟环境
对于 Windows PowerShell:
```
python -m venv venv
venv\Scripts\activate
```
对于 Linux/macOS:
```
python3 -m venv venv
source venv/bin/activate
```
### 3. 安装依赖
```
pip install -r requirements.txt
```
### 4. 运行测试
```
pytest -q
```
预期结果:
```
7 passed
```
## 使用方法
### 运行 CLI 扫描器
```
python -m app.scanner --file samples/safe_dummy.txt --output sample_reports/safe_dummy_report.json
```
### 运行 CLI 扫描器并输出可选的 AI prompt
```
python -m app.scanner --file samples/safe_dummy.txt --output sample_reports/safe_dummy_report.json --include-ai-prompt
```
### 运行 FastAPI 后端
```
uvicorn app.main:app --reload
```
打开:
```
http://127.0.0.1:8000/docs
```
### 运行 Streamlit 仪表板
```
streamlit run dashboard/streamlit_app.py
```
打开:
```
http://localhost:8501
```
## Docker 使用方法
使用 Docker 构建并运行:
```
docker build -t ai-malware-triage-platform .
docker run -p 8000:8000 ai-malware-triage-platform
```
或使用 Docker Compose 运行:
```
docker compose up --build
```
## CLI 输出示例
```
{
"file": "safe_dummy.txt",
"type": "UNKNOWN",
"prediction": "unknown",
"malicious_probability": null,
"risk_score": 41,
"severity": "medium",
"yara_matches": [
"Suspicious_Command_Execution_Strings",
"Suspicious_Download_Or_Network_Strings"
],
"mitre_attack": [
"T1055 - Process Injection",
"T1059 - Command and Scripting Interpreter"
],
"recommendation": "Submit for deeper sandbox analysis and monitor endpoint activity for follow-on indicators."
}
```
## AI 助手设计
AI 助手被设计为**人机协同的 SOC 分析师辅助工具**。它不执行文件、删除文件、隔离主机或做出最终的事件响应决策。
它提供:
- 执行摘要
- 分析师解读
- 风险解释
- 误报考量
- 推荐的调查步骤
- SIEM 搜寻查询建议
- 人类可读的分诊指导
## 安全提示
- 此工具仅执行静态分析。
- 它不执行上传的文件。
- 请勿将真实恶意软件上传至 GitHub。
- 请勿在个人计算机上分析活跃的恶意软件。
- 对于可疑的真实世界样本,请使用隔离的恶意软件分析虚拟机。
- 包含的演示样本是安全的,仅包含用于演示的可疑字符串。
## 实际应用场景
本项目可用作以下方向的防御性安全概念验证 (PoC):
- SOC 恶意软件初步分诊
- 可疑文件富化
- 恶意软件特征提取研究
- YARA 规则测试
- AI 辅助的分析师报告生成
- SIEM 调查支持
- 事件响应文档记录
它无意取代企业级的 EDR、沙箱或威胁情报平台。在生产环境中,该项目可以通过添加身份验证、基于数据库的扫描历史记录、SIEM 导出、VirusTotal/哈希声誉富化以及隔离的沙箱集成来进行扩展。
## 未来改进
- 添加 API key 身份验证
- 添加基于数据库的扫描历史记录
- 添加 VirusTotal 哈希声誉富化
- 添加 Splunk、Elastic 和 Wazuh 导出格式
- 添加 STIX 2.1 报告导出
- 在隔离的实验室环境中添加可选的 CAPE/Cuckoo 沙箱集成
- 添加基于角色的访问控制
- 添加审计日志
- 添加更多 YARA 规则和 ATT&CK 映射
## 简历要点
```
Built an AI-powered SOC malware triage platform using Python, FastAPI, Streamlit, YARA, and machine learning to analyze PE/ELF files, extract static indicators, classify malware risk, map findings to MITRE ATT&CK, and generate analyst-ready JSON reports with AI-assisted investigation guidance.
```
## 免责声明
本项目仅用于防御性网络安全教育、研究和作品集演示。应负责任地使用,且仅在受控环境中使用。
标签:Apex, AV绕过, DAST, DNS 反向解析, FastAPI, Kubernetes, Streamlit, YARA, 云安全监控, 云资产可视化, 安全运营(SOC), 恶意软件分析, 机器学习, 访问控制, 请求拦截, 逆向工具, 静态分析