Omarigato/ImperiumAI
GitHub: Omarigato/ImperiumAI
一个用于模拟LLM控制系统安全测试的红队框架。
Stars: 0 | Forks: 0
# ⚔ Imperium AI — 交互式AI红队演练对战模拟器
Imperium AI 是一款基于浏览器的实时模拟器,五个对抗性AI代理攻击一个模拟的智能家居物联网系统。每次攻击都流经 Groq / Gemini / OpenAI / DeepSeek(或确定性离线模拟器)、策略引擎和风险评分器——所有这些都通过 WebSockets、Three.js 和 Framer Motion 实时可视化。
## 快速链接
* 🚀 **在 Render 上部署:** [`DEPLOY_RENDER.md`](./DEPLOY_RENDER.md) — 通过 [`render.yaml`](./render.yaml) 实现一键 Blueprint 部署。
* 🐳 **本地 Docker:** `docker compose up --build` (FastAPI + PostgreSQL + Next.js)。
* 🛠️ **本地开发(无 Docker):** `cd backend && uvicorn main:app --reload` + `cd frontend && npm run dev`。
## 架构
```
┌──────────────────────────────┐ WebSocket / REST ┌──────────────────────────────┐
│ Frontend (Next.js + React) │◄─────────────────────────►│ Backend (FastAPI + Python) │
│ │ │ │
│ pages/index.jsx │ │ main.py │
│ pages/battle.jsx │ │ agents/ (5 red-team agents)│
│ pages/dashboard.jsx │ │ llm/multi_client.py │
│ pages/batch.jsx │ │ iot/simulator.py │
│ components/SmartHome3D.jsx │ │ security/policy_engine.py │
│ components/RiskMeter.jsx │ │ scoring/risk_engine.py │
│ components/LiveLogs.jsx │ │ memory/attack_memory.py │
│ components/AgentAvatar.jsx │ │ websocket_manager.py │
│ components/BattleResult.jsx │ │ │
└──────────────────────────────┘ └──────────────────────────────┘
```
### 红队代理
| 代理 | 颜色 | 专长 | 战术 |
|---|---|---|---|
| **ShadowInjector** | 🔴 红色 | 提示注入 | 直接注入、嵌套注入、指令覆盖、分隔符混淆、**思维链利用** |
| **ContextPhantom** | 🟣 紫色 | 上下文与角色操控 | 上下文劫持、角色混淆、记忆投毒、虚假授权 |
| **PrivilegeReaper** | 🟠 橙色 | 权限提升与令牌伪造 | 管理员冒充、令牌伪造、sudo注入、权限绕过、**多步骤攻击** |
| **SilentEscalator** | 🔵 青色 | 隐蔽渐进式边界侵蚀 | 信任递增、语义漂移、边界侵蚀、上下文规范化、**越狱角色扮演** |
| **NetworkPhantom** | 🟢 绿色 | 网络层中间人攻击与流量注入 | DNS欺骗、中间人拦截、流量注入、数据包嗅探、**ARP投毒** |
### 模拟的物联网设备
`前门` · `摄像头系统` · `灯光` · `恒温器` · `安防面板` · `警报器` · `路由器`
## 快速开始
### 1 — 后端
```
cd backend
python -m venv .venv && source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -r requirements.txt
# 复制 env 并添加你的 Gemini API key(可选 — demo mode 无需密钥即可使用)
cp .env.example .env
uvicorn main:app --reload --port 8000
```
### 2 — 前端
```
cd frontend
npm install
npm run dev # http://localhost:3000
```
### 3 — 运行对战
1. 打开 **http://localhost:3000**
2. 点击 **开始对战**
3. 观看五个红队代理实时攻击智能家居
4. 使用 **🛡 启动护盾** 交互式阻挡接下来的3次攻击
5. 使用 **🔄 反制措施** 降低风险评分
6. 在 **http://localhost:3000/dashboard** 查看分析数据
7. 在 **http://localhost:3000/batch** 运行统计批量测试
8. 在 **http://localhost:3000/iot-lab** 尝试自然语言智能家居控制
## WebSocket 事件
| 事件 | 描述 |
|---|---|
| `attack_launched` | 代理选择目标和战术 |
| `llm_response` | LLM 返回其决策 |
| `policy_check` | 策略引擎评估违规 |
| `iot_result` | 物联网设备状态更新或被阻止 |
| `risk_update` | 全局风险评分变化 |
| `round_complete` | 回合总结 |
| `battle_end` | 对战结束,包含胜者、统计信息和代理学习总结 |
| `shield_activated` | 防御护盾已启动(阻挡接下来的3次攻击) |
| `shield_active` | 护盾仍处于激活状态 — 剩余回合数 |
| `shield_expired` | 护盾已失效 |
| `log` | 带颜色编码的日志消息 |
## 交互式防御控制
在实时对战期间,你可以进行干预:
| 按钮 | 端点 | 效果 |
|---|---|---|
| 🛡 启动护盾 | `POST /api/defense/shield` | 强制策略引擎阻挡接下来的3次攻击 |
| 🔄 反制措施 | `POST /api/defense/reset-risk` | 部署紧急反制措施 — 将风险评分降低20点 |
## 批量对战(统计测试)
`POST /api/batch-battles` — 在单个请求中运行N次独立模拟(1-10),并返回每次对战的统计信息及汇总摘要。使用**批量测试**页面通过图表可视化结果。
## 数据持久化
攻击学习历史记录持久化存储在 SQLite (`backend/data/attack_memory.db`) 中。代理会根据历史成功率调整其战术选择——连续3次以上被封锁的战术会被避开。此数据在重启后依然保留。
## 环境变量
| 变量 | 描述 |
|---|---|
| `GEMINI_API_KEY` | Google Gemini API 密钥(可选 — 不设置则回退到模拟) |
| `OPENAI_API_KEY` | OpenAI GPT-4o API 密钥(可选) |
| `DEEPSEEK_API_KEY` | DeepSeek API 密钥(可选) |
## 技术栈
**后端:** Python · FastAPI · uvicorn · google-generativeai · openai · pydantic · python-dotenv · SQLite
**前端:** Next.js 14 · React 18 · Three.js · @react-three/fiber · @react-three/drei · Framer Motion · Recharts · Tailwind CSS
标签:AI安全, AV绕过, Chat Copilot, CMS安全, Docker, FastAPI, Framer Motion, IoT安全, JavaScript, PostgreSQL, Python, React, Syscalls, Three.js, WebSockets, 上下文操纵, 交互式模拟器, 安全漏洞检测, 安全防御评估, 实时可视化, 对抗性AI, 提示词攻击, 攻击模拟框架, 无后门, 智能家居安全, 模块化安全测试, 沙箱执行, 策略引擎, 网络安全挑战, 自定义脚本, 逆向工具, 风险评估引擎