alisamir8898/ViroScope-V2
GitHub: alisamir8898/ViroScope-V2
基于RandomForest机器学习模型的本地PE文件恶意软件检测控制台,支持静态分析和可选的VirusTotal集成。
Stars: 0 | Forks: 0
# ViroScope — 恶意软件分诊控制台
一款用于检测可执行文件(.exe / .dll 等)的本地工具,它基于经训练的 Machine Learning 模型
(RandomForest)进行检测,并可选集成 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` 留空,应用程序仍会正常运行,只是会跳过 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, Ask搜索, DAST, Python, VirusTotal, 恶意软件分析, 无后门, 本地部署, 机器学习, 逆向工具