allsmog/detonate

GitHub: allsmog/detonate

开源自托管恶意软件分析沙箱,提供静态动态分析、威胁情报、AI 报告和 ATT&CK 映射的完整解决方案。

Stars: 0 | Forks: 0

# Detonate **开源恶意软件分析沙箱** —— [any.run](https://any.run) 的自托管替代方案。 提交文件或 URL,在隔离的 Docker/QEMU 沙箱中执行,并实时观察行为:进程树、网络流量、文件落地、MITRE ATT&CK 映射、AI 驱动的分析等。 ``` +------------------+ | Next.js 16 | | Frontend | +--------+---------+ | +--------+---------+ | FastAPI API | 75 endpoints | (async) | 12 DB tables +--+----+----+--+--+ | | | | +------+ +--+--+ | ++-------+ |Postgres|Redis | |MinIO |Ollama | 16 | 7 | |(S3) |(LLM) +--------+-----+ +---------++------+ | +---------+---------+ | Celery Workers | +--------+----------+ | +----------+----------+ | Sandbox Machinery | +-----+----------+----+ |Docker| |QEMU| |Linux | |Win | +------+ +----+ ``` ## 功能特性 ### 提交与静态分析 - 文件上传,支持自动哈希计算(SHA256/MD5/SHA1)、类型检测、MIME 识别 - URL 提交 —— 自动获取内容并创建提交 - PE 解析(导入表、导出表、节区、资源、数字签名、可疑指标) - ELF 头解析(类型、机器架构、入口点) - 字符串提取(ASCII + UTF-16LE)及 IOC 分类(URL、IP、邮箱、注册表键、文件路径) - Shannon 熵分析(整体 + 每节区) - YARA 扫描,内置 26 条规则(可疑字符串、加壳器、恶意软件指标) ### 动态分析(沙箱) - 基于 Docker 的 Linux 沙箱(Ubuntu 22.04 + strace + tcpdump + YARA) - 通过 strace clone/clone3 系统调用实现带有父子进程跟踪的进程树 - 网络抓包(PCAP),支持 DNS、TCP/UDP 连接、HTTP 主机提取 - 文件系统监控(通过文件系统差异检测创建/修改/删除的文件) - 实时 WebSocket 遥测流 - 针对捕获 PCAP 的 Suricata IDS 告警 - 可选截图(Xvfb + scrot)与视频录制(ffmpeg) - 通过 websockify 的交互式 VNC 会话 - Windows 沙箱基础设施(QEMU/KVM + Sysmon 客户端代理) - 可配置超时、网络隔离、机器池 ### MITRE ATT&CK 映射 - 26 条行为规则,将系统调用模式映射到 ATT&CK 技术 - 可选 LLM 增强分类以提高覆盖率 - 战术覆盖矩阵与置信度评分 - 技术目录浏览与搜索 ### 威胁情报 - **VirusTotal** —— 文件哈希、IP、域名信誉 - **AbuseIPDB** —— IP 滥用置信度评分 - **AlienVault OTX** —— 多指标 Pulse 情报 - **URLhaus** —— 恶意 URL/载荷数据库(无需 API 密钥) - **MalwareBazaar** —— 恶意软件样本情报(无需 API 密钥) - Redis 支持的缓存(1 小时 TTL)及按提供商的速率限制 ### AI 集成 - 提供商无关:**Ollama**(本地/开发)或 **Anthropic Claude**(生产) - 自动化行为摘要 - 带有判定/评分/置信度的威胁分类 - 具备工具使用能力的自主智能体分析 - 基于完整分析上下文的交互式聊天 - AI 驱动的综合威胁报告 - 基于 IOC 的相似提交关联 ### IOC 导出 - 从分析结果中自动提取 IP、域名、URL、哈希、文件路径 - **STIX 2.1** 包导出 - **CSV** 导出(包含类型/值/上下文列) - **JSON** 结构化导出 ### 报告 - AI 生成的 Markdown 威胁报告 - 自包含 HTML 报告(无外部依赖) - CSV IOC 报告 - 每个提交可下载的报告 ### 搜索与仪表板 - 跨哈希、文件名、标签的全文搜索 - 高级过滤器:判定、文件类型、标签、评分范围、日期范围、分析状态 - 支持分页的可排序结果 - 分析仪表板:提交统计、判定分布、时间轴、热门文件类型、热门标签、热门 IOC ### 认证与协作 - JWT 认证 + API 密钥支持 - 用户注册、登录、个人资料管理 - 团队/组织管理及基于角色的成员资格 - 提交评论,支持编辑/删除 - 自动打标签(16 条行为规则 + 文件类型检测) - Webhook 通知,支持 HMAC-SHA256 签名 ### 管理 - YARA 规则管理(通过 API 上传、验证、编辑、删除) - 机器池管理(扩缩容、健康检查) - 功能开关及配置状态端点 - Celery 任务监控 ## 快速开始 ### 前置条件 - Docker & Docker Compose - Python 3.12+ 及 [uv](https://docs.astral.sh/uv/) - Node.js 20+ 及 [pnpm](https://pnpm.io/) ### 设置 ``` # Clone git clone https://github.com/allsmog/detonate.git cd detonate # 启动基础设施 (PostgreSQL, Redis, MinIO, Ollama) make services # 安装依赖,运行 migrations make setup # 拉取 AI model make ollama-pull # 构建 sandbox Docker 镜像 make sandbox-build # 启动 API + frontend make dev ``` 应用可通过以下地址访问: - **前端**: http://localhost:3000 - **API**: http://localhost:8000 - **API 文档**: http://localhost:8000/docs ### 运行 Celery Worker 动态分析需要一个 Celery worker: ``` cd api PYTHONPATH="$(pwd)/..:$(pwd)" uv run celery -A worker.app:celery_app worker \ -l info -Q dynamic,static,ai,enrichment -c 2 ``` ### 环境变量 将 `.env.example` 复制到 `.env` 并进行配置: ``` # Required POSTGRES_PASSWORD=detonate REDIS_URL=redis://127.0.0.1:6379/0 # AI (任选其一) LLM_PROVIDER=ollama # or "anthropic" ANTHROPIC_API_KEY=sk-ant-... # if using Anthropic # Threat Intelligence (可选,均为免费套餐) VIRUSTOTAL_API_KEY=... ABUSEIPDB_API_KEY=... OTX_API_KEY=... # Auth (可选) AUTH_ENABLED=false JWT_SECRET_KEY=change-me-in-production # Features (可选) SCREENSHOTS_ENABLED=false SURICATA_ENABLED=false SANDBOX_POOL_ENABLED=false ``` ## 系统架构 | 组件 | 技术栈 | 用途 | |-----------|------|---------| | **API** | FastAPI (Python 3.12) | 75 个 REST 端点, WebSocket 遥测, SSE 流 | | **Frontend** | Next.js 16, React 19, Tailwind 4, shadcn/ui v4 | 支持实时更新的 SPA | | **Database** | PostgreSQL 16, SQLAlchemy 2.0 async, Alembic | 12 张表, JSONB 存储结果 | | **Storage** | MinIO (兼容 S3) | 样本、PCAP、截图、视频 | | **Cache/Broker** | Redis 7 | Celery broker, 威胁情报缓存, 速率限制, pub/sub | | **Workers** | Celery | 动态分析、AI 任务、威胁情报富化 | | **AI** | Ollama / Anthropic Claude | 摘要、分类、聊天、报告 | | **Linux Sandbox** | Docker (Ubuntu 22.04) | strace, tcpdump, YARA, Xvfb, scrot, ffmpeg, x11vnc | | **Windows Sandbox** | QEMU/KVM + libvirt | Sysmon 监控, HTTP guest agent | | **IDS** | Suricata | 使用 ET Open 规则进行离线 PCAP 分析 | ## API 概览 ``` POST /api/v1/submit File upload POST /api/v1/submit-url URL submission GET /api/v1/submissions List submissions GET /api/v1/submissions/{id} Get submission GET /api/v1/submissions/{id}/static Static analysis (PE/ELF/strings/entropy) POST /api/v1/submissions/{id}/analyze Start dynamic analysis GET /api/v1/submissions/{id}/analyses/{id} Get analysis results POST /api/v1/submissions/{id}/analyses/{id}/mitre MITRE ATT&CK mapping GET /api/v1/submissions/{id}/threat-intel Threat intel enrichment GET /api/v1/submissions/{id}/iocs Extract IOCs GET /api/v1/submissions/{id}/iocs/stix STIX 2.1 export POST /api/v1/submissions/{id}/ai/summarize AI summarization POST /api/v1/submissions/{id}/ai/report AI threat report GET /api/v1/search?q=...&verdict=... Advanced search GET /api/v1/dashboard/stats Analytics dashboard POST /api/v1/auth/register User registration POST /api/v1/auth/login JWT login ...and 60+ more endpoints ``` 运行时可在 `/docs` 查看完整的 OpenAPI 文档。 ## 开发 ``` make api # Start FastAPI dev server (port 8000) make frontend # Start Next.js dev server (port 3000) make services # Start Docker infrastructure make migrate # Run Alembic migrations make migration msg="description" # Create new migration make test-api # Run pytest make lint # Ruff + ESLint make format # Ruff format + Prettier make sandbox-build # Build Linux sandbox image make suricata-build # Build Suricata IDS image make mitre-pull # Download MITRE ATT&CK dataset make ollama-pull # Pull Ollama AI model ``` ## 许可证 MIT
标签:AI风险缓解, any.run替代, ATT&CK映射, AV绕过, CELERY, DAST, Docker, ELF解析, FastAPI, HTTP工具, IP 地址批量处理, LLM评估, Metaprompt, MinIO, Ollama, PE解析, PostgreSQL, Python, QEMU, Redis, URL分析, YARA, 云安全监控, 云资产可视化, 交互式沙箱, 内联执行, 大模型, 威胁情报, 安全防御评估, 开发者工具, 开源, 异步API, 恶意软件分析, 搜索引擎查询, 数字签名检测, 数据包嗅探, 文件上传, 无后门, 沙箱, 测试用例, 网络信息收集, 网络安全, 网络安全审计, 网络流量分析, 自托管, 请求拦截, 逆向工具, 速率限制处理, 隐私保护, 静态分析