techwithmack/promptinjection-game
GitHub: techwithmack/promptinjection-game
MathBot教育游戏,用于教授AI聊天应用中提示注入漏洞。
Stars: 0 | Forks: 0
# MathBot 教育者
用于教授 AI 聊天应用中 **提示注入** 漏洞的 Next.js 教育演示。
## 设置
1. 安装依赖项:
npm install
2. 复制环境文件并添加您的 Gemini API 密钥:
cp .env.local.example .env.local
编辑 `.env.local` 并将 `GEMINI_API_KEY` 设置为从 [Google AI Studio](https://aistudio.google.com/apikey) 获得的密钥。
可选:如果遇到配额错误,设置 `GEMINI_MODEL`(默认为 `gemini-2.5-flash`)。
3. 运行开发服务器:
npm run dev
4. 在浏览器中打开 [http://localhost:3000](http://localhost:3000)。
## 在 AWS Amplify 上部署
1. 在 Amplify 控制台中,为您的分支设置 **环境变量**(托管 → 环境变量):
- `GEMINI_API_KEY` — 从 [Google AI Studio](https://aistudio.google.com/apikey) 获得的密钥
- `GEMINI_MODEL`(可选) — 例如 `gemini-2.5-flash`
如果仅使用 **秘密管理**,也请将 `GEMINI_API_KEY` 添加到环境变量中,以便在构建期间可用(存储库的 `amplify.yml` 将其复制到 `.env.production` 以供 Next.js SSR 使用)。
2. 提交并推送;Amplify 使用存储库根目录中的 `amplify.yml` 来注入这些变量以用于服务器端 API 路由。
3. 更改变量后,触发 **新的部署**(完整构建)。
## 工作坊目标
学生可以尝试绕过 MathBot 的数学限制并提取系统提示中定义的两个嵌入式秘密(Level 1 和 Level 2 绕过)。
## 技术栈
- Next.js(App Router)
- React
- Tailwind CSS
- Google Gemini API (`@google/generative-ai` npm 包)
标签:AI 应用, AI 漏洞, Google Gemini API, React, Syscalls, Tailwind CSS, Web 开发, XML 请求, 反取证, 安全培训, 安全实验, 安全开发, 安全教学, 安全测试, 安全漏洞, 安全评估, 攻击性安全, 教育游戏, 注入攻击, 漏洞演示, 自动化攻击