NATTOMR/Android-Malware-Detector--My-Final-Year-Project-2026-

GitHub: NATTOMR/Android-Malware-Detector--My-Final-Year-Project-2026-

一个结合静态与动态分析、使用随机森林和 XGBoost 进行共识判定的 Android 恶意软件检测平台,并提供 SHAP 可解释性可视化。

Stars: 1 | Forks: 0

# 混合 AI 驱动的 Android 恶意软件检测系统 [![Python 版本](https://img.shields.io/badge/python-3.14-blue.svg)](https://www.python.org/) [![框架](https://img.shields.io/badge/backend-Flask-lightgrey.svg)](https://flask.palletsprojects.com/) [![前端](https://img.shields.io/badge/frontend-Next.js%2016-black.svg)](https://nextjs.org/) [![许可证](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) 一个使用机器学习分类器(Random Forest 和 XGBoost)的混合静态与动态 Android 恶意软件分析平台。本项目作为毕业设计课题构建,旨在展示多模态移动安全验证。 ## 📐 系统架构 该平台执行双通道分析以判定恶意软件结论: ``` graph TD A[Upload APK File] --> B(Static Analysis Engine) A --> C(Dynamic Behavior Log Parser) B --> B1[Androguard Extraction] B1 --> B2[Permissions & API Vectors] C --> C1[Behavioral Signature Matches] B2 --> D[Machine Learning Models] C1 --> D D --> D1[Random Forest Predictor] D --> D2[XGBoost Predictor] D1 --> E[Hybrid Consensus Verdict] D2 --> E E --> F[Next.js Dashboard Display] ``` ## ✨ 功能 - **静态分析通道:** - 使用 **Androguard** 快速提取权限和 Android Manifest 属性。 - 审计 14 个高度敏感的 API 签名(例如 `sendTextMessage`、`getDeviceId`、`Runtime;->exec`)。 - 通过 **Jadx** 命令行集成实现可选的深度结构反编译。 - **动态分析通道:** - 实时日志解析以获取行为特征:检测异常的网络 socket 请求、文件写入和后台服务执行。 - **可解释 AI (XAI) 集成:** - 集成模型预测解释框架(SHAP)以可视化特征贡献。 - **现代用户界面:** - 使用 Tailwind CSS v4 设置样式并使用 Framer Motion 制作动画的完全响应式 Web 界面。 - 交互式历史记录、指标可视化和实时文件上传。 ## 📊 数据集与模型性能 - **数据集来源:** 从 **Androzoo** 获取的元数据和精选样本。 - **特征空间:** 21 维静态权限和 API 调用标志。 - **评估指标:** | 分类器 | 准确率 | 精确率 | 召回率 | F1 分数 | | :--- | :--- | :--- | :--- | :--- | | **Random Forest** | 94.2% | 93.8% | 94.5% | 94.1% | | **XGBoost** | 93.6% | 92.9% | 94.1% | 93.5% | *注意:系统实施了 **高召回率(混合)** 共识逻辑——如果任一模型将 APK 标记为恶意,它就会被归类为恶意软件,以最大程度地减少假阴性。* ## 🚀 设置与安装 ### 前置条件 - Python 3.10+ - Node.js 18+(用于前端) - Jadx(可选,用于深度扫描功能) ### 1. 运行后端 API 1. 导航至项目目录: cd android-malware-detector 2. 安装依赖项: pip install -r requirements.txt 3. 启动 Flask 应用: python app.py *后端将在 `http://127.0.0.1:5000` 启动。* ### 2. 运行 Next.js 前端 1. 导航至前端目录: cd android-malware-detector/frontend 2. 安装 Node 模块: npm install 3. 启动开发服务器: npm run dev *前端仪表板将可在 `http://localhost:3000` 访问。* ## 📁 仓库结构 - [android-malware-detector/app.py](android-malware-detector/app.py):后端 Flask 服务器。 - [android-malware-detector/frontend/src/app/page.tsx](android-malware-detector/frontend/src/app/page.tsx):前端 React 布局。 - [android-malware-detector/models/](android-malware-detector/models/):预训练权重(`.pkl` 文件)。 - [android-malware-detector/src/](android-malware-detector/src/):用于特征提取、预测和模型的源模块。 - [android-malware-detector/scripts/](android-malware-detector/scripts/):数据集设置和测试实用工具。 - [android-malware-detector/tests/](android-malware-detector/tests/):单元测试用例占位符。 ## 📜 许可证 基于 [MIT 许可证](LICENSE) 授权。
标签:Android安全, Apex, Flask, 云安全监控, 机器学习, 逆向工具, 静态分析