Noof-Isa/Backend_ML_Malware-Detection-and-Analysis
GitHub: Noof-Isa/Backend_ML_Malware-Detection-and-Analysis
基于FastAPI和XGBoost的恶意软件检测后端API,通过提取PE文件特征并进行机器学习推理来判断文件是否恶意。
Stars: 0 | Forks: 2
# ⚙️ 恶意软件检测系统 — 后端 API
## 📖 项目描述
本模块作为恶意软件检测系统的后端 API。
该后端负责:
- 接收上传的 PE 文件
- 验证可执行文件格式
- 提取与恶意软件相关的特征
- 运行机器学习推理
- 返回恶意软件预测结果
- 使用 MongoDB 管理扫描历史记录
该 API 使用 FastAPI 开发,旨在提供前端与机器学习模块之间高性能的异步通信。
## ✨ 后端特性
- 上传并扫描 PE 文件 (`.exe`、`.dll`、`.sys`)
- RESTful API 架构
- FastAPI 异步后端
- 集成已训练的机器学习模型
- MongoDB 数据库集成
- 文件验证与错误处理
- 扫描结果处理
- 支持用于前端通信的 CORS
## 🧰 使用的技术
本模块使用了以下技术和库:
- **Python** – 核心后端编程语言
- **FastAPI** – 现代高性能 API 框架
- **Uvicorn** – FastAPI 的 ASGI 服务器
- **MongoDB** – 用于存储扫描数据的 NoSQL 数据库
- **PyMongo** – MongoDB 数据库集成
- **scikit-learn** – 机器学习模型加载
- **XGBoost** – 恶意软件预测模型
- **joblib** – 模型序列化
- **pefile** – PE 文件解析与分析
- **python-multipart** – 文件上传处理
## ⚙️ 系统功能
后端工作流程如下:
1. 前端将 PE 文件上传至 API。
2. 后端验证上传文件的类型。
3. 从可执行文件中提取 PE 特征。
4. 将提取的特征传递给已训练的机器学习模型。
5. 模型预测该文件是恶意的还是安全的。
6. 将结果返回给前端并存储在 MongoDB 中。
## 🧪 API 测试 — FastAPI Swagger UI
后端 API 使用内置的 FastAPI Swagger UI 界面进行了测试。
`/scan` 端点允许用户通过 API 测试环境直接上传 PE 文件并接收恶意软件预测结果。
标签:AMSI绕过, Apex, AV绕过, DAST, FastAPI, MongoDB, PE文件解析, Python, RESTful API, sklearn, Uvicorn, Web安全, XGBoost, 二进制分析, 云安全运维, 人工智能安全, 可执行文件分析, 合规性, 后端API, 威胁检测, 异步编程, 恶意软件分析, 提示词优化, 文件上传, 无后门, 机器学习, 模型推理, 网络信息收集, 网络安全, 蓝队分析, 逆向工具, 隐私保护