Vaishnav53/SentinelAI
GitHub: Vaishnav53/SentinelAI
一个集成了蜜罐、威胁情报、AI 安全 Copilot 与 SOC 仪表板的本地网络防御平台。
Stars: 1 | Forks: 0
# SentinelAI — AI 驱动的网络防御平台
SentinelAI 是一个专业的、本地优先的、AI 驱动的网络防御平台和安全运营中心 (SOC) 模拟系统。它集成了主机监控、入侵传感器、动态蜜罐诱饵引擎以及自动化的 MITRE ATT&CK 映射,并结合高性能认知智能模型(通过 Groq Cloud API & Ollama),旨在构建强大的安全 Copilot 体验。
## 📌 目录
* [🚀 核心功能](#-key-features)
* [🛠️ 技术栈](#️-tech-stack)
* [🖼️ 项目截图](#️-screenshots)
* [⚡ 快速设置](#-quick-setup)
* [📂 项目结构](#-project-structure)
* [🔄 使用工作流](#-usage-workflow)
* [📅 路线图与已完成阶段](#-roadmap--completed-phases)
* [🛡️ 安全与法律免责声明](#️-security--legal-disclaimer)
* [📄 许可证](#-license)
* [📚 附加文档](#-additional-documentation)
## 🚀 核心功能
* **实时威胁监控**:捕获实时的 syslog 流遥测数据、TCP 端口扫描活动以及蜜罐陷阱触发。
* **AI 安全 Copilot**:基于 Groq Cloud 模型 (`llama-3.3-70b-versatile`) 的流式 SOC agent,提供上下文感知聊天、事件分析、payload 解析和缓解规则。
* **事件感知路由**:自动将本地化攻击详情(GeoIP、payload 缓冲区、签名、目标端口)附加到助手工作流中。
* **MITRE ATT&CK 映射**:动态解析映射入侵指标 (IOC) 到 ATT&CK 战术、技术和程序 (TTP)。
* **诱饵沙箱分析器**:在安全的行为隔离结构内检查模拟的恶意 payload。
* **剧本引擎**:编排主动防御对策(例如防火墙路由锁定、传感器重配置、网络隔离)。
* **生命体征与遥测仪表板**:固定外壳视图,显示 CPU 日志、内存带宽、威胁分数计数器和地图可视化工具,无需水平滚动。
## 🛠️ 技术栈
### 后端
* **Runtime**: Python 3.14.x
* **框架**: FastAPI (Uvicorn ASGI 服务器)
* **ORM & 数据库**: SQLAlchemy 配合 SQLite
* **实时通信**: WebSockets
* **AI 推理**: Groq Cloud SDK / 本地 Ollama 绑定
* **测试**: Pytest 套件
### 前端
* **Runtime**: Node.js
* **框架**: React.js 配合 Vite
* **路由 & UI**: React Router Dom, Lucide 图标, Framer Motion
* **分析**: Recharts (用于实时时间线警报、传感器状态和威胁指标)
## 🖼️ 项目截图
### 🖥️ SOC 指挥中心仪表板
实时日志、系统生命体征图表、活跃诱饵传感器计数器和地理威胁地图。

### 🤖 AI 安全 Copilot 工作区
结合自动威胁遥测上下文集成的流式事件分析师聊天、MITRE ATT&CK 代码格式化以及快速扫描抽屉。

### 🛡️ 蜜罐与诱饵实验室
从 SSH、Telnet、HTTP 和 SMB 蜜罐捕获的日志和威胁签名。

### 🔬 诱饵沙箱与行为分析
恶意文件上传节点、MD5 签名关联以及动态模拟环境。

### 📊 聚合威胁关联图
可视化攻击者坐标向量、网络连接和入侵图表。

## ⚡ 快速设置
### 前置条件
* 已安装 Python 3.14+
* 已安装 Node.js v18+
### 1. 后端服务设置
1. 在 `/backend` 目录中打开终端。
2. 初始化虚拟环境:
python -m venv .venv
.venv\Scripts\activate
3. 安装所需的包:
pip install -r requirements.txt
4. 复制环境配置:
cp .env.example .env
5. *关于环境变量的注意事项*:在 `backend/.env` 中安全地配置您的 `GROQ_API_KEY`。请**不要**提交此文件。
6. 启动后端服务器:
$env:PYTHONPATH=".." # 在 PowerShell 中
# 或者在 Bash 中执行 export PYTHONPATH=".."
.venv\Scripts\uvicorn main:app --reload --port 8000
### 2. 前端应用设置
1. 在 `/frontend` 目录中打开终端。
2. 安装 npm 依赖项:
npm install
3. 启动 Vite 开发服务器:
npm run dev
4. 通过 `http://localhost:5173` 访问 Web 仪表板。
## 📂 项目结构
```
SentinelAI/
├── backend/ # FastAPI Application
│ ├── api/ # API Routers (agent, attacks, sandbox, reports, playbooks)
│ ├── core/ # App configurations (config.py, logging, security)
│ ├── database/ # SQLite connection wrapper
│ ├── models/ # SQLAlchemy models (base, model definitions)
│ ├── schemas/ # Pydantic validation schemas
│ ├── services/ # Correlation engine, WAF defense, honeypots, AI adapters
│ └── tests/ # Automated pytest integration cases
├── frontend/ # React Application
│ ├── src/
│ │ ├── components/ # Custom panels, state controllers, maps
│ │ ├── layouts/ # DashboardLayout container
│ │ └── pages/ # View pages (dashboard, agent, playbooks, sandbox)
├── docs/ # Technical and system architectural documentation
└── scripts/ # Command utilities and launcher bat scripts
```
## 🔄 使用工作流
```
graph TD
A[Attacker Intrusion] -->|Triggers Alert| B[Honeypot Decoy Engine]
B -->|Ingests Log| C[Intrusion Correlation Pipeline]
C -->|Populates Database| D[SOC Command Dashboard]
D -->|Click Analyze| E[Route to Copilot /agent]
E -->|Pre-loads Telemetry Context| F[Interactive Security Agent]
F -->|Select Quick Action| G[Automated Mitigation Rules]
G -->|Applies Block| H[Active WAF Firewall Lock]
```
1. **捕获入侵**:可疑的网络探测命中诱饵蜜罐。
2. **触发分析**:该事件出现在实时攻击源中。点击 **Analyze** 导航到 Copilot 工作台。
3. **加载上下文**:威胁参数(IP、服务端口、威胁 payload)被挂载到右侧的上下文卡片中,并作为系统指令发送。
4. **快速缓解**:点击 **Recommend Firewall Rule** 生成特定的阻断配置(iptables、Cisco 列表或 WAF 规则)以保护目标节点。
## 📅 路线图与已完成阶段
### 已完成
* **第 1-13 阶段**:系统核心、日志 pipeline、数据库表和诱饵沙箱。
* **第 14 阶段**:从 Ollama 迁移至 Groq。在 `backend/.env` 中集成安全密钥,格式化流式数据块,以及锁定视口样式。
* **第 15A 阶段**:AI 安全 Copilot 升级。上下文感知的 prompt 注入 (`[ATTACK EVENT CONTEXT]`)、高保真 markdown 解析器以及动态的快速扫描操作。
### 进行中 / 未来计划
* **第 15B 阶段**:自动生成自动化 SIEM 查询(KQL、Splunk SPL)。
* **第 16 阶段**:部署企业主动防御行动。
* **第 17 阶段**:支持多传感器 agent 集群聚合。
* **第 18 阶段**:LDAP/Active Directory SSO 身份验证层。
## 🛡️ 安全与法律免责声明
本仓库严格设计用于研究、测试和教育模拟目的。主动蜜罐功能应仅在隔离的测试平台中运行。对于因不当的生产环境部署或暴露 Groq 密钥而造成的任何损害、服务中断或合规性失败,作者概不负责。
## 📄 许可证
基于 MIT 许可证分发。请查看 `LICENSE` 了解更多信息(占位符)。
## 📚 附加文档
有关详细分析、实施细节和结构设计日志,请参阅以下项目文档:
* [项目愿景与概述](docs/PROJECT_OVERVIEW.md) — 任务指南和核心模块。
* [系统架构与数据库模型](docs/ARCHITECTURE.md) — 拓扑图表和 schema 模型列表。
* [安装与设置指南](docs/SETUP.md) — 前置条件和启动终端命令。
* [运营工作流](docs/WORKFLOW.md) — 逐步的警报关联生命周期。
* [功能参考](docs/FEATURES.md) — Copilot 规范和诱饵蜜罐。
* [API 参考](docs/API_REFERENCE.md) — FastAPI endpoint 的 JSON schema 和参数。
* [开发路线图](docs/ROADMAP.md) — 进度映射和未来阶段。
* [安全说明与政策](docs/SECURITY_NOTES.md) — 密钥轮换和沙箱警告。
标签:AI风险缓解, AV绕过, FastAPI, FOFA, IP 地址批量处理, React, Syscalls, 威胁情报, 安全大模型, 开发者工具, 插件系统, 网络安全, 蜜罐, 证书利用, 逆向工具, 隐私保护