salimassili62-afk/ai-agent-security-copilot

GitHub: salimassili62-afk/ai-agent-security-copilot

面向企业的 AI Agent 提示与输出安全扫描平台,检测提示注入、越狱、数据泄漏等威胁并映射 OWASP LLM Top 10,支持团队协作与 API 集成。

Stars: 0 | Forks: 0

# AI Security Copilot v2.0 - 企业版 🚀 **🔗 在线演示:https://ai-agent-security-copilot.vercel.app** **企业级 LLM 安全扫描,支持身份验证、团队协作、API 和计费功能。** ## ✨ v2.0 新特性 - **身份验证与用户管理** - 基于 JWT 的安全注册/登录 - **API Keys** - 用于集成的编程访问 - **团队支持** - 多用户组织支持 (Pro/Enterprise) - **扫描历史** - 支持分页的持久化数据库存储 - **分析仪表盘** - 安全指标与洞察 - **定价层级** - 集成 Stripe 的免费增值模式 - **Webhooks** - Slack/GitHub/Jira 集成 - **批量扫描** - 一次扫描多个输入 - **增强安全性** - Helmet, CORS, 速率限制 ## 🎯 各层级功能 | 功能 | Free | Starter ($29) | Pro ($99) | Enterprise ($499) | |---------|------|---------------|-----------|-------------------| | 每月扫描次数 | 50 | 500 | 2,000 | Unlimited | | 扫描历史 | ✅ | ✅ | ✅ | ✅ | | API Access | ❌ | ✅ | ✅ | ✅ | | Batch Scanning | ❌ | ✅ | ✅ | ✅ | | Team Features | ❌ | ❌ | ✅ | ✅ | | Integrations | ❌ | ❌ | ✅ | ✅ | | Priority Processing | ❌ | ❌ | ✅ | ✅ | | Custom Rules | ❌ | ❌ | ❌ | ✅ | | SLA | ❌ | ❌ | ❌ | ✅ | ## 🚀 快速开始 ### 前置条件 - Node.js 18+ - Supabase account (free tier) - Groq API key (可选,用于云端 AI) - Stripe account (可选,用于计费) ### 1. 克隆并安装 ``` git clone https://github.com/yourusername/ai-agent-security-copilot.git cd ai-agent-security-copilot npm install ``` ### 2. 设置 Supabase (免费) 1. 访问 [supabase.com](https://supabase.com) 并创建一个免费项目 2. 在你的项目中打开 SQL Editor 3. 复制 `database.sql` 的内容并运行 4. 前往 Project Settings → API 5. 复制 `URL` 和 `service_role key` ### 3. 配置环境 ``` cp .env.example .env ``` 使用你的凭证编辑 `.env`: ``` # Supabase (必需) SUPABASE_URL=https://your-project.supabase.co SUPABASE_SERVICE_KEY=your-service-role-key # Groq AI (可选 - 如未设置则使用 Ollama) GROQ_API_KEY=your-groq-key # JWT Secret (生成命令: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))") JWT_SECRET=your-super-secret-jwt-key # Stripe (可选 - 用于计费) STRIPE_SECRET_KEY=sk_test_your_key STRIPE_WEBHOOK_SECRET=whsec_your_secret ``` ### 4. 本地运行 ``` # 带自动重载的开发模式 npm run dev # 或生产模式 npm start ``` 打开 `http://localhost:3000` ## 🏗️ 架构 ``` Frontend (index.html + app.js) ├── Authentication UI (JWT-based) ├── Dashboard & Analytics ├── Scan Interface └── Billing & Pricing Backend (server.js) ├── Auth Routes (/api/auth/*) ├── Scan API (/api/scan) with tier limits ├── API Key Management (/api/apikeys) ├── Team Management (/api/teams) ├── Webhooks (/api/webhooks) ├── Analytics (/api/analytics) └── Billing (/api/checkout) Database (Supabase) ├── users (authentication) ├── scans (scan history) ├── api_keys (API access) ├── subscriptions (billing tiers) ├── teams & team_members └── webhooks (integrations) AI Providers ├── Groq (llama-3.1-8b-instant) - Cloud └── Ollama (local) - Free alternative ``` ## 📊 API 使用 ``` # 身份验证 POST /api/auth/register # Sign up POST /api/auth/login # Sign in GET /api/auth/me # Get current user # 扫描 POST /api/scan # Perform scan (supports batch) GET /api/scans # List scan history GET /api/scans/:id # Get single scan # API Keys POST /api/apikeys # Create API key GET /api/apikeys # List API keys DELETE /api/apikeys/:id # Revoke API key # Teams (Pro+) POST /api/teams # Create team GET /api/teams # List teams # 分析 GET /api/analytics # Get usage stats # 计费 GET /api/pricing # Get pricing tiers POST /api/checkout # Start checkout ``` ## 💳 设置 Stripe Billing 1. 创建一个 [Stripe](https://stripe.com) 账户 2. 从 Dashboard → Developers → API keys 获取 API keys 3. 将 keys 添加到 `.env` 4. 设置 webhook endpoint:`https://yourdomain.com/api/webhooks/stripe` 5. 选择事件:`checkout.session.completed` ## 🔧 部署 ### Vercel (推荐) 1. 推送到 GitHub 2. 导入到 [Vercel](https://vercel.com) 3. 添加环境变量 4. 部署! ### Railway/Render 1. 连接 GitHub repo 2. 添加环境变量 3. 推送时自动部署 ## 🛡️ 安全特性 - Helmet.js security headers - 基于层级的 Rate limiting - JWT authentication - API key 管理 - Input validation - Row Level Security (RLS) - CORS protection ## 📝 环境变量 | Variable | Required | Description | |----------|----------|-------------| | `SUPABASE_URL` | ✅ | Supabase project URL | | `SUPABASE_SERVICE_KEY` | ✅ | Supabase service role key | | `JWT_SECRET` | ✅ | Secret for JWT signing | | `GROQ_API_KEY` | ❌ | Groq API key | | `STRIPE_SECRET_KEY` | ❌ | Stripe secret | | `PORT` | ❌ | Server port (default: 3000) | ## 📄 许可证 MIT License **Built with ❤️ for AI security** ## 功能说明 - 粘贴可疑的 prompt/output/tool logs。 - 计算风险评分 (`0-100`)。 - 解释风险为高/中/低的原因。 - 适当时将发现映射到 **OWASP LLM Top 10 (2025)**。 - 输出分类结果 (**ALLOW / REVIEW / BLOCK / ESCALATE**)、置信度、误报风险以及 **一行 SOC/ticket note**。 - 可以 **复制** 样板文本或 **导出** Markdown 报告以用于 Jira/Confluence。 - 提供安全的修复建议。 - 在本地浏览器历史中存储最近的扫描记录。 ## 如何在本地运行 (使用 Ollama 免费) 1. 在 `c:\Users\salim\Desktop\ai-agent-security-copilot` 打开终端 2. 安装依赖: - `npm install` 3. 从 `https://ollama.com` 安装 Ollama 4. 拉取本地模型 (一次性): - `ollama pull llama3.1` 5. 启动 Ollama 应用/服务 6. 启动服务器: - `npm start` 7. 打开 `http://localhost:3000` 8. 点击 **Load Sample Attack** 9. 点击 **Scan Risk** 注意: - 默认情况下此应用使用本地 Ollama (免费)。 - 如果你设置了 `ANTHROPIC_API_KEY`,后端将改用 Claude。 ## 部署到 Vercel (免费) 1. 将此文件夹推送到 GitHub repository。 2. 在 Vercel 中,将 repository 作为新项目导入。 3. 添加环境变量: - `ANTHROPIC_API_KEY` = 你的真实 Anthropic key 4. 部署。 5. 打开你的 Vercel URL 并正常使用该应用。 可选的服务器调整 (环境变量):`MAX_SCAN_CHARS`, `OLLAMA_TIMEOUT_MS`, `ANTHROPIC_TIMEOUT_MS`, `OLLAMA_MODEL`, `OLLAMA_ENDPOINT`, `RATE_WINDOW_MS`, `RATE_MAX_REQUESTS`。 健康检查:`GET /api/health` 返回包含 `ok`、`version` 和 `requestId` 的 JSON。 ## 下一步升级 (准备就绪时) - 添加用户登录 (Supabase) - 在数据库中保存扫描历史 - 添加 Stripe 定价页面 - 添加用于团队集成的 API endpoint ## 演示 ![AI Security Copilot Demo](https://raw.githubusercontent.com/salimassili62-afk/ai-agent-security-copilot/main/screenshots/demo-scan.png)
标签:AI安全, AI智能体, AI风险缓解, API密钥管理, Chat Copilot, CISA项目, Claude API, DInvoke, GraphQL安全矩阵, HTTPX, JWT, MITM代理, Naabu, OSV, PostgreSQL, SaaS变现, SaaS应用, Stripe集成, Supabase, Sysdig, Vercel, Webhook集成, 人工智能安全, 企业级安全, 内容安全, 合规性, 后端开发, 团队协作, 大模型安全, 安全分析仪表盘, 安全扫描器, 提示词注入检测, 数据泄露防护, 无服务器架构, 网络安全, 网络探测, 越狱检测, 隐私保护, 零日漏洞检测