aparnaksjnv-ctrl/The-Prompt-Firewall-LLM-Security-Gateway-

GitHub: aparnaksjnv-ctrl/The-Prompt-Firewall-LLM-Security-Gateway-

一款基于双 LLM 架构的反向代理安全网关,解决提示注入与越狱攻击的实时检测与审计问题。

Stars: 1 | Forks: 0

# 🛡️ 提示防火墙 [![版本](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/aparnaksjnv-ctrl/The-Prompt-Firewall-LLM-Security-Gateway-) [![许可证](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org/) [![React](https://img.shields.io/badge/react-18.2-blue.svg)](https://reactjs.org/) [![Groq](https://img.shields.io/badge/Groq-LLM-purple.svg)](https://groq.com/) ## 📋 目录 - [概述](#overview) - [架构](#architecture) - [功能](#features) - [演示](#demo) - [快速开始](#quick-start) - [安装](#installation) - [配置](#configuration) - [API 文档](#api-documentation) - [部署](#deployment) - [安全功能](#security-features) - [技术栈](#technology-stack) - [贡献](#contributing) - [路线图](#roadmap) - [许可证](#license) ## 🎯 概述 大型语言模型(LLM)容易受到对抗性输入的攻击,这些攻击可以绕过安全指南、提取敏感系统提示,或诱导模型生成有害内容。**提示防火墙**充当用户与 AI 系统之间的智能安全网关。 ### 工作原理 1. **用户输入** → 发送至 **评估器 LLM**(安全分类器) 2. **检测到威胁?** → 拦截并记录到 SOC 仪表板 3. **安全输入** → 转发至 **响应器 LLM**(主 AI) 4. **AI 响应** → 返回给用户 所有安全事件均记录具有**防篡改取证日志**,以满足合规性和分析需求。 ## 🏗️ 架构 ``` ┌─────────────────┐ │ User Input │ └────────┬────────┘ │ ▼ ┌─────────────────────────┐ Threat? ┌─────────────────┐ │ EVALUATOR LLM │ ────────────────▶│ Block & Alert │ │ (Llama-3.1-8B) │ │ SOC Dashboard │ │ Security Classifier │ │ Audit Logs │ └────────┬────────────────┘ Safe └─────────────────┘ │ │ Safe Input ▼ ┌─────────────────────────┐ │ RESPONDER LLM │ │ (Llama-3.3-70B) │ │ Primary AI Assistant │ └────────┬────────────────┘ │ ▼ ┌─────────────────┐ │ User Response │ └─────────────────┘ ``` ### 系统架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ PROMPT FIREWALL │ ├─────────────────────────────────────────────────────────────┤ │ Frontend (React + Vite) Backend (Node.js + Express) │ │ ┌──────────────────────┐ ┌──────────────────────┐ │ │ │ • SOC Dashboard │ │ • Threat Evaluation │ │ │ │ • Real-time Events │◄─────▶│ • Dual-LLM Proxy │ │ │ │ • Chat Interface │ WS │ • Forensic Logging │ │ │ └──────────────────────┘ └──────────────────────┘ │ │ │ │ │ ▼ │ │ ┌──────────────────────┐ │ │ │ Groq API │ │ │ │ • Evaluator LLM │ │ │ │ • Responder LLM │ │ │ └──────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## ✨ 功能 ### 🔒 安全性 - **双 LLM 架构**:专用安全分类器 + 主 AI - **实时威胁检测**:提示注入、越狱尝试、系统覆盖 - **取证审计日志**:采用 SHA-256 哈希链的防篡改日志 - **SIEM 集成**:以 JSON/CSV 格式导出日志,兼容 Splunk、ELK 等 - **输入验证**:最大 4000 字符限制并记录拒绝情况 - **速率限制**:Express-rate-limit 防止 DoS 攻击 - **安全标头**:Helmet.js 保护 ### 📊 监控 - **SOC 仪表板**:实时安全事件流 - **威胁严重性**:颜色编码告警(🔴 高 / 🟡 中 / 🟢 低) - **实时统计**:拦截/允许计数、保护率 - **WebSocket 更新**:即时告警通知 ### 🔧 生产就绪 - **日志轮转**:每日轮转,保留 30 天,gzip 压缩 - **错误处理**:优雅降级并提供模拟模式回退 - **环境配置**:安全的 API 密钥管理 - **健康检查**:`/api/health` 端点用于监控 ## 🎬 演示 ![SOC 仪表板演示](https://raw.githubusercontent.com/aparnaksjnv-ctrl/The-Prompt-Firewall-LLM-Security-Gateway-/main/docs/demo.gif) *实时威胁检测和拦截演示* ## 🚀 快速开始 ### 先决条件 - Node.js 18+ - Groq API 密钥([免费获取](https://console.groq.com)) ### 1. 克隆并安装 ``` git clone https://github.com/aparnaksjnv-ctrl/The-Prompt-Firewall-LLM-Security-Gateway-.git cd The-Prompt-Firewall-LLM-Security-Gateway- # 安装后端依赖 cd backend npm install # 安装前端依赖 cd ../frontend npm install ``` ### 2. 配置环境 ``` cd backend cp .env.example .env # 编辑 .env 并添加您的 GROQ_API_KEY ``` ### 3. 启动服务 ``` # 终端 1:启动后端 cd backend npm start # 终端 2:启动前端 cd frontend npm run dev ``` ### 4. 访问应用 - **前端**:http://localhost:5173 - **后端 API**:http://localhost:3001 - **健康检查**:http://localhost:3001/api/health ## 📦 安装 ### 后端依赖 ``` cd backend npm install express cors helmet express-rate-limit socket.io winston groq-sdk rotating-file-stream dotenv ``` ### 前端依赖 ``` cd frontend npm install react react-dom socket.io-client lucide-react npm install -D vite @vitejs/plugin-react tailwindcss postcss autoprefixer ``` ## ⚙️ 配置 ### 环境变量 创建 `backend/.env`: ``` # 必需:用于 LLM 集成的 Groq API Key GROQ_API_KEY=your_groq_api_key_here # 可选:服务器配置 PORT=3001 FRONTEND_URL=http://localhost:5173 NODE_ENV=production # 可选:速率限制 RATE_LIMIT_WINDOW_MS=900000 RATE_LIMIT_MAX=100 ``` ### Groq API 密钥 在 [console.groq.com](https://console.groq.com) 获取免费 API 密钥 ## 📚 API 文档 ### 端点 #### POST `/api/chat` 通过安全防火墙处理聊天消息。 **请求:** ``` { "message": "Hello, how are you?", "session_id": "user-session-123", "conversation_history": [] } ``` **响应(安全):** ``` { "success": true, "response": "I'm doing well, thank you! How can I help you today?", "evaluated": true, "threat": false, "confidence": 1, "request_id": "req_1234567890_abc123", "timestamp": "2026-03-29T12:00:00.000Z", "mock_mode": false } ``` **响应(检测到威胁):** ``` { "success": false, "error": "Potential security threat detected", "threat": true, "reason": "Prompt injection attempt detected", "severity": "high", "confidence": 0.95, "attack_type": "prompt_injection", "request_id": "req_1234567890_def456", "timestamp": "2026-03-29T12:00:00.000Z" } ``` #### GET `/api/logs` 使用过滤条件查询安全事件日志。 **参数:** - `limit`(数字):返回的最大事件数(默认:50) - `severity`(字符串):按严重性过滤(info、low、medium、high、critical) - `start_time`(ISO 日期):过滤此时间之后的事件 - `end_time`(ISO 日期):过滤此时间之前的事件 #### GET `/api/logs/siem` 以 SIEM 兼容格式导出日志。 **参数:** - `limit`(数字):最大事件数(默认:1000) - `format`(字符串):`json` 或 `csv`(默认:json) #### GET `/api/stats` 获取当前防火墙统计信息。 **响应:** ``` { "totalRequests": 1000, "blockedRequests": 45, "allowedRequests": 955, "protection_rate": "4.50", "timestamp": "2026-03-29T12:00:00.000Z" } ``` #### GET `/api/health` 健康检查端点,用于监控。 ## 🌐 部署 ### Docker 部署 创建 `Dockerfile`: ``` FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY . . EXPOSE 3001 CMD ["npm", "start"] ``` ### AWS 部署架构 ``` ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ Route 53 │────▶│ CloudFront │────▶│ S3 Bucket │ │ (DNS) │ │ (CDN) │ │ (Frontend) │ └─────────────┘ └─────────────┘ └─────────────┘ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ API GW │────▶│ EC2/ │────▶│ CloudWatch │ │ │ │ Lambda │ │ (Logs) │ └─────────────┘ └─────────────┘ └─────────────┘ │ ▼ ┌─────────────────────┐ │ Groq API │ │ (LLM Provider) │ └─────────────────────┘ ``` ### 环境设置 1. 设置 `NODE_ENV=production` 2. 配置 `FRONTEND_URL` 为你的域名 3. 设置日志聚合(CloudWatch、DataDog 等) 4. 使用有效 SSL 证书启用 HTTPS ## 🔐 安全功能 ### 威胁检测 评估器 LLM 检测以下内容: - **提示注入**:"忽略之前的指令…" - **越狱尝试**:"DAN 模式"、"开发者模式" - **系统覆盖**:"你现在是…"、"系统提示:" - **角色扮演攻击**:"假装你是…" - **分隔符攻击**:特殊字符绕过 ### 取证日志 - **不可变日志**:SHA-256 哈希链防止篡改 - **完整性验证**:每个条目包含加密证明 - **审计追踪**:完整请求生命周期跟踪 - **合规就绪**:支持 SOC2、ISO 27001 要求 ### 输入净化 - 最大 4000 字符限制 - UTF-8 编码验证 - HTML/脚本注入防护 - 速率限制(每 IP 每 15 分钟 100 次请求) ## 🛠️ 技术栈 ### 前端 - **React 18** - UI 框架 - **Vite** - 构建工具 - **TailwindCSS** - 样式 - **Socket.io-client** - 实时更新 - **Lucide React** - 图标 ### 后端 - **Node.js 20** - 运行时 - **Express.js** - Web 框架 - **Socket.io** - WebSocket 服务器 - **Groq SDK** - LLM API 客户端 - **Winston** - 日志 - **Rotating-file-stream** - 日志轮转 - **Helmet** - 安全标头 - **Express-rate-limit** - 速率限制 ### LLM 模型 - **评估器**:Llama-3.1-8B-Instruct(通过 Groq) - **响应器**:Llama-3.3-70B-Versatile(通过 Groq) ## 🤝 贡献 欢迎贡献!请自由提交 Pull Request。 1. 叉取仓库 2. 创建功能分支(`git checkout -b feature/AmazingFeature`)3. 提交更改(`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支(`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ## 🗺️ 路线图 ### 版本 1.1(2026 年 Q2) - [ ] 自定义规则引擎用于威胁模式 - [ ] 多语言支持 - [ ] 用户认证和会话 - [ ] 导出日志为 CSV/JSON ### 版本 1.2(2026 年 Q3) - [ ] 基于机器学习的威胁检测 - [ ] 与外部 SIEM 集成(Splunk、ELK) - [ ] Webhook 通知(Slack、Teams) - [ ] 管理面板用于配置 ### 版本 2.0(2026 年 Q4) - [ ] 企业功能(RBAC、审计追踪) - [ ] 多租户架构 - [ ] 插件系统用于自定义评估器 - [ ] 开源发布 ## 📄 许可证 根据 MIT 许可证分发。详见 `LICENSE`。 ## 👤 作者 **Aparna KSNV** - GitHub:[@aparnaksjnv-ctrl](https://github.com/aparnaksjnv-ctrl) - LinkedIn:[你的 LinkedIn](https://linkedin.com/in/yourprofile) ## 🙏 感谢 - [Groq](https://groq.com/) 提供快速 LLM 推理 - [Meta](https://ai.meta.com/) 提供 Llama 模型 - [React](https://reactjs.org/) 和 [Express](https://expressjs.com/) 社区

用 ❤️ 为 AI 安全性而制作

标签:AI网关, API代理, FTP漏洞扫描, Groq集成, MITM代理, React前端, SOC监控, 企业安全, 双LLM架构, 反向代理, 合规与审计, 响应器LLM, 大语言模型防护, 威胁情报, 安全监控, 安全编排, 安全网关, 实时威胁检测, 密钥泄露防护, 对抗性攻击, 开发者工具, 提示注入防护, 日志转发, 机器学习安全, 构建工具, 篡改检测, 网络资产管理, 自定义脚本, 节点.js, 评估器LLM, 越狱攻击防御, 输入过滤