aur3lius-marcu5/REVA-X-Sentinel

GitHub: aur3lius-marcu5/REVA-X-Sentinel

AI 驱动的恶意软件引爆与威胁情报分析平台,通过静态分析、动态沙箱、AI 分类和自动报告四个阶段实现端到端的样本分析。

Stars: 0 | Forks: 0

# ⚡ REVA-X Sentinel **AI 驱动的恶意软件引爆与威胁情报平台** [![Go](https://img.shields.io/badge/Go-1.22%2B-00ADD8?logo=go)](https://go.dev/) [![Python](https://img.shields.io/badge/Python-3.11%2B-3776AB?logo=python)](https://python.org/) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![PRs](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](#contributing)

上传可疑文件 —— 获取包含行为分析、 AI 分类、MITRE ATT&CK 映射以及交互式可视化的结构化威胁报告。

## ✨ 核心功能 ### 🔬 4 阶段分析 Pipeline | 阶段 | 功能说明 | |---|---| | **静态分析** | PE/APK 解析、熵分析、反调试检测、YARA 扫描、IOC 提取 | | **动态沙箱** | 在隔离的 Linux 容器中执行样本,并进行实时遥测流传输 | | **AI 分类** | 多提供商 AI (OpenRouter + Groq,16 个模型),具备自动故障转移和启发式兜底 | | **报告生成** | HTML (交互式)、PDF (专业)、JSON (结构化),并附带 Plotly 图表 | ### 🛡️ 容器级沙箱 (Go) - **6 个 Linux 命名空间** — USER, PID, NET, NS, UTS, IPC,用于实现深度进程隔离 - **Seccomp-BPF 过滤** — 拦截 28 个危险系统调用 (如 reboot, mount, bpf, ptrace 等) - **cgroups v2** — 每个实例的内存上限 (512 MB)、CPU 配额和进程数限制 - **pivot_root** 切换至 Alpine Linux minirootfs 以实现文件系统隔离 - **Veth-pair 网络**,配备独立的网络命名空间 - **500ms 遥测轮询** — 监控进程、文件、网络、注册表及资源事件 - **WebSocket 流式传输** — 将实时遥测数据推送到仪表盘 ### 🧠 AI 威胁分类 - **16 个免费 AI 模型**,横跨 OpenRouter 和 Groq,支持基于单个模型的故障转移 - **9 种恶意软件类别** — 木马、勒索软件、蠕虫、僵尸网络、间谍软件、rootkit、广告软件、下载器、挖矿程序 - **MITRE ATT&CK 映射** — 将技术映射到 T1055, T1486, T1071 等 - **启发式兜底** — 在没有可用的 AI 提供商时,采用基于规则的分类 - **置信度评分** (0.0–1.0) 以及威胁评分 (0–100) ### 📊 企业级报告 - **交互式 HTML 报告**,包含 Plotly 威胁仪表、熵值图表和活动时间线 - **专业 PDF 报告**,包含风险说明、评分明细、行为关联和进程树 - **结构化 JSON 报告**,包含 7 个部分:执行摘要、关键发现、评分、证据、建议、时间线、MITRE ATT&CK - **赛博朋克风格 Web 仪表盘** — 实时 WebSocket 更新、在线沙箱面板、可搜索的分析历史 ## 🚀 快速开始 ``` # 一键设置(Go、Python 依赖、Alpine rootfs、YARA) bash scripts/setup.sh # 编辑你的 AI API 密钥 nano .env # Set OPENROUTER_API_KEY and/or GROQ_API_KEY # 启动所有服务 bash scripts/start.sh # Dashboard: http://localhost:5000 ``` ## 🏗️ 架构 ``` ┌──────────────────────────────────────────────────────────────┐ │ REVA-X Sentinel │ ├──────────┬──────────────┬─────────────┬───────────────────────┤ │ Static │ Dynamic │ AI │ Report │ Upload ─► Phase │ Phase │ Phase │ Phase │ │ │ │ │ │ │ • File ID│ • Namespaces │ • OpenRouter│ • HTML / JSON / PDF │ │ • PE/APK │ • cgroups v2 │ • Groq │ • Risk Justifications │ │ • YARA │ • Seccomp │ • Failover │ • Threat Gauge │ │ • IOC │ • Telemetry │ • MITRE │ • Process Tree │ └──────────┴──────────────┴─────────────┴───────────────────────┘ ``` ## 📦 项目结构 ``` REVA-X-Sentinel/ ├── runtime/ # Go sandbox daemon │ ├── cmd/sandboxd/main.go # Entry point, signal handling │ └── internal/ │ ├── api/ # REST API + WebSocket + middleware │ ├── config/ # YAML config loading │ ├── isolation/ # Namespaces, seccomp, cgroups, capabilities │ ├── network/ # Veth pairs, bridge, netns │ ├── monitor/ # 500ms telemetry polling │ └── sandbox/ # Lifecycle orchestration ├── analyzer/ # Python analysis engine + dashboard │ ├── engine.py # 4-phase orchestrator │ ├── main.py # Flask app │ ├── static/ # PE/APK parsing, entropy, anti-debug, YARA, IOC │ ├── dynamic/ # Sandbox client, behavior classification (17 categories) │ ├── ai/ # Multi-provider classification, MITRE mapping │ ├── reporting/ # HTML, PDF (ReportLab), JSON + Plotly charts │ ├── ghidra/ # Ghidra headless integration │ └── routes/ # Dashboard + REST API routes ├── config/ # YAML config files + YARA rules ├── scripts/ # setup.sh, start.sh, stop.sh, create_rootfs.sh └── data/ # SQLite DBs, uploaded samples, reports, rootfs ``` ## 🔌 API 概览 ### 沙箱 Runtime (`http://localhost:9090`) | 方法 | Endpoint | 描述 | |---|---|---| | `GET` | `/health` | 健康检查 | | `POST` | `/api/v1/sandboxes` | 创建沙箱实例 | | `POST` | `/api/v1/sandboxes/:id/start` | 执行样本 | | `GET` | `/api/v1/sandboxes/:id/telemetry` | WebSocket 遥测流 | | `GET` | `/api/v1/sandboxes/:id/result` | 完整分析结果 | ### 分析器 (`http://localhost:5000`) | 方法 | Endpoint | 描述 | |---|---|---| | `POST` | `/api/analyze` | 提交文件进行全面分析 | | `GET` | `/api/status/:id` | 检查分析状态 | | `GET` | `/api/report/:id` | 获取生成的报告 | ## 🛡️ 安全亮点 | 层级 | 防护措施 | |---|---| | **沙箱隔离** | 6 个命名空间 + seccomp 黑名单 + capabilities drop + pivot_root | | **API 安全** | X-API-Key 认证,令牌桶限流 (100 req/s),请求 ID | | **上传安全** | 扩展名校验 (`.exe`, `.dll`, `.apk` 等),大小上限 (50 MB),UUID 路径 | | **AI 安全** | 通过 prompt 净化进行 PII 脱敏,可配置超时,三层故障转移 | | **清理机制** | 超时自动销毁,后台孤儿进程清理,临时文件移除 | ## 📄 许可证 MIT — 详见 [LICENSE](LICENSE)。
使用 Go, Python, Flask, Gin, ReportLab 和 Plotly 构建。
标签:DAST, DNS 反向解析, Go, Ruby工具, 云安全监控, 人工智能, 动态沙箱, 威胁情报, 安全工具, 开发者工具, 恶意软件分析, 无线安全, 日志审计, 用户模式Hook绕过, 网络信息收集, 逆向工具, 静态分析