Premahire07/malware_scanner
GitHub: Premahire07/malware_scanner
基于Flask构建的Web恶意软件扫描应用,通过VirusTotal API对上传文件和URL进行多引擎威胁检测与安全分析。
Stars: 0 | Forks: 0
# 🛡️ 恶意软件扫描器 — 文件与 URL 威胁检测系统
一个基于 Flask 构建的 Web 恶意软件扫描应用程序,使用 VirusTotal API 分析文件和 URL。
## 📁 文件夹结构
```
malware_scanner/
│
├── static/
│ ├── css/
│ │ └── styles.css
│ └── js/
│ └── main.js
│
├── templates/
│ └── index.html
│
├── uploads/ ← Temporary file storage
├── app.py ← Main Flask application
├── requirements.txt ← Python dependencies
├── Procfile ← Deployment config (Render)
├── .env.example ← Environment variable template
└── .gitignore
```
## ⚙️ 后端设置 (Flask App)
### 步骤 1 — 克隆仓库
```
git clone https://github.com/Premahire07/malware_scanner.git
cd malware_scanner
```
### 步骤 2 — 创建虚拟环境
```
python -m venv venv
# 激活它
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
```
### 步骤 3 — 安装依赖
```
pip install -r requirements.txt
```
### 步骤 4 — 配置环境变量
创建一个 `.env` 文件:
```
VT_API_KEY=your_virustotal_api_key
```
### 步骤 5 — 运行 Flask 服务器
```
python app.py
```
服务器将启动于:
```
http://127.0.0.1:5000
```
## 🔍 工作原理
| 步骤 | 流程 |
|-----|--------|
| 文件上传 | 用户上传文件 → 暂时保存 |
| 哈希处理 | 生成 SHA-256 哈希值 |
| API 检查 | 使用哈希值查询 VirusTotal |
| 扫描 | 如果未找到 → 上传文件进行扫描 |
| 结果 | 向用户返回威胁分析结果 |
## 🌐 URL 扫描流程
| 步骤 | 流程 |
|-----|--------|
| 输入 URL | 用户提交 URL |
| API 请求 | 发送至 VirusTotal |
| 分析 | 引擎扫描 URL |
| 结果 | 返回威胁报告 |
## 🔐 安全说明
- API 密钥使用环境变量存储
- `.env` 文件已被 GitHub 排除跟踪
- 文件在扫描后会被删除
- 仅接受允许的文件类型
## ⚠️ 限制
| 限制 | 详情 |
|----------|--------|
| API 速率限制 | 免费的 VirusTotal API 有请求限制 |
| 文件大小 | 最大上传 32MB |
| 扫描时间 | 新文件可能需要几秒钟时间 |
## 📄 许可证
MIT — 可免费使用和修改
标签:Flask, HTML/CSS/JS, Python, Render部署, SHA-256, URL安全分析, VirusTotal API, Web安全, 云部署, 哈希校验, 威胁情报, 安全分析工具, 开发者工具, 恶意软件扫描器, 文件上传, 文件威胁检测, 无后门, 渗透测试辅助, 环境变量配置, 网络安全, 网页爬虫, 蓝队分析, 逆向工具, 防病毒, 隐私保护