06shayan/PromptShield
GitHub: 06shayan/PromptShield
PromptShield 是一个纯前端的交互式 Prompt 注入攻击与防御模拟演练平台,帮助用户在浏览器中直观学习 AI 安全概念。
Stars: 0 | Forks: 0
# 🛡️ PromptShield
**一个 Prompt 注入演练场与防御工具包**
PromptShield 是一个互动式网络安全学习实验室,旨在帮助你理解 prompt 注入攻击的运作原理、它们为何能够得逞,以及现实世界中的防御机制是如何将其拦截的——全程无需调用真实的 AI 模型。
受 OWASP Juice Shop 等工具的启发,PromptShield 通过实践模拟而非被动阅读的方式,教授 AI 安全概念。
## ✨ 功能
- **互动式演练场** — 选择一种攻击方式,编辑 prompt,选择防御机制,并运行模拟
- **基于规则的模拟引擎** — 模拟真实防御机制(关键词过滤、prompt 分隔符、清理、角色分离、上下文隔离、输出过滤)的实际行为,包括其盲点
- **逐步的 Prompt 转换** — 直观地查看每种防御如何实时修改 prompt
- **动画安全扫描** — 在显示结果前,呈现 Microsoft Defender 风格的扫描序列
- **完整安全报告** — 攻击摘要、防御 pipeline 可视化,以及针对任何成功攻击的防御建议
- **攻击库** — 8 种已记录的 prompt 注入技术(指令覆盖、Prompt 泄露、越狱、角色混淆、数据提取、工具滥用、间接 Prompt 注入、上下文操纵),每种均附有真实案例和缓解措施
- **防御库** — 7 种已记录的防御机制及其优缺点
- **学习页面** — 涵盖 prompt 注入基础知识、真实安全事件、OWASP LLM Top 10 以及最佳实践的知识库
## 🖥️ 技术栈
- **React** + **Vite**
- **Tailwind CSS**
- **Framer Motion** (动画)
- **Lucide React** (图标)
- **React Router**
纯前端。没有后端、没有数据库、没有身份验证——整个模拟过程完全在浏览器端运行。
## 🚀 快速开始
**前置条件:** 你的机器上需要安装 Node.js。
```
# Clone repository
git clone https://github.com/06shayan/PromptShield.git
cd promptshield
# Install dependencies
npm install
# Run development server
npm run dev
```
然后打开终端中显示的本地 URL(通常是 `http://localhost:5173`)。
## 📖 工作原理
1. 在演练场中从预定义的库中**选择一种攻击**
2. **查看并编辑 prompt** — 示例 prompt 会自动填充,但可以对其进行修改
3. **选择一个或多个防御机制**进行应用
4. **运行模拟** — 观看扫描序列,然后查看:
- 攻击是成功了还是被拦截了,以及原因
- prompt 是如何被每种防御逐步转换的
- prompt 经历的完整防御 pipeline
- 如果攻击成功穿透,推荐的防御措施
目标是让一个抽象的概念——*为什么这种防御有效而另一种无效*——变得直观可见,而不是让你去阅读长篇大论。
## 📂 项目结构
src/
├── components/ # 可复用的 UI 组件(卡片、模态框、选择器、结果面板)
├── data/ # 攻击、防御和学习内容数据
├── pages/ # 顶级页面(仪表板、演练场、攻击库、防御库、学习)
├── utils/ # 模拟引擎逻辑
└── App.jsx # 布局 + 路由出口
## 🗺️ 未来计划
- 可选的“智能扫描”模式,使用真实的 LLM API(例如 Gemini)进行基于 AI 的风险分析,与当前基于规则的“基础扫描”并存
- 更多的攻击/防御类别
- 可导出的安全报告
## 📚 参考
- [大型语言模型应用的 OWASP Top 10](https://owasp.org/www-project-top-10-for-large-language-model-applications/)
- [NIST AI 风险管理框架](https://www.nist.gov/itl/ai-risk-management-framework)
## 📄 许可证
本项目仅用于教育目的。
标签:AI安全, Chat Copilot, DLL 劫持, React, Syscalls, 云安全态势管理, 前端应用, 大语言模型, 安全教育, 自定义脚本