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流, 上下文感知, 事件分类, 剧本自动化, 吞吐量测试, 告警解释, 多模态日志, 孤立森林, 安全防御评估, 实时威胁检测, 异常检测, 攻击模拟, 数据外泄, 暴力破解, 横向移动, 特征重要性, 生产级安全平台, 端点日志, 编程规范, 网络信息收集, 网络日志, 规则关联, 误报演示, 请求拦截, 跨层关联, 逆向工具, 防御绕过, 驱动签名利用