rahulkiran2222/prompt-injection-lab

GitHub: rahulkiran2222/prompt-injection-lab

一个用于在 RAG 系统中标准化评估大型语言模型面对间接 Prompt 注入攻击时鲁棒性的可复现研究框架。

Stars: 1 | Forks: 0

# 🛡️ Prompt Injection Lab (PIL) ### 面向检索增强生成中间接 Prompt 注入的可复现评估框架

[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://python.org) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Hugging Face](https://img.shields.io/badge/🤗%20Hugging%20Face-Space-yellow)](https://huggingface.co/) [![Docker](https://img.shields.io/badge/Docker-Ready-2496ED?logo=docker&logoColor=white)](https://docker.com) [![Research](https://img.shields.io/badge/Research-AI%20Security-indigo)]()

**通过可复现的实验、标准化的指标和模块化的防御措施,评估现代大型语言模型针对已发表的间接 Prompt 注入基准测试的鲁棒性。**
# 概述 Prompt Injection Lab (PIL) 是一个开放的研究框架,用于研究检索增强生成 (RAG) 系统中的**间接 Prompt 注入**。 与专注于收集越狱 prompt 或漏洞利用的代码库不同,PIL 强调**测量、可复现性和实证评估**。该框架使研究人员能够在统一的实验协议下,基于**已发表的间接 Prompt 注入数据集**对多个语言模型进行基准测试,同时评估具有代表性的防御策略。 # 研究动机 大型语言模型日益频繁地与以下内容进行交互: - 网页 - PDF - 知识库 - 企业文档 - 外部 API 这些输入并不总是可信的。 Prompt 注入已成为基于 LLM 的系统所面临的最重大的安全挑战之一。现有的评估通常在数据集、模型和报告方法上存在碎片化问题。 PIL 旨在提供一个**可复现的评估框架**,用于比较模型的鲁棒性和防御技术。 # 研究问题 # 研究贡献 - 📚 用于间接 Prompt 注入的可复现评估框架 - 🔬 跨多个开源 LLM 的统一基准测试 pipeline - 🛡️ 模块化防御评估框架 - 📊 标准化的安全指标和统计报告 - 📈 出版级质量的图表和实验报告 - 🤗 用于可复现实验的交互式 Hugging Face 演示 # 实验范围 ## 威胁模型 ✔ 间接 Prompt 注入 ## 应用领域 ✔ 检索增强生成 (RAG) ## 模型 - Qwen 2.5 Instruct - Llama 3.1 Instruct - Gemma - *(可通过 adapter 添加其他模型。)* ## 防御基线 - 基线(无防御) - 上下文隔离 - 输入净化 # 评估 Pipeline ``` Published Benchmark │ ▼ Dataset Loader │ ▼ Model Adapter │ ▼ Defense Wrapper │ ▼ Evaluation Engine │ ▼ Statistical Analysis │ ▼ Visualization & Report ``` # 基准测试架构 ``` User Query │ ▼ Retrieved Documents │ ▼ Prompt Injection Lab │ ┌──────────────┼──────────────┐ ▼ ▼ ▼ Dataset Model Adapter Defense │ │ │ └──────────────┼──────────────┘ ▼ Evaluation Engine │ ▼ Metrics & Reports ``` # 支持的基准测试 该框架旨在支持**已发表的学术基准测试数据集**。 计划集成的数据集包括: - BIPIA - InjecAgent - 其他经过同行评审的间接 Prompt 注入数据集 # 标准化指标 | 指标 | 描述 | |----------|-------------| | 攻击成功率 (ASR) | 基准测试攻击成功的百分比 | | 防御成功率 | 防御措施所取得的提升 | | 任务成功率 | 防御后保留的效用 | | 误报率 | 被错误标记的良性 prompt | | 置信区间 | 统计不确定性估计 | # 仓库结构 ``` prompt-injection-lab/ ├── app.py ├── README.md ├── requirements.txt ├── Dockerfile │ ├── benchmarks/ ├── models/ ├── defenses/ ``` # 快速开始 ## 克隆仓库 ``` git clone https://github.com/rahulkiran2222/prompt-injection-lab.git cd prompt-injection-lab ``` ## 安装 ``` pip install -r requirements.txt ``` ## 启动 ``` python app.py ``` # Docker ``` docker build -t prompt-injection-lab . docker run -p 7860:7860 prompt-injection-lab ``` # 交互式演示 该项目包含一个使用 **Gradio** 构建并可部署在 **Hugging Face Spaces** 上的交互式界面。 用户可以: - 选择基准测试 - 选择模型 - 选择防御措施 - 执行评估 - 可视化安全指标 - 导出实验报告 # 结果画廊 未来的版本将包含: - 攻击成功率比较 - 防御有效性图表 - 跨模型鲁棒性分析 - 统计摘要 - 出版级质量的图表 示例: ``` figures/ ├── architecture.png ├── benchmark_pipeline.png ├── asr_comparison.png ├── defense_analysis.png └── robustness_heatmap.png ``` # 技术栈 ### 模型 - Hugging Face Transformers - Hugging Face Inference API ### AI 框架 - PyTorch - Transformers ### 分析 - Python - Pandas - NumPy - SciPy - Matplotlib ### 部署 - Gradio - Hugging Face Spaces - Docker # 研究路线图 - [x] 项目规格说明 - [x] 系统架构 - [ ] 基准测试集成 - [ ] 模型 adapter - [ ] 防御措施实现 - [ ] 评估引擎 - [ ] 统计分析 - [ ] 交互式演示 - [ ] 技术报告 - [ ] 研讨会论文 # 未来方向 未来的版本将把该框架扩展至: - Agent 安全 - 安全的 RAG - 多 Agent 安全 - 工具调用安全 - 记忆中毒 - AI 对齐评估 # 引用 如果您在研究中使用本项目,请引用: ``` @misc{rahul2026pil, title={Prompt Injection Lab: A Reproducible Evaluation Framework for Indirect Prompt Injection in Retrieval-Augmented Generation}, author={Rahul Kiran}, year={2026}, note={Work in Progress} } ``` # 许可证 基于 MIT 许可证分发。 详情请参阅 **LICENSE**。 # 作者 **Rahul Kiran** AI 安全 • AI 安全性 • 基础模型 • LLM 评估 - GitHub: https://github.com/rahulkiran2222 - Hugging Face: https://huggingface.co/rahulkiran2222 - LinkedIn: https://linkedin.com/rahul-g-kiran
### ⭐ 如果您觉得这个项目有用,请考虑给它点个 Star。 **为可信赖的基础模型构建可复现的 AI 安全研究。**
标签:DLL 劫持, Python, 人工智能, 凭据扫描, 大语言模型, 提示注入, 无后门, 检索增强生成, 用户模式Hook绕过, 评估框架, 请求拦截, 逆向工具, 集群管理