thevoidshell/xai-malware-classification
GitHub: thevoidshell/xai-malware-classification
利用随机森林、SHAP 和 LIME 对 EMBER 数据集进行可解释的恶意软件分类,并提供自定义的安全信任评分以辅助分析师决策。
Stars: 1 | Forks: 0
# 用于恶意软件检测的可解释 AI
一个专注于使用 **EMBER** 数据集构建稳健的恶意软件分类模型,并应用 **XAI (可解释 AI)** 技术来弥合黑盒模型预测与人类理解之间鸿沟的研究项目。
## 项目概述
恶意软件检测模型通常被视为“黑盒”。本项目演示了如何使用 **Random Forest Classifier** 以及 **SHAP** 和 **LIME** 来解释为什么文件会被标记为恶意文件。通过将模型置信度与解释一致性相结合,我们计算出一个 **Security Trust Score**,以帮助安全分析师做出明智的决策。
## 主要功能
- **数据流水线**:对 EMBER 恶意软件数据集进行向量化处理。
- **可解释性**:
- **全局**:使用 SHAP 摘要图来识别特征家族的影响。
- **局部**:使用 LIME 解释来解读单个文件的判定结果。
- **可靠性指标**:结合模型置信度和解释一致性而计算出的自定义 **Security Trust Score**。
## 可视化
| 特征重要性 | SHAP 全局摘要 |
|:---:|:---:|
|  |  |
**交互式分析**: 您可以[在此]([https://thevoidshell.github.io/xai-malware-classification/images/lime_explanation.html](https://thevoidshell.github.io/xai-malware-classification/images/lime_explanation.html))查看详细的、交互式的 LIME 解释。 ## 技术栈 - **语言**:Python - **ML 框架**:Scikit-Learn - **XAI 库**:SHAP、LIME - **可视化**:Matplotlib ## 安装说明 1. 克隆此仓库: git clone [https://github.com/](https://github.com/)[Rachel2004]/xai-malware-classification.git cd xai-malware-classification 2. 创建并激活虚拟环境: python -m venv malware_env # Linux/WSL: source malware_env/bin/activate # Windows: malware_env\Scripts\activate 3. 安装依赖项: pip install -r requirements.txt ## 数据集信息 本项目使用 **EMBER (Endgame Malware BEnchmark for Research)** 数据集。 * **注意**:由于大小限制,本仓库不包含原始数据集文件。请确保按照 EMBER 的结构将数据集放置在名为 `/dataset` 的文件夹中。 ## 经验教训 - 恶意软件数据集可能包含类别不平衡问题。 - SHAP 提供了比 LIME 更稳定的全局解释。 - 仅靠模型置信度不足以让分析师信任。 - 可解释性技术会增加计算开销。 ## 局限性 - EMBER 侧重于静态 PE 特征。 - 未分析恶意软件的动态行为。 - 解释结果可能因模型架构而异。 ## 许可证 在 MIT 许可证下分发。查看 `LICENSE` 获取更多信息。
**交互式分析**: 您可以[在此]([https://thevoidshell.github.io/xai-malware-classification/images/lime_explanation.html](https://thevoidshell.github.io/xai-malware-classification/images/lime_explanation.html))查看详细的、交互式的 LIME 解释。 ## 技术栈 - **语言**:Python - **ML 框架**:Scikit-Learn - **XAI 库**:SHAP、LIME - **可视化**:Matplotlib ## 安装说明 1. 克隆此仓库: git clone [https://github.com/](https://github.com/)[Rachel2004]/xai-malware-classification.git cd xai-malware-classification 2. 创建并激活虚拟环境: python -m venv malware_env # Linux/WSL: source malware_env/bin/activate # Windows: malware_env\Scripts\activate 3. 安装依赖项: pip install -r requirements.txt ## 数据集信息 本项目使用 **EMBER (Endgame Malware BEnchmark for Research)** 数据集。 * **注意**:由于大小限制,本仓库不包含原始数据集文件。请确保按照 EMBER 的结构将数据集放置在名为 `/dataset` 的文件夹中。 ## 经验教训 - 恶意软件数据集可能包含类别不平衡问题。 - SHAP 提供了比 LIME 更稳定的全局解释。 - 仅靠模型置信度不足以让分析师信任。 - 可解释性技术会增加计算开销。 ## 局限性 - EMBER 侧重于静态 PE 特征。 - 未分析恶意软件的动态行为。 - 解释结果可能因模型架构而异。 ## 许可证 在 MIT 许可证下分发。查看 `LICENSE` 获取更多信息。
标签:Apex, 人工智能, 可解释AI, 后端开发, 机器学习, 用户模式Hook绕过, 逆向工具