RonXIII/Virus-Analysis-Platform
GitHub: RonXIII/Virus-Analysis-Platform
一个离线优先的综合恶意软件分析平台,集成了静态分析、机器学习检测和多来源样本获取能力,支持本地训练和扫描恶意文件。
Stars: 0 | Forks: 0
1. 🛡️ 病毒分析平台
2. ✨ 功能
3. 📋 前置条件
4. 🚀 安装说明
5. 🧪 快速开始
6. 🏗️ 构建 .exe
7. 🔐 配置文件与安全
8. 📂 项目结构
9. 🧰 依赖项
10. ⚠️ 重要提示
11. 🤝 贡献
12. 🙏 鸣谢
13. 📬 联系方式
14. 📄 许可证
15. ⭐ 支持项目
16. 📌 版本历史
17. 🚀 路线图
# 🛡️ 病毒分析平台
一个全面且离线优先的恶意软件分析平台,具备静态分析和基于机器学习的检测功能、安全的配置文件管理,以及多来源恶意软件获取能力。
## ✨ 功能
- **静态分析** – YARA 规则扫描 + PE 头分析 + 熵与字节 n-gram 特征提取
- **机器学习** – 随机森林 (scikit-learn) 和可选的 CNN (TensorFlow) 用于高级检测
- **安全配置文件** – 加密 API key 存储,并带有受密码保护的登录
- **多来源下载** – 从 MalwareBazaar、TheZoo (GitHub) 和 MalShare 获取样本
- **自动解压** – 使用 7-Zip 作为后备方案处理 LZMA 压缩的 ZIP 文件
- **训练界面** – 直接从 GUI 重新训练模型,无需接触命令行
- **离线优先** – 无云依赖;所有分析均在本地进行
- **实时进度** – 带有完成百分比的训练和下载进度条
- **模型状态** – 查看您的模型上次更新的时间
## 📋 前置条件
| 需求 | 版本 / 备注 |
|-------------|-----------------|
| **Python** | 3.13(如果使用 TensorFlow 则为 3.12) |
| **RAM** | 最低 4 GB(CNN 训练推荐 8 GB) |
| **存储** | 1 GB+(用于存储恶意软件样本和训练好的模型) |
| **7‑Zip** | 解压 LZMA 压缩样本所需 |
| **操作系统** | Windows 10 / 11(64 位) |
## 🚀 安装说明
1. 克隆仓库:
git clone https://github.com/RonXIII/virus-analysis-platform.git
cd virus-analysis-platform
2. 创建虚拟环境(推荐):
python -m venv venv
venv\Scripts\activate
3. 安装依赖项:
pip install -r requirements.txt
4. 运行应用程序:
python gui_main.py
## 🧪 快速开始
1. **创建配置文件** – 首次启动时,点击“创建账户”并设置用户名和密码。
2. **下载样本** – 转到“下载”选项卡,选择一个来源,然后点击“下载”。
3. **训练模型** – 在“训练”选项卡中,指定您的恶意软件和良性文件夹,然后点击“训练 RF”或“训练 CNN”。
4. **扫描文件** – 使用“扫描”选项卡分析可疑文件。
## 🏗️ 构建 `.exe`
```
pyinstaller virus_scanner.spec
```
输出文件将位于 `dist/VirusScanner/` 中。应用程序使用 `onedir` 模式,以便 `profiles.db` 保持可写状态,从而保存 API key。
## 🔐 配置文件与安全
配置文件本地存储在 `profiles.db` (SQLite) 中。API key 使用 Fernet (AES) 进行加密,密钥由您的密码派生。密码经过加盐和哈希处理——绝不以明文形式存储。`profiles.db` 文件会被 Git 忽略——您的密钥永远不会被暴露。
## 📂 项目结构
```
virus-analysis-platform/
├── gui_main.py # Main GUI application
├── profile_manager.py # Profile & API key encryption
├── gui_downloaders.py # Malware downloaders
├── config.py # Configuration
├── requirements.txt # Python dependencies
├── virus_scanner.spec # PyInstaller build spec
├── core/
│ ├── __init__.py
│ ├── scanner.py # Main scanner orchestrator
│ ├── yara_engine.py # YARA rule engine
│ ├── ml_detector.py # Random Forest detector
│ ├── deep_ml.py # CNN detector (optional)
│ ├── anti_evasion.py # Anti-debugging/VM detection
│ └── reporting.py # Report generator
├── rules/
│ └── yara/
│ └── malware.yar # Sample YARA rules
├── templates/
│ └── report.html # Report template
└── models/ # Trained models (created by user)
```
## 🧰 依赖项
| 包 | 用途 |
|---------|---------|
| `scikit-learn` | 随机森林机器学习检测 |
| `tensorflow` | CNN 深度学习(可选) |
| `pefile` | PE 头解析 |
| `yara-python` | YARA 规则扫描 |
| `cryptography` | 安全 API key 加密 |
| `requests` | 用于下载的 HTTP 请求 |
| `Pillow` | GUI 图标支持 |
| `pyinstaller` | 构建 `.exe` |
有关完整列表,请参见 `requirements.txt`。
## ⚠️ 重要提示
- **恶意软件样本**非常危险——务必在隔离的虚拟机内处理它们。
- 必须安装 **7-Zip** 才能解压 LZMA 压缩的 ZIP 文件。
- **TensorFlow** 是可选的——如果您不需要 CNN 训练,请在 `requirements.txt` 中将其注释掉,以保持 `.exe` 体积较小。
- **PDF 报告**要求系统安装了 `wkhtmltopdf`。如果未安装,则仅生成 HTML 报告。
- **不要将恶意软件样本**包含在良性文件夹中——这会使模型产生混淆。
## 📬 联系方式
- **作者:** Aaron Chuah
- **GitHub:** [RonXIII](https://github.com/RonXIII)
- **电子邮件:** [Tiongenxiii@gmail.com](mailto:Tiongenxiii@gmail.com)
对于安全漏洞,请**不要**创建公开的 issue。请直接通过 GitHub(私信)或电子邮件联系作者。
如有一般性问题、功能请求或讨论,欢迎提交 issue 或与我们取得联系。
## 📄 许可证
本项目基于 MIT 许可证授权。
```
MIT License
Copyright (c) 2026 Aaron Chuah
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
## 📌 版本历史
| 版本 | 日期 | 更改 |
|---------|------|---------|
| v4.0 | 2026 年 6 月 | 完全重写,包含配置文件系统、多来源下载器和增强的 GUI |
| v3.0 | 2026 年 5 月 | 添加了 CNN 训练和 7-Zip 后备方案 |
| v2.0 | 2026 年 4 月 | 添加了 YARA 和随机森林检测 |
| v1.0 | 2026 年 3 月 | 初始发布 |
## 🚀 路线图
未来版本计划推出的功能:
- [ ] 支持 ELF 和 Mach-O 二进制文件
- [ ] 集成 VirusTotal API
- [ ] 集成基于云的沙箱
- [ ] 从机器学习结果自动生成 YARA 规则
- [ ] 以 STIX/TAXII 格式导出结果
- [ ] 多语言支持(GUI 翻译)
- [ ] 深色/浅色主题切换
- [ ] 多文件批量扫描
- [ ] 定期安排模型重新训练
**感谢您使用病毒分析平台!** 🛡️
保持安全,分析愉快!🔍
标签:Apex, DAST, Python, YARA, 云安全监控, 云资产可视化, 恶意软件分析, 无后门, 机器学习, 漏洞挖掘, 逆向工具, 静态分析