grentank/prompt-injection-competition
GitHub: grentank/prompt-injection-competition
一个基于 Docker 沙盒的 AI 提示词注入竞赛平台,提供隔离的在线商店与 AI 聊天环境供参与者学习和演练大模型安全攻防。
Stars: 0 | Forks: 0
# 提示词注入竞赛 (PIC)
一个用于学习和比赛攻破 AI 智能体的平台。每位参与者都会获得一个隔离的 Docker 沙盒,其中包含一个在线商店和 AI 聊天功能。
## 架构
- **master** — orchestrator、auth、admin dashboard、WebSocket
- **sandbox** — 每位参与者分配的 Docker container (Node + SQLite + LangChain agents)
- **client** — React SPA (暗黑主题,Tailwind)
## 快速开始 (本地)
```
# 1. 安装依赖
cd master && npm install
cd ../sandbox && npm install
cd ../client && npm install
# 2. 配置 env
cp deploy/.env.example master/.env
# 填写 LLM_PROVIDER_API_KEY
# 3. 构建 sandbox image
docker build -f docker/sandbox.Dockerfile -t pic-sandbox:latest .
# 4. 运行 master
cd master && npm run db:setup && npm run dev
# 5. 运行 client (dev)
cd client && npm run dev
```
对于 production 环境:`cd client && npm run build` — 构建产物将输出到 `master/dist`。
## 任务 (8 个固定任务)
1. 绕过 guardrail (Llama Guard 4)
2. 修改数据库
3. 泄露 `user_sessions`
4. 删除数据库
5. Indirect injection → 购买
6. 聊天中的 XSS
7. Unbounded tool consumption
8. 执行代码
## 服务器部署
```
# 在服务器上(/root/prompt-injection-competition)
git clone .
cp deploy/.env.example deploy/.env
# 填写 secrets 和 LLM 密钥
./deploy/deploy.sh # или вручную:
docker build -f docker/sandbox.Dockerfile -t pic-sandbox:latest .
docker compose -f deploy/docker-compose.yml up -d --build
./deploy/setup-caddy.sh
./deploy/install-service.sh # автозапуск после reboot
```
### 服务器重启后自动启动
```
./deploy/start.sh # ручной старт (безопасно запускать повторно)
./deploy/install-service.sh # один раз: systemd unit pic.service
```
脚本 `start.sh` 会等待 Docker 和 `frontline` 网络就绪,启动 `pic-master`,修复 Caddy 配置,并重启崩溃的 sandbox container。
## 资源
- 每个 sandbox container 约需 ~150–300 MB RAM
- 当有 10+ 名并发参与者时,建议配备 8+ GB RAM
- 服务器:`135.106.156.210`,域名 `temp-frontline-agent.ignorelist.com`
## 默认账户
- Admin:`admin` / `admin123` (通过 `ADMIN_USERNAME` / `ADMIN_PASSWORD` 设置)
## API
- `POST /api/auth/register|login` — 参与者
- `POST /api/auth/admin/login` — 管理员
- `GET /api/admin/participants` — 统计数据
- `WS /ws/admin?token=...` — live events
- `/instance/:id/api/*` — 沙盒代理
标签:CISA项目, Docker沙箱, GNU通用公共许可证, MITM代理, Node.js, Web安全, Web报告查看器, 人工智能, 安全竞赛, 微服务, 数据展示, 用户模式Hook绕过, 红队, 自定义脚本, 蓝队分析, 请求拦截