mdodakitabs/malware-sandbox
GitHub: mdodakitabs/malware-sandbox
一个基于 Flask 的轻量级多平台恶意软件分析沙箱,支持静态与动态分析并生成 JSON 报告,适用于安全研究与教学场景。
Stars: 0 | Forks: 0
# 🛡️ 恶意软件分析沙箱
一个基于 Flask 构建的多平台可疑文件(静态与动态)分析平台,提供简单的 Web 界面,并生成 JSON 格式的详细报告。
## ⚠️ 重要安全警告
该工具**并非真正的隔离环境**(既不是 VM 也不是 Docker 容器)。动态分析会直接在宿主机的普通 `sandbox/` 目录下执行文件。
- 仅将其用于已知性质的样本,或在教学/CTF 环境中使用。
- **请勿**在您的个人计算机或任何连接到生产或敏感网络的设备上**使用它来分析真实恶意软件**。
- 若需进行安全的实际应用:请在与网络隔离的虚拟机中运行,或者在具有受限权限的 Docker 容器(`--network=none`)中运行。这已纳入路线图规划(请参阅“未来开发”部分)。
## 当前功能
- **静态分析:**
- 计算哈希值:MD5 / SHA1 / SHA256
- 提取可打印字符串
- 检测可疑模式(URL、IP 地址、勒索软件指标、敏感的 Windows API 函数等)
- 通过 `pefile` 对 PE 文件 (Windows) 进行基础分析:节区、导入表、熵值
- 对 ELF 文件头 (Linux) 进行基础分析
- **动态分析:**
- 在本地 `sandbox/` 目录中执行文件
- 通过 `psutil` 监控子进程
- 监控开放的网络连接
- 通过 `watchdog` 监控文件系统更改(如果不可用则自动切换为轮询模式,例如在某些 Termux 环境中)
- **Web 界面:** 支持拖拽或点击上传,可选择分析类型,并直接展示 JSON 结果。
- **跨平台支持:** Linux、macOS、Windows、Termux (Android)。
## 项目结构
```
malware-sandbox/
├── src/
│ ├── utils.py # دوال مساعدة عامة (منصة، هاش، تشغيل أوامر آمن)
│ ├── static_analyzer.py # StaticAnalyzer
│ ├── dynamic_analyzer.py # DynamicAnalyzer
│ └── behavior_monitor.py # BehaviorMonitor (watchdog / polling)
├── web/
│ └── app.py # خادم Flask + HTML مدمج
├── tests/
│ └── test_static_analyzer.py # اختبارات pytest أساسية
├── reports/ # (تُنشأ محلياً، أو ~/malware_reports)
├── uploads/ # ملفات مرفوعة مؤقتاً (تُحذف بعد التحليل)
├── sandbox/ # مجلد التنفيذ أثناء التحليل الديناميكي
├── requirements.txt
├── install.sh
├── run.py # نقطة تشغيل بديلة مختصرة
└── README.md
```
## 安装说明
```
git clone <رابط-المستودع> malware-sandbox
cd malware-sandbox
chmod +x install.sh
./install.sh
```
`install.sh` 脚本会自动检测您使用的是 Linux、macOS 还是 Termux 系统,
随后安装系统依赖(`libmagic` 等),最后安装 `requirements.txt` 中的 Python 依赖。
### 手动安装(替代方案)
```
python3 -m venv .venv
source .venv/bin/activate # على Windows: .venv\Scripts\activate
pip install -r requirements.txt
```
## 运行方式
```
python web/app.py
```
然后在浏览器中打开:`http://127.0.0.1:5000`
或者使用快捷入口:
```
python run.py
```
## API 接口
| Endpoint | 描述 |
|-------------------------------|------------------------------------------|
| `GET /` | Web 界面 |
| `POST /api/analyze` | 上传并分析文件 (`file`, `mode`) |
| `GET /api/reports` | 获取已保存报告列表 |
| `GET /api/reports/` | 获取指定报告内容 |
可用的 `mode` 值:`static` / `dynamic` / `both`。
## 运行测试
```
pytest tests/ -v
```
## 未来开发 (v2.0)
- 集成 **YARA** 引擎进行签名检测(高优先级)。
- 将动态分析放在完全与网络隔离的 **Docker 容器** 中进行,以取代普通的本地目录——这是未来最重要的安全性提升。
- 集成 **VirusTotal API** 进行文件检查。
- 生成 HTML/PDF 格式的报告。
- 高级 Android APK 分析。
## 许可证与负责任的使用
本工具仅供教育和国防用途(分析、安全研究、CTF)使用。
用户在分析任何文件时,需负责遵守当地法律法规,并确保切勿在真实隔离环境之外执行真实的恶意样本。
标签:DAST, Flask, IP 地址批量处理, 云安全监控, 安全规则引擎, 恶意软件分析, 沙箱, 网络信息收集, 网络安全审计, 逆向工具, 静态分析