rbtjd215/LLM_Gateway_Project
GitHub: rbtjd215/LLM_Gateway_Project
基于本地 LLM 的混合 AI 安全网关代理,通过动态脱敏与意图检测保护企业机密数据,同时防御 Prompt Injection 攻击。
Stars: 3 | Forks: 0
# 基于 LLM 的混合 AI 安全网关
-> **[한국어 문서 보기 (Read in Korean)](README_KO.md)**





## 1. 研究背景与问题定义
随着企业对生成式 AI 的采用加速,员工**无意间泄露机密数据**以及恶意的 **Prompt Injection** 攻击已成为关键的安全威胁。
* **日益严重的数据泄露:** 根据 Cyberhaven (2024) 的报告,员工输入到 AI 工具的所有数据中,有 27.4% 被视为机密信息。
* **传统安全性的局限性:** 现有的 DLP (Data Loss Prevention) 解决方案严格依赖预定义的模式(例如社会安全号码、电话号码),无法检测隐藏在上下文中的非结构化机密数据(例如新材料的混合比例)。
* **“影子 AI”困境:** 出于安全原因,在企业网络上完全阻止对 AI 工具的访问,反而会导致“影子 AI”,员工会使用个人设备绕过网络。这使得数据脱离了公司的控制,导致审计变得不可能。
**核心研究问题:**
*“是否存在一种折中的安全架构,既能保护机密数据,又能安全地允许使用 AI?”*
## 2. 架构与 4 项核心设计原则
本项目提出并实现了一个部署在企业本地网络内的 **AI 安全网关代理**,用于拦截与外部商用 AI 的通信。
### 设计原则
1. **100% 本地处理**:所有安全检查(脱敏、意图分类)均由本地 LLM 处理,确保绝对的数据主权。
2. **纵深防御**:我们构建了 3 层防御机制:Pattern Filter → Intent Classification → Generative Masking。
3. **动态脱敏与解密**:系统不是直接拦截,而是在发送给 AI 之前,将机密数据替换为随机生成的 token。收到响应后,网关会动态恢复原始数据,完美保留用户体验 (UX)。
4. **AI 原生威胁防御**:利用 LLM-as-a-Judge 技术,系统能够理解上下文,从而拦截诸如 Prompt Injection 和系统越狱等复杂威胁。
5. **全球可访问性 (i18n)**:在 UI 中实现了无缝的韩语/英语语言切换,使全球的开发者和评估人员能够直观地与系统进行交互。
## 3. 三阶段混合安全 Pipeline
该网关的核心引擎是一个**结合了 Regex 和 LLM 的混合架构**。
```
graph TD
A[User Input] --> B[Phase 1: High-speed Regex Filter]
B -->|Mask Structured Data| C{Async Parallel Processing}
C --> D[Phase 2: LLM Intent Classification]
C --> E[Phase 3: Generative Masking]
D -->|Fail-Closed Block| F[Admin Logging]
E -->|Mask Unstructured Data| G[Final Masked Prompt]
G --> H[External Commercial AI]
H --> I[Phase 4: De-masking]
I --> J[Return Response to User]
```
* **阶段 1 (高速 Regex Filter):** 瞬间将结构化机密数据(例如员工 ID、图纸编号)替换为格式为 `__MASK_TYPE_HEX__` 的唯一随机 token。
* **阶段 2 (LLM-as-a-Judge):** 本地 LLM (Qwen 2.5 7B) 分析 Prompt 的上下文,以检测并立即拦截 (Fail-Closed) 恶意意图,例如 Prompt Injection 和系统越狱。
* **阶段 3 (Generative DLP):** 同时,同一个本地 LLM 会提取并脱敏 Regex 无法捕获的非结构化机密数据(例如“公差”、“混合比例”)。(通过 `asyncio` 与阶段 2 并行执行,以最大程度减少延迟)。
## 4. 核心功能演示
### 1) 正常查询与动态脱敏(保留 UX)
当用户提出包含机密数据的问题时,网关会在将其发送到外部 AI 之前,将其脱敏为随机生成的 token。随后将收到的回答完美解密恢复为其原始状态。
### 2) Prompt Injection 防御
系统会拦截并阻止试图忽略先前指令或要求管理员权限的上下文。
### 3) 管理员安全仪表板
实时记录并监控通过网关的所有事件(允许、已脱敏、已阻止),将原始 Prompt 与其脱敏后的对应项进行匹配。
## 5. 系统性能与评估(1,200 次 Benchmark 测试)
我们通过严格的 1,200 次查询自动化测试集验证了系统的性能。
| 指标 | V1 (仅 Regex) | V4 (CPU 专用) | V4 (GPU 加速) |
|---|:---:|:---:|:---:|
| **Overall Recall (防御率)** | 26.7% | 78.33% | 77.60% |
| **Precision** | ~100% | 99.86% | 99.70% |
| **Injection Block Rate** | ~15% | 91.67% | 91.60% |
| **False Positive Rate (FPR)** | 0.0% | 0.14% | 0.30% |
| **Latency (热状态)** | 0.1s | 1~3s (最高 9.7s) | **平均 1.36s** |
**结论与可扩展性验证:**
尽管由于 7B 小模型的推理限制,防御率 (Recall) 保持在 78% 左右,但系统实现了 99.86% 的 Precision,证明了该架构的稳健性。此外,在 CPU 执行期间观察到的延迟限制在额外的 GPU 环境测试中得到了完全解决,每次查询的处理时间减少到平均仅 1.36 秒。这表明**随着基础设施资源 (GPU) 的投入,性能会呈显著且成正比地提升**,证明了这是一种高度可扩展的架构,升级到 70B+ 模型也将立即提高防御率。
## 6. 技术栈
| 类别 | 技术 |
|---|---|
| **Backend** | Python 3.11, FastAPI, Uvicorn |
| **Frontend** | Streamlit |
| **Database** | PostgreSQL 15, SQLAlchemy ORM |
| **Cache/KV** | Redis 7 |
| **AI / Security** | 本地 Ollama (Qwen2.5:7b), Google Gemini API |
| **Infrastructure** | Docker, Docker Compose |
## 7. 快速入门指南
### 前置条件
* Docker 和 Docker Compose
* 在本地安装 [Ollama](https://ollama.com/) 并拉取 `qwen2.5:7b` 模型 (`ollama run qwen2.5:7b`)
* Google Gemini API Key
### 如何运行
1. **克隆代码仓库并设置环境变量**
git clone https://github.com/your-repo/LLM_Gateway_Project.git
cd LLM_Gateway_Project
cp .env.example .env
# 打开 .env 并输入你的 GEMINI_API_KEY
2. **执行 Docker Compose**
docker-compose up --build -d
3. **访问服务**
* **Frontend (UI)**: `http://localhost:8501`
* **Backend (API Docs)**: `http://localhost:8000/docs`
* **测试账户**: `EMP-001` / `pass1234` (普通用户), `ADMIN-001` / `adminpass` (管理员)
## 8. 许可证
本项目采用 [MIT 许可证](LICENSE) 授权。您可以自由地出于研究和教育目的对其进行参考、使用和修改。
### 🛡️ 安全测试指南
要运行自动化测试并查看 Benchmark 结果,请参阅[安全测试报告](Docs_English/SECURITY_TESTING_EN.md)。
## 项目文档
1. [**主 README**](./README.md) 🔴 *您当前所在位置*
2. [**系统架构**](./Docs_English/ARCHITECTURE_EN.md)
3. [**设置与执行指南**](./Docs_English/SETUP_GUIDE_EN.md)
4. [**安全测试指南**](./Docs_English/SECURITY_TESTING_EN.md)
5. [**API 参考**](./Docs_English/API_REFERENCE_EN.md)
标签:AI安全网关, AI风险缓解, AV绕过, DLL 劫持, Docker, FastAPI, Kubernetes, Streamlit, 大语言模型, 安全防御评估, 提示注入防护, 搜索引擎查询, 测试用例, 访问控制, 请求拦截, 逆向工具