TUSHAR-SINGH-RAJPUT/SENTINEL_AI
GitHub: TUSHAR-SINGH-RAJPUT/SENTINEL_AI
一个AI驱动的实时威胁检测平台,通过多层日志关联与LLM剧本生成提升检测效率与可解释性。
Stars: 0 | Forks: 0
# 🛡 SentinelAI — AI驱动的威胁检测与仿真引擎
SentinelAI 是一个生产级实时安全运营平台,摄取多层网络和端点日志,使用 AI 模型检测威胁,用 plain English 解释每个告警,并自动生成上下文感知预防剧本 —— 所有功能实时呈现在 SOC 仪表板中。
## 🏆 优胜级特性
| 要求 | 最低标准 | **SentinelAI** |
|---|---|---|
| 信号层 | 1(仅网络) | **3层** — 网络 + 端点 + HTTP,带跨层关联 |
| 威胁类别 | 2 | **4类** + MITRE ATT&CK 映射 |
| 可解释性 | 告警 + 原因 | **SHAP** 特征重要性 + 纯英文 + 误报指示器 |
| 剧本 | 静态模板 | **LLM 生成** 上下文感知剧本,通过 Claude API |
| 仪表板 | 终端输出 | **实时 SOC 仪表板**,带 WebSocket 流 |
| 吞吐量 | — | **500+ 事件/秒**,已测试 |
| 附加功能 | 未尝试 | **攻击模拟器** + 自验证 + 误报演示 |
## 🚀 快速开始(2 分钟)
### 选项 A — Docker(推荐)
```
git clone https://github.com/your-team/sentinelai
cd sentinelai
# 可选:添加您的 Anthropic API 密钥以获取 LLM 手册
export ANTHROPIC_API_KEY=sk-ant-...
docker-compose up --build
```
- 仪表板:http://localhost:3000
- API 文档:http://localhost:8000/docs
### 选项 B — 本地开发
```
# 后端
cd backend
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
# 前端(新终端)
cd frontend
npm install
npm run dev # → http://localhost:3000
```
## 🏗 架构
```
┌─────────────────── SentinelAI ───────────────────────┐
│ │
│ Log Generator ──► Detection Engine ──► Alert Store │
│ (3 layers) (IF + Seq + Rules) (in-memory) │
│ │ │ │
│ Correlator FastAPI API │
│ (cross-layer) /api + /ws │
│ │ │ │
│ Playbook Engine WebSocket Push │
│ (Claude API) │ │
│ React Dashboard│
└──────────────────────────────────────────────────────┘
```
### 第 1 层 — 多信号摄取
- **网络**:`src_ip`, `dst_ip`, `port`, `protocol`, `bytes_out/in`, `duration`, `flags`
- **端点**:`process`, `parent_pid`, `user`, `file_access`, `registry_change`, `network_connection`
- **HTTP/API**:`method`, `endpoint`, `status_code`, `payload_bytes`, `user_agent`
- 所有数据在分析前统一为 JSON 事件模式
### 第 2 层 — AI 检测引擎(`detection_engine.py`)
| 威胁 | 模型 | MITRE |
|--------|-------|-------|
| 暴力破解 | 速率跟踪 + 规则阈值 | T1110 |
| C2 信标 | 序列分析器(间隔 CV) | T1071 |
| 横向移动 | 内部扫描速率 + 跨层匹配 | T1021 |
| 数据外泄 | 孤立森林 + 威胁情报查询 | T1048 |
### 第 3 层 — 可解释性与关联
- **SHAP 近似**:每个告警的顶级特征权重与解释
- **误报引擎**:白名单 IP、已知用户、计划任务、威胁情报匹配
- **跨层关联器**:同一 IP 在 20 秒内在网络与端点同时出现 → 置信度提升
### 第 4 层 — 剧本与仪表板
- **LLM 剧本**:Claude API 为每个事件生成“遏制→调查→根除→预防”步骤
- **回退模板**:无需 API 密钥也可运行
- **React 仪表板**:实时 WebSocket 馈送、SHAP 图、攻击模拟器、威胁地图
## 🎯 演示流程(供评审)
### 30 秒演示
1. **打开** http://localhost:3000 — 展示实时事件计数器递增
2. 在模拟器中点击 **“暴力破解”** → 观察红色 `CRIT` 告警即时出现
3. 点击告警 → 展示 **SHAP 解释** 与 **AI 剧本**
4. 点击 **“C2 信标”** → 第二个告警触发;展示 **跨层关联**
5. 点击 **“误报”** → 告警以低严重性触发并显示误报原因
6. 指出:**MITRE ID**、**置信度分数**、**误报百分比**、**具体 IP 地址**
### 评审用 API 端点
```
# 实时统计
curl http://localhost:8000/api/stats
# 所有告警
curl http://localhost:8000/api/alerts
# 触发攻击
curl -X POST http://localhost:8000/api/simulate/c2_beacon
# 获取告警手册
curl -X POST http://localhost:8000/api/alerts/ALT-0001/playbook
# MITRE 覆盖
curl http://localhost:8000/api/mitre
```
## 📁 项目结构
```
sentinelai/
├── backend/
│ ├── main.py # FastAPI server + WebSocket
│ ├── detection_engine.py # Isolation Forest, Seq Analyzer, SHAP
│ ├── log_generator.py # Realistic multi-layer log generator
│ ├── playbook_engine.py # Claude API playbook generation
│ ├── requirements.txt
│ └── Dockerfile
├── frontend/
│ ├── src/
│ │ ├── App.jsx # Root layout + WebSocket
│ │ ├── components/
│ │ │ ├── AlertFeed.jsx # Real-time incident feed
│ │ │ ├── AlertDetail.jsx # SHAP + playbook panel
│ │ │ ├── ThreatMap.jsx # Network visualization
│ │ │ ├── StatsBar.jsx # Live metrics
│ │ │ └── SimulatorPanel.jsx# Attack injection
│ │ └── index.css # Dark SOC theme
│ ├── Dockerfile
│ └── nginx.conf
├── docker-compose.yml
└── README.md
```
## 🧠 技术深度解析
### 孤立森林(异常检测)
从零构建 — 无需 sklearn。30 棵孤立树的集成,基于良性流量基线训练。异常分数 > 0.65 触发外泄审查。
### 序列分析器(C2 检测)
使用滑动窗口跟踪每对 IP 的到达间隔时间。计算间隔的变异系数(CV);CV < 0.25 表示类机器周期性 → 触发信标标志。
### 跨层关联器
基于源 IP 的时间窗口连接(20 秒)跨层事件。若同一 IP 同时在网络层(异常流量)与端点层(可疑进程)触发,置信度提升 8–15%。
### SHAP 近似
基于规则的特征重要性权重,近似 SHAP 值 — 无需重新训练模型。每个告警获取前 5 个特征及其方向、权重与英文解释。
## 🔑 环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| `ANTHROPIC_API_KEY` | (空) | Claude API 密钥用于 LLM 剧本。未设置时回退到模板 |
| `VITE_WS_URL` | `ws://localhost:8000/ws` | 前端 WebSocket 地址 |
| `VITE_API_URL` | `http://localhost:8000` | 前端 REST API 地址 |
## 📊 使用数据集
- **CICIDS-2017/2018**:真实网络流数据(正常 + 攻击)
- **UNSW-NB15**:网络入侵数据集
- **合成生成器**(`log_generator.py`):自定义多层日志生成器,含真实攻击注入
*由 Team SentinelAI 在 36 小时内构建 | Hack Malenadu '26*
标签:500+事件/秒, AV绕过, C2信标, Claude API, Cloudflare, CSV导出, Docker, FastAPI, HTTP日志, IP 地址批量处理, LLM生成, MITRE ATT&CK, PE 加载器, PoC, SHAP, SOC仪表盘, Uvicorn, WebSocket流, 上下文感知, 事件分类, 剧本自动化, 吞吐量测试, 告警解释, 多模态日志, 孤立森林, 安全防御评估, 实时威胁检测, 异常检测, 攻击模拟, 数据外泄, 暴力破解, 横向移动, 特征重要性, 生产级安全平台, 端点日志, 编程规范, 网络信息收集, 网络日志, 规则关联, 误报演示, 请求拦截, 跨层关联, 逆向工具, 防御绕过, 驱动签名利用