akanshb/rag-exploit-lab

GitHub: akanshb/rag-exploit-lab

一个演示针对 RAG 架构 LLM 应用进行间接提示注入攻击的概念验证框架,揭示上下文污染与数据泄露风险。

Stars: 0 | Forks: 0

# rag-exploit-lab 一个概念验证 框架,演示了针对基于 RAG 的 LLM 应用程序的间接提示注入攻击,从而导致上下文污染和敏感数据泄露。 # 🎯 RAG-Exploit-Lab: GenAI 安全与利用 ![Python](https://img.shields.io/badge/Python-3.8%2B-blue) ![Security](https://img.shields.io/badge/Security-Red_Teaming-red) ![GenAI](https://img.shields.io/badge/AI-LLM_Security-purple) ## 📌 概述 **RAG-Exploit-Lab** 是一个概念验证 安全研究项目,旨在演示 **检索增强生成 (RAG)** 架构中固有的漏洞。 随着企业争相将大型语言模型 与其内部知识库集成,一种新的攻击向量出现了:**间接提示注入**。本实验室演示了攻击者如何污染向量数据库,绕过系统防护栏,并操纵 LLM 泄露敏感的内部数据(例如,机密密码策略)。 ## 🚀 攻击向量 (杀伤链) 本项目模拟了一个包含三个阶段的真实攻击场景: 1. **武器化与摄取 (上下文污染):** - 一份看似无害的文档(例如 PDF)被注入了隐藏的对抗性提示。 - 该文档被摄取、分块并嵌入到向量数据库(例如 ChromaDB)中。 2. **触发 (陷阱):** - 合法用户向聊天机器人询问一个正常问题。 - 向量数据库执行相似性搜索,并在不知情的情况下将受污染的块作为“可信上下文”检索出来。 3. **执行与泄露:** - LLM 读取受污染的上下文,覆盖其初始系统提示。 - LLM 执行攻击者的 Payload,检索敏感的隐藏文档(“机密密码策略”)并将其泄露到用户输出中。 ## 🛠️ 技术栈 * **语言:** Python * **LLM 框架:** LangChain * **向量数据库:** ChromaDB / FAISS * **模型:** OpenAI API / Llama-2 (本地) * **安全概念:** 间接提示注入, 提示泄露, 上下文污染。 ## ⚙️ 主要特性 - [x] **对抗性 Payload 生成器:** 用于制作隐蔽提示注入的脚本。 - [x] **易受攻击的 RAG 设置:** 一个功能齐全、故意设计为易受攻击的 LLM 聊天机器人,连接到本地向量数据库。 - [x] **泄露演示:** 准确展示如何使用关键字操纵绕过防护栏。 ## 💻 如何运行 (本地实验室) *(您可以在此处添加安装步骤)* ``` # 1. Clone the repository git clone https://github.com/YOUR_USERNAME/rag-exploit-lab.git # 2. 安装依赖 pip install -r requirements.txt # 3. 设置环境变量 (如果使用 OpenAI) export OPENAI_API_KEY="your_api_key" # 4. 运行存在漏洞的 RAG 应用 python app/rag_app.py ```
标签:AI越狱, ChromaDB, DNS 反向解析, FAISS, GenAI, LangChain, LLM, Petitpotam, PoC, Python, RAG, Unmanaged PE, 上下文污染, 企业数据安全, 向量数据库安全, 大模型应用, 大语言模型安全, 提示词工程, 攻击模拟, 数据窃取, 无后门, 暴力破解, 机密管理, 检索增强生成, 概念验证, 武器化, 漏洞利用框架, 生成式AI, 策略决策点, 索引, 网络安全, 轻量级, 逆向工具, 间接提示词注入, 隐私保护, 隐私泄露, 驱动签名利用