MirAb-77/Mal-Vision-AI

GitHub: MirAb-77/Mal-Vision-AI

结合 PE 静态分析与 CNN 图像分类的恶意软件检测系统,集成可解释 AI 与 VirusTotal 威胁情报,面向 SOC 模拟与安全研究。

Stars: 1 | Forks: 0



# 💀 MalwareVision AI ### 下一代网络威胁情报与 SOC 模拟引擎 *PE 静态分析 · CNN 图像分类 · 可解释 AI · VirusTotal 集成 · 自动化取证报告*
[⚡ 快速开始](#-installation) · [🧠 架构](#-system-architecture) · [📊 模型性能](#-model-performance) · [🔍 可解释性](#-explainable-ai-core) · [🤝 贡献](#-contributing)
## 📌 概述 **MalwareVision AI** 是一个生产级网络威胁情报平台,用于模拟真实的**安全运营中心 (SOC)**。它将两个独立的 AI 检测引擎——静态 PE 特征分析和基于 CNN 的恶意软件图像分类——融合到一个统一的决策 pipeline 中,并辅以可解释 AI 和实时的 VirusTotal 威胁情报。 专为网络安全研究人员、SOC 培训环境和 AI 可解释性研究而构建。 | 能力 | 技术 | |-----------|-----------| | 🧬 PE 静态分析 | 基于提取的 PE 头部信息的 Scikit-Learn 分类器 | | 🖼️ CNN 图像分类 | 基于二进制可视化图像的 TensorFlow/Keras | | 🔀 融合决策引擎 | 两个模型的加权集成投票 | | 🔍 可解释性层 | 每次预测的 SHAP(全局)+ LIME(局部)| | 🌐 威胁情报 | VirusTotal API 丰富与验证 | | 📋 取证报告 | 自动化事件报告生成 | ## 🧠 系统架构 ### 检测 Pipeline ``` 🟢 INPUT FILE (PE / EXE / DLL) │ ▼ ┌───────────────────────────────┐ │ FEATURE EXTRACTION LAYER │ │ PE Headers · Imports · Entropy│ └───────────┬───────────────────┘ │ ┌──────┴──────┐ ▼ ▼ ┌─────────┐ ┌──────────┐ │ PE │ │ CNN │ │CLASSIFIER│ │ IMAGE │ │(Sklearn)│ │CLASSIFIER│ └────┬────┘ └────┬─────┘ │ │ └──────┬───────┘ ▼ ┌───────────────────────────────┐ │ FUSION DECISION ENGINE │ │ Ensemble · Confidence Score │ └───────────┬───────────────────┘ │ ▼ ┌───────────────────────────────┐ │ EXPLAINABILITY LAYER (XAI) │ │ SHAP · LIME · Forensic│ └───────────┬───────────────────┘ │ ▼ ┌───────────────────────────────┐ │ THREAT INTEL ENRICHMENT │ │ VirusTotal API · Hash DB │ └───────────┬───────────────────┘ │ ▼ ┌───────────────────────────────┐ │ SOC DASHBOARD OUTPUT │ │ Alert · Report · Risk Score │ └───────────────────────────────┘ ``` ### 架构图 ![系统架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/8ee10effaa161308.png) ## 📊 模型性能 ### 🖼️ CNN 图像分类器 | 指标 | 得分 | |--------|-------| | Accuracy | **87.1%** | | Precision | **94.1%** | | Recall | **88.0%** | | F1 Score | **87.5%** | | ROC-AUC | **93.5%** | ### 🧬 PE 静态分类器 | 指标 | 得分 | |--------|-------| | Accuracy | **98.1%** | | Precision | **97.6%** | | Recall | **94.1%** | | F1 Score | **98.1%** | | ROC-AUC | **96.1%** | ## 🔍 可解释 AI 核心 MalwareVision 集成了一个三层 XAI pipeline,以确保每个预测都是可审计和可解释的——而不是一个黑盒。 ### SHAP — 全局特征归因 ![SHAP](https://img.shields.io/badge/SHAP-Feature_Attribution-8A2BE2?style=for-the-badge) - 映射所有预测的全局特征贡献 - 识别哪些 PE 特征(imports、entropy、section sizes)最强烈地驱动恶意软件分类 - 为威胁模式分析提供系统性的行为洞察 ### LIME — 局部单样本解释 ![LIME](https://img.shields.io/badge/LIME-Local_Explainability-00C853?style=for-the-badge) - 为每个单独的文件预测生成局部线性解释 - 显示哪些特定特征促使模型趋向于恶意或良性判断 - 单样本决策透明度——对分析师审查工作流至关重要 ### 取证追踪引擎 ![FORENSIC](https://img.shields.io/badge/FORENSIC-Decision_Tracing-FF6D00?style=for-the-badge) - 从原始输入到最终分类的逐步预测审计追踪 - 将特征 pipeline 中的每次转换映射到输出决策 - 生成可审计的推理日志,以用于合规和事件响应 ### 可解释性框架 ![可解释性框架](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/9f50cbe1d0161320.png) ## 🖥️ SOC 仪表板 — Streamlit 前端 一个多页面的深色主题 Streamlit 仪表板,旨在模拟真实的安全运营中心界面。 ### 仪表板页面 ``` app.py ← Entry point & navigation │ ├── 🏠 Home System status · Module health · Quick scan ├── 🔍 File Analysis Upload · PE extraction · Dual model inference ├── 🧠 Explainability SHAP plots · LIME breakdown · Forensic trace ├── 🌐 Threat Intelligence VirusTotal enrichment · Hash lookup · IOC feed ├── 📊 SOC Dashboard Live alert feed · Detection timeline · Risk map └── 📋 Reports Automated incident report · Export PDF / JSON ``` ### UI 亮点 - **深色赛博朋克 SOC 主题** — 霓虹蓝/绿强调色调 - **实时攻击模拟信息流** — 动画 SOC 警报关流 - **双模型置信度条** — PE 与 CNN 得分并排显示 - **SHAP 瀑布图与蜂群图** 内联渲染 - **LIME 特征重要性面板** 带颜色编码的影响 - **一键报告导出** — PDF 和 JSON 事件报告 - **VirusTotal 丰富面板** — 供应商检测、文件信誉 ## 📂 项目结构 ``` malwarevision/ │ ├── app.py ← Streamlit entry point & page router │ ├── views/ │ ├── home.py ← System status & quick scan │ ├── analysis.py ← File upload & dual model inference │ ├── explainability.py ← SHAP + LIME + forensic trace panels │ ├── threat_intel.py ← VirusTotal enrichment dashboard │ ├── soc_dashboard.py ← Live alert feed & detection timeline │ └── reports.py ← Incident report generation & export │ ├── models/ │ ├── pe_classifier.pkl ← Trained PE static model │ ├── cnn_model.h5 ← Trained CNN image model │ └── feature_scaler.pkl ← Feature normalisation scaler │ ├── utils/ │ ├── pe_extractor.py ← PE header & section feature extraction │ ├── image_converter.py ← Binary → visualisation image converter │ ├── fusion_engine.py ← Ensemble decision combiner │ ├── xai_engine.py ← SHAP + LIME computation │ ├── virustotal.py ← VirusTotal API client │ └── report_generator.py ← Automated incident report builder │ ├── assets/ ← Static images, icons, CSS ├── requirements.txt └── README.md ``` ## ⚙️ 安装 ### 前提条件 - Python 3.8+ - pip - VirusTotal API key (提供免费层) - 虚拟环境(推荐) ### 1 — 克隆仓库 ``` git clone https://github.com/your-username/MalwareVision-AI.git cd MalwareVision-AI ``` ### 2 — 创建虚拟环境 ``` python -m venv venv source venv/bin/activate # Linux / macOS venv\Scripts\activate # Windows ``` ### 3 — 安装依赖 ``` pip install -r requirements.txt ```
核心依赖 ``` streamlit>=1.32.0 tensorflow>=2.12.0 scikit-learn>=1.3.0 shap>=0.44.0 lime>=0.2.0 pandas>=2.0.0 numpy>=1.24.0 plotly>=5.18.0 pefile>=2023.2.7 requests>=2.31.0 Pillow>=10.0.0 matplotlib>=3.7.0 ```
### 4 — 配置 VirusTotal API ``` # 在项目根目录中创建 .env 文件 echo "VIRUSTOTAL_API_KEY=your_api_key_here" > .env ``` ### 5 — 运行仪表板 ``` streamlit run app.py ``` 在浏览器中打开 `http://localhost:8501`。 ## 🛡️ 安全定位 MalwareVision AI 专为以下用例设计: | 用例 | 描述 | |----------|-------------| | 🔬 研究实验室 | 使用可解释 AI 进行恶意软件分析 | | 🏫 学术演示 | 关于 AI 安全的 FYP / 论文答辩 | | 🎓 SOC 培训 | 实操威胁响应模拟 | | 🧪 ML 安全 | 在恶意软件数据上对 XAI 方法进行基准测试 | | 🏭 工业 PoC | 企业端点安全的原型 | ## 🚀 路线图 - [ ] 实时恶意软件信息流集成 (MalwareBazaar API) - [ ] 用于文件系统监控的真实 endpoint agent - [ ] 基于图的威胁情报网络 (GNN) - [ ] 对抗性恶意软件鲁棒性测试 - [ ] 云 SOC 部署 (Docker + AWS/GCP) - [ ] 多家族恶意软件分类(超越二元分类) ## 🔐 许可证 本项目基于 **MIT License** 授权 — 详情请参阅 [LICENSE](LICENSE)。
标签:Apex, Kubernetes, PE文件分析, TensorFlow, 可解释AI, 威胁情报, 开发者工具, 机器学习, 逆向工具