Harshi-dhamu/ai-defending-ai

GitHub: Harshi-dhamu/ai-defending-ai

该项目构建了一个 AI 防火墙系统,通过模拟真实 Prompt Injection 攻击并实施双层防御,验证 LLM 应用对越狱攻击的防护能力。

Stars: 0 | Forks: 1

# 🛡️ AI Defending AI — Prompt Injection 防火墙 这是一个 AI 系统实时防御对抗性 Prompt Injection 和越狱攻击的现场演示。 ## 🎯 问题描述 随着各公司竞相部署基于 LLM 的聊天机器人,大多数系统对 **Prompt Injection** 毫无防备——攻击者会诱骗 AI 泄露机密、无视其规则或做出超出预期范围的行为。本项目旨在通过构建、攻击和防御一个真实的 AI 系统,来准确衡量这些系统的脆弱性(以及可防御性)。 ## 🧩 工作原理 1. **受害 AI** (`victim_app.py`) —— 一个掌握着绝不能泄露秘密的客服聊天机器人。 2. **攻击者** (`attacker.py`) —— 自动向其发起 10 多种真实的越狱技术攻击(角色扮演技巧、伪造权限声明、指令泄露、编码技巧等)。 3. **防火墙** (`firewall.py`) —— 双层防御:在消息到达 AI *之前* 进行扫描,并在回复生成 *之后* 进行扫描,对任何漏网的泄露内容进行脱敏处理。 4. **安全应用** (`secure_app.py`) —— 聊天机器人的受保护版本,会记录每一次交互。 5. **仪表盘** (`dashboard.py`) —— 一个实时 Streamlit 仪表盘,用于可视化攻击结果和防御率。 ## 📊 结果 | 版本 | 防御率 | |---|---| | 未受保护的 AI | 90%(1 次通过“指令泄露”攻击发生泄露) | | 启用防火墙 | **100%**(在 10 多种攻击类型中 0 泄露) | ## 🖥️ 技术栈 Python · FastAPI · Groq (Llama 3.3) · Streamlit · Plotly · 基于 Regex 的模式检测 ## 🚀 自行运行 ``` # 1. Clone repo git clone https://github.com/YOUR_USERNAME/ai-defending-ai.git cd ai-defending-ai # 2. 创建虚拟环境 python -m venv venv venv\Scripts\activate # Windows source venv/bin/activate # Mac/Linux # 3. 安装依赖 pip install -r requirements.txt # 4. 将你的免费 Groq API key 添加到 .env 文件中 echo GROQ_API_KEY=your_key_here > .env # 5. 运行 secure app uvicorn secure_app:app --reload --port 8001 # 6. 在新终端中,运行 attacker python attacker.py # 7. 在另一个终端中,启动 dashboard streamlit run dashboard.py ``` ## 🔮 未来改进 - 用训练有素的 ML 分类器替代 Regex 规则来进行攻击检测 - 添加速率限制和基于 IP 的异常检测 - 使用真实的越狱数据集扩展攻击库 - 添加第二个 LLM 作为独立的“裁判”来审查被标记的消息 ## 📌 重要性说明 这不是一个玩具聊天机器人——它是一个针对当前已被列入 **OWASP Top 10 for LLM Applications** 的确切漏洞类别(Prompt Injection)的有效演示。如今,每家在生产环境中部署 LLM 的公司都面临着这个问题。 本项目是作为对 AI 安全和对抗性 ML 持续探索的一部分而构建的。
标签:AI防火墙, AV绕过, FastAPI, Kubernetes, Streamlit, 大语言模型安全, 提示词注入防御, 机密管理, 红队自动化, 访问控制, 越狱防护, 逆向工具