alisamir8898/ViroScope-V3
GitHub: alisamir8898/ViroScope-V3
一款基于 RandomForest 机器学习模型的本地恶意软件静态分诊工具,支持 PE 文件批量扫描与 VirusTotal 集成。
Stars: 0 | Forks: 0
# ViroScope — 恶意软件分诊控制台
一款用于使用经过训练的 Machine Learning 模型
(RandomForest) 扫描可执行文件(.exe / .dll 等)的本地工具,并提供与 VirusTotal 的可选集成。它完全在您的本机(localhost)上运行,除了您启用的
VirusTotal 选项外,不会向任何外部服务器上传文件。
## 环境要求
- Python 3.10 或更高版本
- 仅在首次安装库以及使用 VirusTotal 服务(如果您使用的话)时需要网络连接
## 安装(只需一次)
在项目文件夹中打开 Terminal / Command Prompt,并执行:
```
# 1. 创建虚拟环境(推荐,非强制)
python -m venv venv
# 激活环境:
# 在 Windows 上:
venv\Scripts\activate
# 在 macOS/Linux 上:
source venv/bin/activate
# 2. 安装库
pip install -r requirements.txt
```
## 配置 VirusTotal API 密钥(可选,但推荐)
1. 复制 `.env.example` 文件并命名为 `.env`:
cp .env.example .env # macOS/Linux
copy .env.example .env # Windows
2. 打开 `.env` 并填入您的密钥:
VT_API_KEY=在此处填入您的密钥
3. 保存文件。
如果您将 `VT_API_KEY` 留空,app 仍会正常运行,但不会进行 VirusTotal 扫描(本地模型
依然会正常工作)。
## 运行
```
python app.py
```
您将在 Terminal 中看到:
```
ViroScope — Malware Triage Console
Running locally at http://127.0.0.1:5000
```
在浏览器中访问:**http://127.0.0.1:5000**
如需停止:在 Terminal 中按 `Ctrl + C`。
## 项目结构
```
viroscope/
├── app.py # نقطة الدخول الرئيسية (Flask routes)
├── feature_extraction.py # استخراج الـ 23 feature من ملفات PE
├── predictor.py # تحميل الموديل + التنبؤ
├── vt_scanner.py # تكامل VirusTotal API v3
├── database.py # تخزين السجل التاريخي (SQLite)
├── malwareclassifier-V2.pkl # الموديل المدرَّب (RandomForest)
├── requirements.txt
├── .env.example
├── templates/ # صفحات HTML
├── static/css/style.css # التصميم
├── uploads/ # تخزين مؤقت للملفات أثناء الفحص (يُحذف تلقائيًا بعد كل فحص)
└── instance/viroscope.db # قاعدة بيانات السجل التاريخي (تُنشأ تلقائيًا)
```
## 可用页面
| 页面 | 描述 |
|---|---|
| `/` | Dashboard — 总体统计数据和最近的扫描 |
| `/scan` | 扫描单个文件 |
| `/batch` | 批量扫描多个文件 |
| `/history` | 包含搜索过滤器的完整历史记录 |
## 重要安全提示
- 该模型仅扫描 **PE 文件**(.exe, .dll, .sys, .scr, .ocx, .cpl, .drv)。任何其他类型的文件
都将被自动拒绝。
- 上传的文件在分析完成后会立即从服务器上删除——不会对文件本身进行永久存储,
只有分析结果数据(hash, verdict, confidence)会被保存在历史记录中。
- 在测试期间,绝不要在您的计算机上运行真实的恶意可执行文件——ViroScope 是在不运行文件的情况下对其进行
静态分析(static analysis)。
标签:Apex, DAST, DNS 反向解析, Python, 恶意软件分析, 无后门, 无服务器架构, 机器学习, 调试辅助, 逆向工具