snwaobia4-ui/DVPI-Damn-Vulnerable-Prompt-Injection
GitHub: snwaobia4-ui/DVPI-Damn-Vulnerable-Prompt-Injection
DVPI 是一个基于 OWASP LLM Top 10 2025 的免费静态培训实验室,用于学习和实践大语言模型的安全漏洞。
Stars: 0 | Forks: 0
```
_____ _ _ _____ _____
| __ \| | | | __ \|_ _|
| | | | | | | |__) | | |
| | | | | | | ___/ | |
| |__| | |__| | | _| |_
|_____/ \____/|_| |_____|
Damn Vulnerable Prompt Injection
OWASP LLM Top 10 — 2025 Training Lab
```
[](LICENSE)
[](https://owasp.org/www-project-top-10-for-large-language-model-applications/)
[](https://pages.github.com/)
[]()
[]()
## DVPI 是什么?
**DVPI(Damn Vulnerable Prompt Injection)** 是一个免费、完全静态、注重实践的培训实验室,涵盖了 [OWASP LLM Top 10 (2025)](https://owasp.org/www-project-top-10-for-large-language-model-applications/) 的全部 10 个类别。它是 LLM 安全领域的 [DVWA](https://dvwa.co.uk/) —— 一个故意设计为存在漏洞的应用程序,旨在通过安全、可控的利用过程进行教学。
### 目标
- 为开发者、安全工程师和红队成员提供一个安全沙箱,以实践方式理解 LLM 攻击向量
- 将每个挑战直接映射到 OWASP LLM Top 10 (2025),帮助学习者建立结构化的知识模型
- 为每个漏洞配以具体的防御修复方案,让学习者不仅知道如何*利用*,更知道如何*预防*
- 消除所有摩擦:无需注册、无需 API 密钥、无需 Docker、无需安装
## 在线演示
## 如何在本地运行
```
# 选项 1:直接打开文件
open dvpi/index.html # macOS
xdg-open dvpi/index.html # Linux
start dvpi\index.html # Windows
# 选项 2:在本地提供服务(避免浏览器 file:// 相关问题)
cd dvpi
python3 -m http.server 8080
# 然后打开 http://localhost:8080
```
就这样。无需 npm install,无需 Docker,无需构建步骤。
## 部署您自己的副本
### 1. Fork 或克隆此仓库
```
gh repo create dvpi --public --source=. --push
```
或手动操作:
1. 前往 [github.com/new](https://github.com/new)
2. 将其命名为 `dvpi`
3. 推送您的本地副本:
```
git remote add origin https://github.com/YOUR_USERNAME/dvpi.git
git branch -M main
git push -u origin main
```
### 2. 启用 GitHub Pages
在您的仓库中:**设置 → Pages → 源码 → 从分支部署**
分支:`gh-pages` · 文件夹:`/ (根目录)` → **保存**
### 3. GitHub Actions 自动部署
包含的 `.github/workflows/deploy.yml` 会在每次推送到 `main` 分支时推送到 `gh-pages`。
您的在线 URL 将是:`https://您的用户名.github.io/dvpi`
## 对比:DVPI 与其他 LLM 安全实验室
| 特性 | **DVPI** | Gandalf | HackAPrompt | AI Goat |
|---------|----------|---------|-------------|---------|
| OWASP LLM Top 10 结构化覆盖 | ✅ 完整 (10/10) | ❌ | ❌ | ✅ 部分 |
| 零 API 成本 | ✅ 永久 $0 | ❌ 使用 GPT | ❌ 使用 GPT | ❌ 需配置 |
| 完全静态 / 可离线使用 | ✅ | ❌ | ❌ | ❌ |
| 每个挑战附带防御修复方案 | ✅ | ❌ | ❌ | ✅ 部分 |
| 2 分钟内可自托管 | ✅ | ❌ | ❌ | 部分 |
| 渐进式提示 | ✅ | ❌ | ❌ | ❌ |
| 计分系统 | ✅ | ❌ | ✅ | ❌ |
| 真实 LLM 响应 | ❌ (设计如此) | ✅ | ✅ | ✅ |
## 如何贡献新挑战
欢迎贡献!每个挑战需要:
1. **一个挑战对象** 添加到 `index.html` 的 `CHALLENGES` 数组中:
- `id`、`cat` (LLM01–LLM10)、`title`、`diff`、`pts`
- `goal`、`desc`、`sp` (系统提示)、`flag`
- `triggers[]` 包含 `p` (模式数组)、`r` (响应)、`ft` (触发标志)
- `def` (默认响应)、`hints[]` (3 个提示)
- `vuln` (漏洞代码示例)、`fix` (安全修复)
- `payload` (示例攻击)、`why` (解释)
2. **一个拉取请求** 包含:
- `index.html` 中的新挑战
- `CONTRIBUTING.md` 中的简要描述 (或 PR 正文)
- 该挑战对应 OWASP LLM Top 10 的哪个类别及原因
### 贡献想法
- LLM01:通过文档内容进行间接提示注入
- LLM02:模型记忆训练数据中的 PII
- LLM03:受污染的嵌入模型产生有偏见的相似性分数
- LLM06:自主代理通过网络浏览泄露数据
- LLM07:侧信道时序攻击以推断提示内容
## 防御性学习理念
DVPI 的构建围绕一个核心原则:**你无法防御你不理解的东西**。
每个挑战都是一个结构化的微型课程,分为四个阶段:
1. **理解** —— 阅读系统提示和目标,理解预期的(不安全的)设计
2. **攻击** —— 使用终端实际利用漏洞并捕获标志
3. **反思** —— 利用提示和解决方案理解其*奏效原因*
4. **防御** —— 阅读防御修复方案,理解代码层面正确的缓解措施
每个挑战的防御修复方案都是以注释伪代码的形式编写的,可以直接转换为实际的实现更改。目标不仅是意识提升,更是*可操作的知识*。
### OWASP LLM Top 10 (2025)
[OWASP Top 10 for Large Language Model Applications](https://owasp.org/www-project-top-10-for-large-language-model-applications/) 是 LLM 应用安全风险的权威参考。DVPI 为这 10 个类别中的每一个都提供了两个实践性强的挑战,将抽象的风险描述转化为难忘的体验式学习。
## 计分系统
| 难度 | 基础分值 | 提示扣分 |
|------------|-------------|-----------|
| 初级 | 100 分 | 每次 -10 分 |
| 中级 | 200 分 | 每次 -10 分 |
| 高级 | 300 分 | 每次 -10 分 |
最高可能得分:**3,300 分** (不使用任何提示)
进度自动保存在 `localStorage` 中 —— 无需账户。
## 项目结构
```
dvpi/
├── index.html # Entire application (single file)
├── README.md # This file
├── LICENSE # MIT
└── .github/
└── workflows/
└── deploy.yml # GitHub Actions → GitHub Pages
```
## 致谢
- [OWASP Gen AI Security Project](https://owasp.org/www-project-top-10-for-large-language-model-applications/) —— 用于 LLM Top 10 框架
- [DVWA](https://dvwa.co.uk/) —— 故意设计为存在漏洞的培训实验室的原始灵感
- [HackAPrompt](https://www.hackaprompt.com/) —— 在提示注入竞赛领域的开创性工作
- [AI Goat](https://github.com/dhammon/ai-goat) —— 提供 LLM 安全挑战的灵感
## 免责声明
## 许可证
MIT © 2026 DVPI 贡献者 —— 详见 [LICENSE](LICENSE)
标签:CMS安全, GitHub Pages, HTML5, JavaScript, Python, Web安全, 人工智能安全, 免费工具, 动手学习, 合规性, 后端开发, 在线实验, 多模态安全, 大型语言模型安全, 安全挑战, 安全教育, 开发者培训, 提示注入, 数据可视化, 无API成本, 无后门, 浏览器运行, 红队训练, 网络安全, 蓝队分析, 训练实验室, 隐私保护, 集群管理, 静态网站