bserc-labs/SwarmGuard-AI
GitHub: bserc-labs/SwarmGuard-AI
SwarmGuard AI 是一个基于机器学习的实时无人机蜂群威胁检测与指挥控制平台,解决无人机蜂群异常行为自动识别、态势可视化与拦截决策的问题。
Stars: 0 | Forks: 0
# SwarmGuard AI - Sentinel 仪表板
SwarmGuard AI 是一个为 BSERC Def-Space 实习计划构建的实时、AI 驱动的无人机蜂群威胁检测与可视化平台。它使用 Isolation Forest 机器学习模型来接收无人机遥测数据,实时检测异常,并通过 WebSockets 将警报广播到基于 React 的指挥仪表板。
## 项目结构
- `backend/`:FastAPI 应用、SQLite 数据库、ML 模型和数据集重放器。
- `frontend/`:使用 Tailwind CSS 和 TanStack Router 构建的 React + Vite 仪表板。
- `models_ml/`:包含预训练的 Isolation Forest 模型和缩放器。
## 技术栈
- **Frontend**:React 18, Vite, Tailwind CSS, TanStack Router, Recharts, React Query
- **Backend**:Python 3.11, FastAPI, SQLAlchemy (SQLite), WebSockets
- **AI/ML**:Scikit-Learn (Isolation Forest), SHAP (可解释 AI)
## 本地设置与安装
### 1. 环境变量
在 `backend/` 根目录中创建一个包含以下变量的 `.env` 文件:
```
DATABASE_URL=sqlite:///./swarmguard.db
SECRET_KEY=your_super_secret_key_change_in_production
ALGORITHM=HS256
TOKEN_EXPIRE=1440
```
### 2. 通过 Docker 运行全栈 (v2.0)
您可以使用我们的多阶段 Docker Compose 设置来启动整个应用程序(Frontend、Backend 和 Database):
```
docker compose up --build
```
一旦运行起来:
- **前端仪表板**:`http://localhost`(或 `http://localhost:80`)
- **后端 API 文档**:`http://localhost:8000/docs`
使用以下凭据登录仪表板:
- **Operator ID**:`admin`
- **Passkey**:`admin`
### 3. 本地开发(不使用 Docker)
如果您在本地开发前端而不使用 Docker:
```
cd frontend
npm install
npm run dev
```
*(React 服务器将在 `http://localhost:5173` 上运行)*
### 4. 运行 AI 模拟器(数据注入)
要模拟实时无人机遥测并触发 AI 威胁检测:
```
cd backend
python scripts/dataset_replayer.py
```
这将开始向 backend 流式传输数据包,并立即在您的前端仪表板上显示!
## 国防级安全与功能
- **蜂群编队检测**:AI 驱动的空间聚类(DBSCAN/K-Means),用于实时检测军用无人机蜂群编队(V 型、网格包围)。
- **动态地理围栏与 Kill-Chain**:直接在地图上绘制多边形禁飞区。Backend 会立即评估威胁并发布自主的 `HARD_KILL` 拦截协议。
- **历史回放(DVR 模式)**:交互式地图进度条允许操作员暂停实时遥测,并在时间上向后滑动以逐步回放之前的无人机蜂群。
- **交互式战术雷达地图**:使用 `react-leaflet` 对无人机矢量进行实时地理空间绘制,带有霓虹矢量线和毛玻璃 HUD 叠加层。
- **实时遥测信息流**:包含无人机 GPS、高度、速度和电池的实时数据表,具有严格的 Pydantic 范围验证器(`latitude`:-90° 至 90°,`longitude`:-180° 至 180°,`altitude`:0-50,000m,`speed`:0-500m/s,`battery`:0-100%)。
- **AI 威胁可解释性(SHAP)**:柱状图准确解释了是*哪些*指标导致 AI 标记了异常。
- **WebSocket 实时警报**:一旦通过 JWT 认证的 WebSockets 检测到攻击,就会触发全局闪烁警报。
- **心跳与静默无人机监控器**:如果无人机静默超过 30 秒,自动后台服务会检测 RF 干扰或通信中断。
- **无人机指挥与控制**:用于发布 `RETURN_TO_HOME`、`EMERGENCY_LAND`、`SWITCH_SAFE_MODE` 或 `KILL_MOTOR` 的交互式指挥中心。
- **事件确认与工作流**:操作员可以通过 `PATCH /incidents/{id}` 更新事件状态(`ACKNOWLEDGED`、`FALSE_POSITIVE`、`ESCALATED`、`RESOLVED`)。
- **审计追踪可追溯性**:自动记录操作员操作(`LOGIN_SUCCESS`、`LOGIN_FAILED`、`INCIDENT_STATUS_CHANGE`、`COMMAND_ISSUED`),并存储在 `AuditLog` 表中,同时进行客户端 IP 跟踪。
- **严格的基于角色的访问控制(RBAC)**:安全的 JWT 认证,并强制执行可配置的 `SECRET_KEY` 环境变量。
标签:AMSI绕过, Apex, AV绕过, FastAPI, Mutation, React, Syscalls, 可视化, 威胁检测, 异常检测, 无人机, 机器学习, 自动化攻击, 请求拦截, 逆向工具