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 地址批量处理, 云安全监控, 安全规则引擎, 恶意软件分析, 沙箱, 网络信息收集, 网络安全审计, 逆向工具, 静态分析