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, 大语言模型, 提示词注入防护, 搜索引擎查询, 自定义脚本