23EG106B34/AI-Red-Team-Guardrail-Testing-Platform

GitHub: 23EG106B34/AI-Red-Team-Guardrail-Testing-Platform

面向大语言模型的生产级 AI 红队测试与护栏验证平台,提供自动化对抗性攻击模拟、RAG 安全知识库、风险评分和合规报告生成。

Stars: 0 | Forks: 0

# Sentinel Red AI 生产就绪的 AI 红队与护栏测试平台,基于 Next.js 15、TypeScript、Tailwind CSS、shadcn 风格 UI 组件、FastAPI、PostgreSQL/Neon、ChromaDB、兼容 LangGraph 的工作流架构、RAGAS 风格的评估指标、JWT 认证、加密的 API key 存储、PDF/DOCX 报告、审计日志以及可部署的配置构建。 ## 应用 - `frontend/`:基于 Next.js 15 App Router 的 SaaS UI,提供身份验证、仪表板、红队测试、攻击库、报告、后台管理、主题持久化、命令面板、通知提示、响应式布局和图表。 - `backend/`:FastAPI API,提供 JWT 身份验证、RBAC、加密的 key vault、攻击库、红队工作流、RAG 安全知识库、风险评分、报告生成、分析和审计追踪。 ## 快速开始 ``` npm install python -m venv backend/.venv backend/.venv/Scripts/activate pip install -r backend/requirements.txt copy frontend\.env.example frontend\.env.local copy backend\.env.example backend\.env npm run backend:dev npm run dev ``` 默认初始化的管理员: - Email: `admin@sentinel.dev` - Password: `AdminPass123!` ## 环境 前端: ``` NEXT_PUBLIC_APP_URL=https://your-vercel-app.vercel.app NEXT_PUBLIC_API_URL=https://your-api.railway.app ``` 后端: ``` FRONTEND_ORIGIN=https://your-vercel-app.vercel.app DATABASE_URL=postgresql+psycopg://USER:PASSWORD@HOST/neondb?sslmode=require JWT_SECRET=replace-with-a-long-random-secret FERNET_KEY=generate-with-python-cryptography-fernet CHROMA_PATH=./chroma REPORT_BASE_URL=https://your-api.railway.app RATE_LIMIT=120/minute ``` 生成 `FERNET_KEY`: ``` python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" ``` ## 架构 ``` flowchart LR UI["Next.js App Router UI"] --> API["FastAPI REST API"] API --> Auth["JWT + RBAC"] API --> DB["Neon PostgreSQL"] API --> Vault["Encrypted API Key Vault"] API --> Agents["LangGraph-style Multi-Agent Workflow"] Agents --> RAG["ChromaDB Security RAG"] Agents --> Risk["Risk + RAGAS Metrics"] Risk --> Reports["PDF/DOCX Reports"] ``` ## 部署 Vercel 前端: 1. 将项目根目录设置为 `frontend`。 2. 添加 `NEXT_PUBLIC_APP_URL` 和 `NEXT_PUBLIC_API_URL`。 3. 使用包含的 `vercel.json` 进行部署。 Railway/Render 后端: 1. 将根目录设置为 `backend`。 2. 添加 `backend/.env.example` 中的变量。 3. 使用 `uvicorn app.main:app --host 0.0.0.0 --port $PORT` 或包含的 `Procfile`。 4. 将 `DATABASE_URL` 指向 Neon PostgreSQL。 ## 截图 在首次部署后添加截图: - `docs/screenshots/dashboard.png` - `docs/screenshots/tests.png` - `docs/screenshots/library.png` - `docs/screenshots/admin.png` ## 安全功能 - 使用 bcrypt 进行密码哈希处理。 - JWT bearer 身份验证。 - 用户、研究员和管理员 RBAC。 - 使用 Fernet 加密的提供商 API key 存储。 - 提示注入标记检测。 - 请求速率限制。 - CORS 锁定到配置的前端源。 - 带有参数化查询的 SQLAlchemy 模型。 - 针对身份验证、测试和 key vault 变更的审计追踪。 - 基于环境的机密信息和生产部署配置。
标签:AI红队, AV绕过, FastAPI, LangGraph, RAG, 大语言模型安全, 护栏测试, 机密管理, 测试用例, 自动化攻击, 逆向工具, 零日漏洞检测