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: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![OWASP LLM Top 10](https://img.shields.io/badge/OWASP-LLM%20Top%2010%202025-orange.svg)](https://owasp.org/www-project-top-10-for-large-language-model-applications/) [![Deploy Status](https://img.shields.io/badge/deploy-GitHub%20Pages-blue.svg)](https://pages.github.com/) [![No API Cost](https://img.shields.io/badge/API%20cost-%240-brightgreen.svg)]() [![Challenges](https://img.shields.io/badge/challenges-20-purple.svg)]() ## 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成本, 无后门, 浏览器运行, 红队训练, 网络安全, 蓝队分析, 训练实验室, 隐私保护, 集群管理, 静态网站