rathaur-ankit/AI-Firewall
GitHub: rathaur-ankit/AI-Firewall
基于本地 ONNX 机器学习模型的全栈 API 网关,用于实时检测并拦截针对 LLM 应用的 prompt injection 攻击。
Stars: 0 | Forks: 0
# 🛡️ AI Firewall
一款智能的全栈 API 网关和聊天界面,旨在保护大型语言模型 (LLM) 应用程序免受 prompt injection 攻击。它使用本地机器学习模型拦截、扫描并过滤用户输入,然后再将安全的请求路由到 Google Gemini API。
## 🚀 在线演示
* **前端 Web App:** [AI Firewall (Vercel)](https://ai-firewall-frontend-dfhh5flrn-ankit-1cb9.vercel.app/login)
* **后端 API URL:** [AI Firewall API (Render)](https://ai-firewall-mm0x.onrender.com/)
## ✨ 核心特性
* **实时威胁检测:** 利用本地 ONNX 机器学习模型(基于 `@xenova/transformers` 的 `protectai/deberta-v3-base-prompt-injection-v2`)在服务器端全面检测恶意的 prompt injection——无需任何第三方安全 API。
* **ChatGPT 风格的 UI:** 简洁、极简且响应式的聊天界面,专为与生成式 AI 进行无干扰交互而构建。
* **基于角色的访问控制 (RBAC):** 安全的认证流程,支持普通用户和特权管理员。
* **管理员审计仪表板:** 一个受限的门户,管理员可以在此实时监控流量、查看被拦截的 prompt 并分析威胁日志。
* **云端数据库与缓存:** 使用 MongoDB Atlas 进行永久日志存储,并使用 Redis Cloud 进行安全、快速的数据处理,实现稳健的数据管理。
* **Gemini 2.5 集成:** 无缝连接到 Google 高效的 `gemini-2.5-flash` 模型以获取快速响应。
## 🛠️ 技术栈
**前端**
* 框架:React (基于 Vite)
* 路由:React Router v6
* 样式:Tailwind CSS & shadcn/ui
* 图标:Lucide React
**后端**
* 运行时:Node.js & Express.js
* AI 引擎:Google Generative AI API (`gemini-2.5-flash`)
* 安全扫描器:Transformers.js
* 数据库:MongoDB Atlas & Redis Labs
## ⚙️ 架构工作流
1. **用户输入:** 用户通过 React 前端提交 prompt。
2. **安全拦截:** Node.js 后端接收到该 prompt,并将其传递给本地的 `deberta-v3` 模型。
3. **评估:**
* 如果**被标记(恶意):** 请求将被拦截,向用户返回警报,并将该尝试记录在 MongoDB 中供管理员查看。
* 如果**安全:** 该 prompt 将被转发至 Google Gemini API。
4. **响应:** LLM 生成回复,后端将其发送回用户的聊天窗口。
## 💻 本地设置与安装
### 前置条件
* Node.js (v18+)
* MongoDB URI
* Redis Cloud URI
* Google Gemini API Key
### 后端设置
```
# Clone 仓库
git clone https://github.com/rathaur-ankit/AI-Firewall.git
cd AI-Firewall/Backend
# Install 依赖
npm install
# Create .env 文件并添加你的凭据
# PORT=5000
# MONGO_URI=your_mongodb_uri
# REDIS_HOST=your_redis_host
# REDIS_PORT=your_redis_port
# REDIS_PASS=your_redis_password
# GEMINI_API=your_gemini_api_key
# JWT_SECRET=your_jwt_key
# 启动服务器
npm run dev
```
*注意:首次运行时,服务器会将约 233MB 的量化 AI 模型下载到本地 `.cache` 文件夹中,供 injection 扫描器使用。*
### 前端设置
```
cd ../Frontend
# Install 依赖
npm install
# Create 带有 backend URL 的 .env 文件
# VITE_API_URL=http://localhost:5000/api
# 启动 development 服务器
npm run dev
```
## 🤝 贡献
欢迎贡献代码、提交 issue 和功能请求!请随时查看 issues 页面。
标签:AI安全, API网关, Chat Copilot, CNCF毕业项目, DLL 劫持, GNU通用公共许可证, MITM代理, Node.js, ONNX模型, React, Syscalls, 大语言模型, 提示词注入防护, 搜索引擎查询, 自定义脚本