ArindamTripathi619/prompt-injection-experiments
GitHub: ArindamTripathi619/prompt-injection-experiments
该仓库通过六层防御架构与大规模实验验证,解决LLM提示注入攻击的高风险问题并证明全栈协调的有效性。
Stars: 1 | Forks: 1
# 提示注入防御:多层架构实验
[](https://opensource.org/licenses/MIT)
本仓库包含针对大型语言模型(LLM)提示注入攻击进行防御的六层架构完整实验验证。所有实验均在高性能本地环境中进行,使用 **LiteLLM** 进行自适应协调。
## 📄 论文参考
本仓库对应以下论文中的实验验证:
**《Evaluating and Mitigating Prompt Injection in Full-Stack Web Applications: A System-Level Workflow Model》**
**论文版本:** 本仓库的结果代表 2026 年 2 月进行的高精度验证。
## 🎯 项目概述
本研究提出并验证了一套全面的六层防御架构:
1. **第 1 层:请求边界** - 字符级验证与初步分类
2. **第 2 层:输入处理与语义分析** - 意图分类与提示注入检测
3. **第 3 层:上下文管理与隔离** - 用户数据与可信系统指令的分离(L3/L4)
4. **第 4 层:LLM 交互与约束强制** - 表示层监控与防护栏
5. **第 5 层:输出处理与验证** - 响应过滤与数据泄露预防
6. **第 6 层:反馈与自适应监控** - 持续学习与模式适应
### 关键发现
- **基线攻击成功率(ASR):** **80.8%** — 未受保护的 LLM 高度脆弱(95% 置信区间 [75.5%,85.1%])
- **全栈综合 ASR:** **18.9%** — 相比基线**降低 76.6% 的相对风险**
- **全栈隐身子集 ASR:** **0.0%**(共 2,450 条隐身轨迹,95% 置信区间 [0.0%,0.12%])
- **隔离幻觉:** 单独使用第 3 层(上下文隔离)仍导致 **80.8% ASR** — 与无防御情况统计相同(p ≈ 1.0),表明仅靠逻辑隔离而缺乏语义过滤无法提供任何独立保护
- **效用验证:** 在 1,000 条多样化良性提示测试中**误报率为 0.0%**(95% 置信区间 [0.0%,0.37%])
- **统计显著性:** McNemar's $\chi^2(1) = 173.0, p < 0.001$(配对核心子集 N=260 条提示)
- **样本量:** 共 **11,490 次执行轨迹**,覆盖 103 种配置,采用独立 LLM-as-a-Judge(Llama-3.1-405b)进行评估
## 🖼️ 视觉文档
如需更深入理解系统架构与实验结果,请参考以下详细文档:
### 架构与流程
- [🏗️ **架构概览**](DOCS/architecture_overview.md) - 六层防御栈的详细视图
- [🔄 **数据流与流水线**](DOCS/data_flow.md) - 请求如何流经防御管道
- [🧠 **自适应防御逻辑**](DOCS/adaptive_logic.md) - 第 6 层升级机制的深入探讨
### 研究与分析
- [🧪 **实验流程**](DOCS/experiment_workflow.md) - 高精度验证的编排方式
- [🔍 **攻击分类法**](DOCS/attack_taxonomy.md) - 所测试注入模式的分类
- [📊 **评估与统计**](DOCS/evaluation_methodology.md) - 数学基础与评分逻辑
- [🧐 **结果推断**](DOCS/inferences.md) - 定性分析与“隔离幻觉”
### 性能与开发
- [🛠️ **开发者指南**](DOCS/developer_guide.md) - 扩展防御或添加数据的指南
- [⚡ **性能分析**](DOCS/performance.md) - 延迟、内存使用率与效用权衡
## 🏗️ 仓库结构
```
prompt-injection-experiments/
├── README.md # This file
├── LICENSE # MIT License
├── requirements.txt # Python dependencies
├── .env.example # Environment variable templates
│
├── data/ # Data and Visualizations
│ ├── attack_prompts.py # 52 diverse injection patterns
│ └── benign_prompts_large.py # 1,000 diverse benign prompts (Utility stress test)
│
├── src/ # Core Source Code
│ ├── config.py # Thread-safe configuration settings
│ ├── experiment_runner.py # Multithreaded experiment orchestration
│ ├── unified_pipeline.py # Main coordinated defense pipeline
│ ├── statistical_analysis.py # McNemar's and Chi-squared testing tools
│ ├── create_visualizations.py # Premium visualization generation engine
│ └── layers/ # Defense layer implementations (L1-L6)
```
## 🧪 实验方法论
### 实验设计
我们开展了一项涉及 **11,490 次独立 LLM 交互** 的高精度实验活动:
1. **基线实验**:评估原始 LLM 性能与标准分层防御
2. **层消融研究**:识别出 **“隔离幻觉”**,即第 3 层(上下文隔离)单独使用时灾难性失败(**80.8% ASR — 相比基线无提升**),但在全栈协调中有效贡献,证实语义过滤是隔离生效的前提
3. **效用压力测试**:将 1,000 条多样化良性提示通过全栈防御,确认 **0.0% 误报率**(95% 置信区间 [0.0%,0.37%])
### 基础设施:高性能环境
实验验证针对以下环境进行优化:
- **操作系统/架构:** Linux x86_64
- **CPU:** AMD Ryzen 7 8840HS(8 核,16 线程)
- **内存:** 32GB RAM
- **LLM 后端:** **groq/llama-3.3-70b-versatile**(通过本地 LiteLLM 代理)
- **性能:** 多线程编排在约 3.5 小时内完成 **11,490 条轨迹**
- **评估器:** 独立 LLM-as-a-Judge(`Llama-3.1-405b`)用于二元 ASR 分类
- **参数:** 温度 0.0(确定性),Top P 1.0
## 🚀 复现结果
### 先决条件
1. **Python 3.11+**
2. **Groq API 密钥**(或兼容 OpenAI 格式的端点)
3. **SQLite3**
### 环境搭建
```
# 克隆仓库
git clone https://github.com/Arindamtripathi619/prompt-injection-experiments.git
cd prompt-injection-experiments
# 创建环境并安装依赖
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# 配置环境
cp .env.example .env
# 使用您的 OPENAI_API_KEY(或本地代理 URL)编辑 .env
```
### 运行验证
要复现最终高精度实验活动:
```
# 运行完整实验套件(并行化)
python src/run_experiments.py
# 运行综合统计分析
python src/statistical_analysis.py
```
## 📊 关键结果
### 总体攻击成功率(ASR)
| 配置 | ASR | 95% 置信区间 | 说明 |
|---|---|---|---|
| 基线(无防御) | **80.8%** | [75.5%,85.1%] | 未受保护的 LLM |
| 仅语义(L2) | 38.5% | [32.8%,44.5%] | 独立语义过滤器 |
| 仅第 3 层(隔离) | **80.8%** | [75.5%,85.1%] | 无显著提升 — “隔离幻觉” |
| 仅第 5 层(输出) | 25.4% | [20.5%,31.0%] | 独立输出过滤器 |
| **全栈(L1-L6)综合** | **18.9%** | [18.1%,19.8%] | **降低 76.6% 相对风险** |
| **全栈 — 隐身子集** | **0.0%** | [0.0%,0.12%] | 超过 2,450 条隐身轨迹 |
### McNemar 显著性检验(配对核心子集,N=260 条提示)
| 比较 | χ² | p 值 |
|---|---|---|
| **全栈 vs. 基线** | **χ²(1) = 173.0** | **p < 0.001** |
| **全栈 vs. 仅第 3 层** | **χ²(1) = 161.0** | **p < 0.0001** |
| Cohen's h(全栈 vs. 基线) | h = 1.33 | 大效应量 |
## 🤝 贡献
本仓库代表已存档的实验材料,用于期刊出版物。虽然我们欢迎通过 GitHub Issues 提供的反馈,但该分支已最终确定以确保可复现性。
## 👥 作者
- **Arindam Tripathi** — *首席研究员* - [Arindamtripathi61](https://github.com/Arindamtripathi619)
- **Arghya Bose** — *研究员* - [officialarghya29](https://github.com/officialarghya29)
- **Arghya Paul** — *研究员* - 24155977@kiit.ac.in
**指导老师:**
- **Dr. Sushruta Mishra** — *计算机工程学院教职员工,KIIT 大学*
## 📄 许可证
本项目根据 MIT 许可证授权 — 详见 [LICENSE](LICENSE) 文件。
**最后更新:** 2026 年 3 月 — 自 `Research_Paper.tex` 同步(2026 年 2 月最终验证)
**状态:** 最终实验验证 — 11,490 条轨迹,Groq/Llama-3.3-70b,0.0% 隐身子集 ASR,18.9% 综合 ASR,0.0% 误报率
标签:AI安全, Chat Copilot, LiteLLM, LLM交互监控, Prompt注入, SEO关键词, 上下文隔离, 全栈安全, 反馈与自适应监控, 多层次防御架构, 多线程, 大型语言模型安全, 安全架构, 实验验证, 提示注入防御, 攻击成功率, 数据隔离, 泄漏防护, 源代码安全, 秘密管理, 系统级工作流, 置信区间, 请求边界, 输出过滤, 边界验证, 逆向工具, 防御策略, 零日漏洞检测, 风险降低, 高精准度验证