kendalljgee/wraith
GitHub: kendalljgee/wraith
WRAITH是一款用于无人机防御的红队模拟软件,通过人工智能辅助模拟攻击,帮助用户测试和优化防御策略。
Stars: 0 | Forks: 0
# 幽灵
WRAITH 是一款自主的红队模拟软件,用于测试对抗自适应攻击者群体行为的反无人机资产部署。该应用允许用户放置防御资产、生成地形、运行进化的无人机群体攻击,并查看由人工智能生成的战斗简报。
该项目分为:
- `frontend/`:React、TypeScript、Vite、Tailwind CSS、PixiJS 和 Zustand。
- `backend/`:带有 WebSocket 更新的 FastAPI 模拟服务器,包括进化攻击生成、地形生成和人工智能辅助简报。
## 项目概述
WRAITH 模拟了一个俯瞰战场环境,其中攻击者无人机试图达到目标,而用户放置的防御资产试图干扰或使其失效。
核心功能包括:
- 交互式放置、移动和移除干扰器、拦截器和欺骗资产。
- 可调整导入的防御资产规格。
- 自然语言地形提示生成。
- 带有地图坐标和地形叠加的实时群体可视化。
- 进化引擎用于自适应攻击策略。
- LLM 推理和人工智能生成的战斗简报。
- 分别提供着陆、模拟和简报视图。
## 设置
### 前置条件
- Node.js 和 npm
- Python 3.13+
- `uv` 用于后端依赖管理
- OpenRouter API 密钥用于人工智能功能
创建 `backend/.env`:
```
OPENROUTER_API_KEY=your_openrouter_key
ENV=development
```
安装并运行后端:
```
cd backend
uv sync
uv run uvicorn main:app --host 127.0.0.1 --port 8001
```
健康检查:
```
curl http://127.0.0.1:8001/health
```
预期响应:
```
{"status":"operational","system":"WRAITH"}
```
创建 `frontend/.env`:
```
VITE_API_URL=http://127.0.0.1:8001
VITE_WS_URL=ws://127.0.0.1:8001
```
安装并运行前端:
```
cd frontend
npm install
npm run dev
```
打开 Vite URL,通常是:
```
http://localhost:5173
```
## 使用方法
1. 打开着陆页面。
2. 可选地以 JSON 格式导入自定义防御资产规格。
3. 点击“开始模拟”。
4. 在地图上添加干扰器、拦截器和欺骗资产。
5. 可选地输入地形提示,例如“地形如阿富汗喀布尔”。
6. 点击“运行防御”。
7. 观察攻击者群体和进化引擎运行。
8. 点击“结束模拟”,或等待战斗结束。
9. 打开人工智能战斗简报。
### 导入规格格式
以 JSON 数组的形式导入规格:
```
[
{
"name": "Example Jammer",
"type": "jammer",
"radius": 120,
"effectiveness": 0.82,
"latency_ms": 250
},
{
"name": "Example Interceptor",
"type": "interceptor",
"radius": 65,
"reload_time": 2.0,
"effectiveness": 0.76
}
]
```
支持的 `type` 值:
- `jammer`
- `interceptor`
- `spoofer`
支持的范围别名:
- `radius`
- `range_m`
支持的重新加载别名:
- `reload_time`
- `reload_s`
支持的有效性别名:
- `effectiveness`
- `pk`
## 生产注意事项
前端可以部署到 Vercel。后端应作为持久的 FastAPI 进程运行,因为模拟使用 WebSocket。
当前的域外部署选项使用 Caddy 和 `sslip.io` 提供HTTPS和WSS,用于 DigitalOcean 后端。
## 人工智能使用披露
WRAITH 在两个地方使用人工智能:
- 进化引擎可以请求 LLM 引导的攻击者策略突变。
- 简报页面使用 LLM 从战斗状态、地形、防御资产放置和攻击者策略数据生成行动总结。
后端通过 `backend/ai_client.py` 中的模型别名通过 OpenRouter 路由人工智能调用。人工智能输出用于模拟分析和建议,不用于现实世界操作决策,除非经过人工审查。
在开发过程中也使用了人工智能工具来协助代码生成、调试、文案和文档。
## 开发检查
前端:
```
cd frontend
npm run lint
npm run build
```
后端:
```
cd backend
uv run python -m compileall -q .
```
## 致谢
使用 React、Vite、PixiJS、FastAPI、Uvicorn、OpenRouter、Caddy 和 DigitalOcean 构建。
## 外部资源
- React:https://react.dev/
- Vite:https://vite.dev/
- PixiJS:https://pixijs.com/
- FastAPI:https://fastapi.tiangolo.com/
- OpenRouter:https://openrouter.ai/
- Caddy:https://caddyserver.com/
- sslip.io:https://sslip.io/
标签:AI 红队, AI 辅助分析, API 开发, AV绕过, FastAPI, PixiJS, React, Syscalls, Tailwind CSS, TypeScript, Vite, WebSocket, Zustand, 人工智能辅助, 依赖分析, 后端开发, 地形生成, 安全插件, 安全测试, 实时可视化, 战斗复盘, 攻击性安全, 攻击战术, 无人机防御, 模拟服务器, 环境配置, 系统架构, 红队模拟, 自适应攻击, 进化算法, 部署运行, 防御策略, 防御资产