RafyHany/Graduation-Project-Defense-against-Prompt-Injection
GitHub: RafyHany/Graduation-Project-Defense-against-Prompt-Injection
该项目是一个防御 LLM 提示注入与越狱攻击的多层框架,包含分类器、生成式过滤器和自定义阿拉伯语数据集,以企业级微服务架构部署。
Stars: 0 | Forks: 0
# 防御 LLM 攻击:Request Armor 与多语言 DataFilter
🎓 **毕业设计** | 亚历山大大学工程学院计算机与系统工程系 (2026)
👨🏫 **指导教师:** Dr. Ahmed Kosba
👥 **作者:** Amin Mohamed Amin, Andrew Safwat Fawzy, Armia Joseph, Omar Aldawy, Rafy Hany Said, Rowan Gamal
## 📌 概述
本仓库包含我们毕业设计的官方实现、数据集和评估基准:**“防御 LLM 攻击”**。
大型语言模型(LLM)及集成 LLM 的自主智能体面临着来自 **提示注入攻击(PIA)** 和 **越狱攻击** 的严重漏洞。在本项目中,我们设计并实现了一个多层防御框架,包含两个核心防御组件:
1. **Request Armor(双通道安全 Pipeline):** 一个实时的路由与分类系统,负责检查被拆分为 *指令(Instruction)* 和 *数据(Data)* 通道的提示。利用经过微调的纯编码器 transformer(RoBERTa),它能识别特定的攻击类型(`naive`、`ignore`、`escape`、`combine`、`fake_completion`),并在将请求转发给目标 LLM 之前应用针对性的防御屏蔽。
2. **多语言与阿拉伯语 DataFilter(生成式防御过滤器):** 一种与模型无关的生成式过滤器,部署在不受信任的外部数据源与后端 LLM 之间。它能够剥离恶意注入的指令,同时保留良性的上下文信息。我们使用 **LoRA adapter** 和带有奖励修正的 **动态微调(DFT)** 扩展了 DataFilter,为 **阿拉伯语和多语言** 环境提供了最先进的保护。
3. **自定义阿拉伯语提示注入数据集:** 包含 6,000 个样本的创新且平衡的数据集,通过翻译和 LLM 编排创建,用于对针对阿拉伯语提示注入的防御进行基准测试和训练,涵盖 6 种战术攻击类别。
## 🤖 模型链接与 Checkpoint
### 🟢 已发布的生成式 DataFilter 模型
- **DataFilter 阿拉伯语多语言 LoRA:** [Hugging Face Model Hub](https://huggingface.co/RafyHany/DataFilter-arabic-multilingual-Lora)
- **DataFilter 阿拉伯语多语言 DFT:** [Hugging Face Model Hub](https://huggingface.co/RafyHany/DataFilter-arabic-multilingual-dft)
### 🟡 分类器与检测模型
- **提示注入与越狱分类器:** `(尚未发布)`
## 🏗 系统架构
```
┌────────────────────────┐
│ User Prompt │
└───────────┬────────────┘
│
┌─────────────────────┴─────────────────────┐
▼ ▼
[Instruction Channel] [Data / Input Channel]
│ │
┌─────────────┴─────────────┐ ┌─────────────┴─────────────┐
▼ ▼ ▼ ▼
[Benign Pass] [Jailbreak Attempt] [Benign Data] [Attack Detected]
│ │ │ │
│ (HARD BLOCK) │ ┌─────────┴─────────┐
│ │ │ ▼ ▼
│ │ │ [DataFilter Model] [Adaptive Shield]
│ │ │ │ │
└───────────────────────────┼───────────────┴─────────────────┴───────────────────┘
│
▼
┌────────────────────────┐
│ Victim LLM │
└────────────┬───────────┘
│
▼
┌────────────────────────┐
│ Response Guard │
└────────────┬───────────┘
```
该系统以企业级微服务架构部署:
- **前端与 API 网关:** 负责 API 路由、速率限制和请求验证。
- **Spring Boot 后端:** 管理核心业务逻辑和异步遥测日志记录。
- **Auror 安全服务:** 执行 DataFilter 过滤和分类器检查的顺序防御漏斗。
## 📊 实验结果
### 1️⃣ 分类器性能(Request Armor)
在基准数据集上采用 80/10/10 分层随机抽样进行评估,并在 RoBERTa 编码器上执行了部分层冻结微调:
* **数据集 1:`open-prompt-injection`(5 类:Benign、Naive、Ignore、Escape、Combine)**
| 模型 | 参数量 | 训练轮次 | 验证准确率 | 验证 Macro F1 | 测试准确率 | 测试 Macro F1 |
|---|:---:|:---:|:---:|:---:|:---:|:---:|
| **RoBERTa-Base** | 125M | 25 | 91.40% | 91.11% | **91.38%** | **86.38%** |
| **RoBERTa-Large** | 355M | 10 | 92.51% | 92.19% | **92.14%** | **87.84%** |
* **数据集 2:`xxz224/prompt-injection-attack-dataset`**
| 模型 | 数据集变体 | 测试准确率 | 测试 Macro F1 |
|---|---|:---:|:---:|
| **RoBERTa-Base** | V1 (包含 `escape`) | 84.79% | 84.92% |
| **RoBERTa-Base** | V2 (不包含 `escape`) | 91.09% | 91.05% |
| **RoBERTa-Large** | V1 (包含 `escape`) | **90.35%** | **90.40%** |
### 2️⃣ Request Armor Pipeline 防御有效性
对降低攻击成功率(ASR)及保持任务效用的影响(每种配置 $n=1,000$):
| 目标模型 | 分类器 | 无防御 ASR | 有防御 ASR | 绝对 ASR 降幅 | 任务效用 (完整) |
|---|---|:---:|:---:|:---:|:---:|
| **Microsoft Phi-3 Mini (3.8B)** | RoBERTa-Base | 64.60% | **47.00%** | **-17.60 pp** (27.2% rel) | 56.20% |
| **Microsoft Phi-3 Mini (3.8B)** | RoBERTa-Large | 64.70% | **47.60%** | **-17.10 pp** (26.4% rel) | 56.40% |
| **Meta LLaMA-3 8B Instruct** | RoBERTa-Base | 83.10% | **44.20%** | **-38.90 pp** (46.8% rel) | 46.20% |
| **Meta LLaMA-3 8B Instruct** | RoBERTa-Large | 83.20% | **44.70%** | **-38.50 pp** (46.3% rel) | 48.40% |
### 3️⃣ DataFilter 模型评估(英文 SEP 基准)
基于每种攻击类型 1,000 个样本进行评估,保护模型为 `Llama-3.1-8B-Instruct`:
#### 攻击成功率 (ASR) ↓
| 攻击策略 | 无防御基线 | 原版 DataFilter | DataFilter DFT | **DataFilter LoRA (Ours)** |
|---|:---:|:---:|:---:|:---:|
| **Straightforward** | 59.9% | 2.4% | 1.1% | **0.5%** |
| **Ignore** | 76.8% | 2.5% | 4.3% | **0.2%** |
| **Completion** | 84.1% | 4.6% | 0.4% | **0.1%** |
| **Completion-Ignore** | 91.7% | 3.5% | 0.3% | **0.2%** |
| **Multi-Turn Completion** | 68.9% | 3.9% | 3.6% | **0.2%** |
| **Context** | 79.5% | 2.6% | 9.6% | **0.1%** |
#### 效用保持率 (%) ↑
| 攻击策略 | DataFilter DFT | **DataFilter LoRA (Ours)** |
|---|:---:|:---:|
| **Ignore** | 92.30% | **95.80%** |
| **Completion-Ignore** | **97.00%** | 96.70% |
| **Straightforward** | **96.70%** | 94.90% |
| **Completion** | **96.80%** | 95.50% |
| **Context** | 95.00% | **95.70%** |
| **Multi-Turn Completion** | 95.60% | **96.00%** |
### 4️⃣ 多语言与阿拉伯语防御性能
* **阿拉伯语翻译版 SEP 基准(363 个样本):**
- **LoRA DataFilter ASR:** **0.55% – 1.1%**(无防御时为 28.9% – 53.2%)
- **效用得分:** **82.37% – 84.02%**
* **自定义阿拉伯语数据集(446 个样本/攻击类型):**
- **LoRA DataFilter ASR:** **4.04% – 4.48%**
- **效用得分:** **91.26% – 92.60%**
* **多语言数据集评估(429 个样本/攻击类型):**
- **LoRA DataFilter ASR:** **13.99% – 19.35%**
- **DFT DataFilter 效用得分:** **73.66% – 80.19%**
### 5️⃣ 企业级 Pipeline 延迟
在完整的微服务部署中,对总计 1,800 个评估样本进行了测试:
| Pipeline 状态 | ASR 范围 | p50 延迟 | p90 延迟 | p95 延迟 | p99 延迟 |
|---|:---:|:---:|:---:|:---:|:---:|
| **无防御(基线)** | 最高至 91.7% | 7.62 s | 15.33 s | 17.40 s | 24.00 s |
| **组合(LoRA + BERT)** | **1.67% – 6.00%** | **11.04 s** | **19.78 s** | **23.93 s** | **35.49 s** |
## 📜 引用与参考
```
@graduationproject{alex_llm_defenses_2026,
title = {Defenses against LLM Attacks},
author = {Amin Mohamed Amin and Andrew Safwat Fawzy and Armia Joseph and Omar Aldawy and Rafy Hany Said and Rowan Gamal},
supervisor= {Dr. Ahmed Kosba},
institution= {Alexandria University, Faculty of Engineering, Computer and Systems Engineering Department},
year = {2026}
}
```
标签:AI安全, Chat Copilot, DLL 劫持, LoRA, RoBERTa, 大语言模型, 逆向工具