aur3lius-marcu5/REVA-X-Sentinel
GitHub: aur3lius-marcu5/REVA-X-Sentinel
AI 驱动的恶意软件引爆与威胁情报分析平台,通过静态分析、动态沙箱、AI 分类和自动报告四个阶段实现端到端的样本分析。
Stars: 0 | Forks: 0
# ⚡ REVA-X Sentinel
**AI 驱动的恶意软件引爆与威胁情报平台**
[](https://go.dev/)
[](https://python.org/)
[](LICENSE)
[](#contributing)
## ✨ 核心功能
### 🔬 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)。
上传可疑文件 —— 获取包含行为分析、 AI 分类、MITRE ATT&CK 映射以及交互式可视化的结构化威胁报告。
使用 Go, Python, Flask, Gin, ReportLab 和 Plotly 构建。
标签:DAST, DNS 反向解析, Go, Ruby工具, 云安全监控, 人工智能, 动态沙箱, 威胁情报, 安全工具, 开发者工具, 恶意软件分析, 无线安全, 日志审计, 用户模式Hook绕过, 网络信息收集, 逆向工具, 静态分析