GuySananes/malware-sandbox

GitHub: GuySananes/malware-sandbox

基于 Docker 和 Python 的轻量级恶意软件行为分析沙箱,可在隔离环境中安全执行可疑文件并自动生成 HTML 监控报告。

Stars: 0 | Forks: 0

# 恶意软件分析沙箱 一个基于 Python 的沙箱,可在隔离的 Docker 容器内执行可疑文件,监控其行为,并生成详细的 HTML 报告。 ## 工作原理 1. 通过 Web UI 上传可疑文件 2. 文件在一次性 Docker 容器内执行 3. 执行期间有三个监控器同时运行: - **Filesystem(文件系统)** — 捕获文件创建、删除和修改操作 - **Network(网络)** — 捕获所有出站连接尝试 - **Processes(进程)** — 每 3 秒对所有生成的进程进行快照 4. 容器在 30 秒后销毁 —— 不留任何痕迹 5. 生成风险报告并在浏览器中显示 ## 项目结构 ``` malware-sandbox/ ├── container/ │ ├── Dockerfile # Sandbox environment definition │ └── fake_malware.sh # Test sample that simulates malware behavior ├── orchestrator/ │ ├── sandbox.py # Core logic: container lifecycle + monitoring │ ├── report.py # Log parsing and HTML report generation │ └── test_sandbox.py # CLI test script ├── ui/ │ └── app.py # Streamlit web interface └── reports/ # Generated HTML reports (git-ignored) ``` ## 环境要求 - Python 3.8+ - Docker ## 设置 ``` # Clone the repo git clone https://github.com/GuySananes/malware-sandbox.git cd malware-sandbox # Create and activate virtual environment python3 -m venv .venv source .venv/bin/activate # Install dependencies pip install docker streamlit ``` ## 使用方法 ### Web UI ``` streamlit run ui/app.py ``` 打开 http://localhost:8501,上传文件并点击 Run Sandbox Analysis。 ### 命令行 ``` cd orchestrator python3 test_sandbox.py ``` ## 安全设计 - 容器运行在 **仅限内部的 Docker 网络**(`internal=True`)上 —— 出站流量被阻止,但连接尝试仍会被 tcpdump 捕获 - 恶意软件样本在容器内以 **只读** 方式挂载 - 容器在执行后 **始终会被销毁**,即使沙箱崩溃也是如此 - 主机文件系统永远不会被样本触碰 ## 沙箱局限性 - 仅限行为分析 —— 无静态分析 - 无法检测内核级 rootkit - 30 秒的执行窗口可能会遗漏延迟触发器 - 容器逃逸(罕见)理论上可能到达主机
标签:AMSI绕过, DAST, Docker容器, HTML报告生成, Kubernetes, Python安全工具, Streamlit, Web安全界面, 威胁检测, 安全测试, 恶意样本分析, 恶意软件分析, 搜索语句(dork), 攻击性安全, 攻击面发现, 文件系统监控, 沙箱技术, 结构化查询, 网络安全, 网络流量捕获, 自动化安全, 行为监控, 访问控制, 请求拦截, 逆向工具, 隐私保护, 隔离环境