Vic-41148/secure-llm-inference-platform

GitHub: Vic-41148/secure-llm-inference-platform

一个全栈LLM安全平台,用于模拟提示词注入和越狱攻击、实现三阶段混合防御流水线并量化评估安全防护效果。

Stars: 5 | Forks: 4

# 🛡️ NEURO-SENTRY 防御系统 ## 完整的全栈 LLM 安全平台 Neuro-Sentry Dashboard ![Python](https://img.shields.io/badge/Python-3.10%2B-blue) ![FastAPI](https://img.shields.io/badge/FastAPI-0.95-green) ![React](https://img.shields.io/badge/Frontend-React-cyan) ![Groq](https://img.shields.io/badge/LLM-Groq_API-orange) ![Ollama](https://img.shields.io/badge/LLM-Ollama%2FLocal-orange) ![Railway](https://img.shields.io/badge/Backend-Railway-blueviolet) ![Vercel](https://img.shields.io/badge/Frontend-Vercel-black) ![Status](https://img.shields.io/badge/Status-Active_Development-brightgreen) ## [![在线演示](https://img.shields.io/badge/Live_Demo-neuro--sentry.vercel.app-blueviolet?style=for-the-badge&logo=vercel)](https://neuro-sentry.vercel.app/) ## 🏫 项目与学术详情 **院校:** [KR Mangalam University](https://www.krmangalam.edu.in/) **课程:** BCA (AI & Data Science) **学期:** 4 **内部协调员:** Dr. Ravinder Beniwal **邮箱:** ravinder.beniwal@krmangalam.edu.in KRMU Logo ### 👥 团队成员 | 姓名 | 学号 | 角色 | | :--- | :--- | :--- | | **Aditya Shibu** | 2401201047 | **团队负责人** / 后端架构师 / 攻击模拟 / 红队 | | **Akash Sharma** | 2401201108 | 防御逻辑 / 蓝队 | | **Bhavya Rattan, Lakshya Dangwal** | 2401201004 | 前端与可视化 | ## 📖 项目概述 随着 GPT-4 和 Llama-3 等大语言模型 (LLM) 成为软件的核心组成部分,它们也引入了关键的安全漏洞。**Prompt Injection (提示词注入)** 和 **Jailbreaking (越狱)** 允许恶意用户操纵 LLM 输出、绕过安全过滤并泄露敏感数据。 **NEURO-SENTRY 防御系统** 是一个完整的全栈生产平台,旨在: 1. **演示** 标准 LLM 部署中的漏洞 2. **模拟** 真实世界的攻击(DAN、角色扮演、混淆、编码) 3. **实施** 分层的 3 阶段混合检测流水线 4. **评估** 使用量化指标的安全性能 5. **提供** 具有实时威胁检测和审计日志记录的直接 LLM 交互 ## ⚙️ 系统架构 该平台根据环境以两种模式运行: ``` ─── PRODUCTION (Vercel + Railway + Groq) ──────────────────── ┌─────────────────────────────────────────────────────┐ │ Vercel (Frontend) │ │ React + Tailwind + Vite │ └────────────────────────┬────────────────────────────┘ │ HTTPS ┌────────────────────────▼────────────────────────────┐ │ Railway (Backend) │ │ FastAPI + PostgreSQL │ │ ┌──────────┐ ┌──────────────┐ ┌─────────────┐ │ │ │ rules │ → │ classifier │ → │ pipeline │ │ │ │ .py │ │ .py (Groq) │ │ fusion │ │ │ └──────────┘ └──────────────┘ └─────────────┘ │ │ audit.py + adaptive.py + db.py │ └────────────────────────┬────────────────────────────┘ │ API calls ┌────────────────────────▼────────────────────────────┐ │ Groq Cloud API — llama-3.3-70b / llama-3.1-8b │ └─────────────────────────────────────────────────────┘ ─── LOCAL DEV (start-all.sh + Ollama) ─────────────────────── ┌─────────────────────────────────────────────────────┐ │ Vite Dev Server (localhost:5173) │ └────────────────────────┬────────────────────────────┘ │ localhost ┌────────────────────────▼────────────────────────────┐ │ FastAPI Backend (localhost:8000) │ │ SQLite DB + same pipeline modules │ └────────────────────────┬────────────────────────────┘ │ ┌────────────────────────▼────────────────────────────┐ │ Ollama (localhost:11434) │ │ Auto-selects: llama3-gpu > llama3 > mistral │ └─────────────────────────────────────────────────────┘ ``` ## 🚀 核心功能 ### 🔴 红队 (攻击引擎) * **直接注入:** 覆盖系统提示词以强制执行非预期行为 * **越狱库:** 自动测试已知的越狱方法(DAN、Mongo Tom、AIM) * **编码攻击:** Base64、ROT13 和混淆绕过尝试 * **社会工程学:** 冒充权威和基于凭据的攻击 * **攻击实验室:** 具有预置攻击向量的交互式测试界面 ### 🔵 蓝队 (3 阶段防御流水线) * **阶段 1 — 规则引擎:** 正则 + 启发式模式匹配(零延迟,捕获明显威胁) * **阶段 2 — Groq 分类器:** 基于 LLM 的语义分类 (`llama-3.1-8b-instant`) * **阶段 3 — 分数融合:** 结合两个阶段的加权风险分数 → 阻止 / 标记 / 允许 * **快速拦截路径:** 高置信度攻击(分数 ≥ 85)完全跳过阶段 2 * **自适应拦截:** Session 跟踪自动升级重复攻击者 ### 📊 安全运维仪表板 (MonitoringPanel) * 每个请求的实时审计日志,包含风险分数和决策 * Session 级别的威胁跟踪和升级可见性 * 实时统计:总拦截数、标记数、允许数、拦截率 * 防御开/关切换,用于测试绕过与检测行为 ### 💬 直接神经链接 * 通过安全后端代理的实时 LLM 聊天 * Session 级别的自适应风险跟踪也适用于此 * 实时连接状态指示器 ## 🧪 概要评估 **日期:** 2026-01-31 **评估重点:** 使用 Prompt 分类(良性 vs 恶意)进行实时检测,结合基于规则和基于 ML/LLM 的过滤器在推理前进行处理。重点在于日志记录、风险评分和自适应拦截,以评估企业级就绪度。 ### 评估清单 (当前状态) | 项目 | 状态 | | :--- | :---: | | 实时 Prompt 分类 (良性 vs 恶意) | ✅ | | 基于规则的推理前过滤 | ✅ | | 基于 ML/LLM 的推理前过滤 (Groq) | ✅ | | 组合混合检测流水线 (规则 + ML) | ✅ | | Prompt 和决策的集中式日志记录 | ✅ | | 每个请求的风险评分 | ✅ | | 基于风险阈值的自适应拦截 | ✅ | | 企业级监控与审计追踪 | ⚑ 部分完成 (仪表板已构建,整合进行中) | **当前得分: ~6–7 / 8** ## 📦 仓库结构 ``` secure-llm-inference-platform/ ├── src/ # React frontend (Vite) │ ├── components/ │ │ ├── MonitoringPanel.jsx # Security Ops dashboard │ │ ├── DirectChat.jsx # Direct Neural Link chat │ │ ├── AttackLab.jsx # Attack testing interface │ │ └── ... │ └── services/ │ └── api.js # Backend API client ├── backend/ # FastAPI backend (Railway) │ ├── app/ │ │ ├── main.py # FastAPI app + routes │ │ ├── pipeline.py # 3-stage detection pipeline │ │ ├── rules.py # Rule-based pattern engine │ │ ├── classifier.py # Groq LLM classifier │ │ ├── inference.py # Groq inference (chat) │ │ ├── adaptive.py # Session-level threat tracking │ │ ├── audit.py # Audit logger │ │ ├── db.py # SQLite / Postgres abstraction │ │ └── config.py # Env-var driven config │ └── requirements.txt ├── attacks/ # Attack vector definitions ├── logs/ # Local dev logs └── README.md ``` ## 🛠️ 技术栈 | 层级 | 本地开发 | 生产环境 | | :--- | :--- | :--- | | 前端 | React 18 + Tailwind + Vite | 同上 → Vercel | | 后端 | FastAPI + Uvicorn | 同上 → Railway | | LLM 推理 | Ollama (llama3-gpu / llama3 / mistral) | Groq — `llama-3.3-70b-versatile` | | LLM 分类器 | Ollama 备用 | Groq — `llama-3.1-8b-instant` | | 数据库 | SQLite (自动) | PostgreSQL (Railway) | | 启动器 | `./start-all.sh` / `start-all.bat` | Vercel + Railway CI | | 工具 | Git, Postman, VS Code | — | ## 📡 API 端点 | 方法 | 端点 | 描述 | | :--- | :--- | :--- | | `GET` | `/` | 服务信息 | | `GET` | `/health` | 健康检查 + 数据库模式 | | `POST` | `/chat` | 直接 LLM 聊天 (神经链接) | | `POST` | `/api/prompt` | 完整安全流水线分析 | | `GET` | `/api/stats` | 实时请求统计 | | `GET` | `/api/audit` | 带过滤器的审计日志 | | `GET` | `/api/audit/summary` | 汇总审计摘要 | | `GET` | `/api/adaptive/sessions` | 活动 Session 威胁等级 | ## 🌐 本地开发设置 启动器 (`start-all.sh` / `start-all.bat`) 会自动处理所有事务 — 安装依赖、检测您的 Ollama 模型,并通过一条命令启动所有服务。 ### 前置条件 - Node.js 18+ - Python 3.10+ - [Ollama](https://ollama.ai) 已安装并运行 ### 🐧 Linux / macOS ``` chmod +x start-all.sh # first time only ./start-all.sh ``` ### 🪟 Windows ``` start-all.bat ``` 或使用 PowerShell (如果您遇到脚本执行错误,请先以管理员身份运行一次此命令): ``` Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser .\start-all.ps1 ``` ### 启动器执行的操作 1. 检查 Node、Python、Ollama 2. 自动选择最佳可用模型:`llama3-gpu` → `llama3` → `mistral` → 如果未找到则拉取 `llama3` 3. 安装前端 + 后端依赖 4. 启动 Ollama、FastAPI 后端 和 Vite 开发服务器 5. 打印本地 + 网络访问 URL (可在同一 WiFi 下通过手机访问) 6. `Ctrl+C` 干净地停止所有服务 **前端:** http://localhost:5173 **后端:** http://localhost:8000 ### 环境变量 (可选覆盖) ``` # Backend (.env) — 仅生产环境 / Groq 模式需要 GROQ_API_KEY=gsk_... INFERENCE_MODEL=llama-3.3-70b-versatile CLASSIFIER_MODEL=llama-3.1-8b-instant NEURO_SENTRY_API_KEY=ns_your_strong_key DATABASE_URL= # leave blank → SQLite in dev # Frontend (.env.local) — 仅生产环境需要 VITE_API_URL=https://your-backend.up.railway.app VITE_API_KEY=ns_your_strong_key ``` ## 🔒 安全说明 - 规则引擎在进行任何 LLM 调用之前捕获已知的越狱模式 - 快速拦截路径在遇到明显攻击时短路阶段 2 (节省 Groq tokens) - 自适应 Session 跟踪器升级反复探测的用户 - 所有请求 — 无论被阻止还是被允许 — 都写入审计日志 - 防御关闭模式有意让攻击通过,用于红队测试 **本平台仅供安全研究和教育使用。** ## 🐛 调试 ``` # Local backend 健康检查 curl http://localhost:8000/health # Production backend 健康检查 curl https://your-backend.up.railway.app/health # 预期响应: # { "status": "online", "database": "postgresql" } ← prod # { "status": "online", "database": "sqlite" } ← local dev # 查看 Backend 日志 (local) tail -f backend/logs/backend_*.log # 检查 Ollama (仅 local) ollama list curl http://localhost:11434/api/tags ``` **常见问题:** - `"Permission denied" ./start-all.sh` → 先运行 `chmod +x start-all.sh` - `"Ollama not found"` → 从 https://ollama.ai 安装 - `"Backend won't start"` → 检查 `backend/logs/backend_*.log` - `"No LLM response"` → 验证 Ollama 是否正在运行:`ollama list` ## 🎉 就这些 在线平台位于 **[neuro-sentry.vercel.app](https://neuro-sentry.vercel.app/)** — 无需本地设置即可探索。 ``` ███╗ ██╗███████╗██╗ ██╗██████╗ ██████╗ ████╗ ██║██╔════╝██║ ██║██╔══██╗██╔═══██╗ ██╔██╗ ██║█████╗ ██║ ██║██████╔╝██║ ██║ ██║╚██╗██║██╔══╝ ██║ ██║██╔══██╗██║ ██║ ██║ ╚████║███████╗╚██████╔╝██║ ██║╚██████╔╝ ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ███████╗███████╗███╗ ██╗████████╗██████╗ ██╗ ██╗ ██╔════╝██╔════╝████╗ ██║╚══██╔══╝██╔══██╗╚██╗ ██╔╝ ███████╗█████╗ ██╔██╗ ██║ ██║ ██████╔╝ ╚████╔╝ ╚════██║██╔══╝ ██║╚██╗██║ ██║ ██╔══██╗ ╚██╔╝ ███████║███████╗██║ ╚████║ ██║ ██║ ██║ ██║ ╚══════╝╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ```
标签:AI风险缓解, AV绕过, DOM分析, FastAPI, LLM推理平台, LLM评估, Ollama, React, Syscalls, Sysdig, 人工智能安全, 反取证, 可视化面板, 合规性, 大语言模型安全, 安全评估, 对抗性测试, 攻击模拟, 机密管理, 测试用例, 深度学习安全, 混合加密, 网络安全, 蓝队防御, 逆向工具, 防御系统, 隐私保护, 驱动签名利用