cybertarr-A/CyberVerseAI
GitHub: cybertarr-A/CyberVerseAI
CyberVerse AI 是一个基于多智能体架构的自动化安全情报平台,通过 AI 驱动的代码扫描和漏洞分析帮助团队识别和评估代码中的安全风险。
Stars: 0 | Forks: 0
# CyberVerse AI
CyberVerse AI 是一个自主多智能体安全情报平台,旨在自动化代码扫描、漏洞分析和威胁情报映射。它由强大的 FastAPI/Celery 后端和现代的 Next.js/Three.js 前端提供支持,提供了一个“精英工程师”仪表板,用于可视化零日风险和结构性代码缺陷。
## 功能特性
- **多智能体架构**:专用于资产情报、安全分析、验证和报告的 AI Agent。
- **异步任务管道**:基于 Celery 和 Redis 构建,可异步处理深层代码库克隆和高强度的 LLM 分析。
- **精英全息仪表板**:带有 Three.js 渲染功能的 Next.js 前端,用于实时扫描可视化。
- **安全优先架构**:集成了速率限制、安全的伪随机生成器、子进程隔离以及 CWE/OWASP 漏洞映射。
- **云就绪**:完全容器化,为 AWS 和 Vercel 部署做好准备。
## 本地开发设置
要在 Linux/macOS 机器上本地运行 CyberVerse AI:
### 前置条件
- Python 3.10+
- Node.js 18+
- Redis(必须安装并运行,或通过 Docker 提供)
### 1. 环境配置
在 `backend/` 和 `frontend/` 目录中复制 `.env.example` 文件(或创建新的 `.env` 文件)。
**后端 (`backend/.env`):**
```
APP_ENV=development
# 如果在开发环境中留空,后端将自动生成安全的本地 SQLite DB 和 secret key。
NVIDIA_API_KEY=your_nvidia_nim_api_key_here
```
**前端 (`frontend/.env.local`):**
```
NEXT_PUBLIC_BACKEND_REST_URL=http://localhost:8090/api/v1
NEXT_PUBLIC_BACKEND_WS_URL=ws://localhost:8090/ws/scan
```
### 2. 安装依赖
**后端:**
```
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
**前端:**
```
### 3. Launch the Stack (本地)
To run the full stack locally:
1. **Start Redis**:
Ensure Redis is running locally on port `6379`.
2. **Start Backend API Server**:
```bash
cd backend
source .venv/bin/activate
# Run migrations
alembic upgrade head
# Start Uvicorn
python -m uvicorn app.main:app --host 0.0.0.0 --port 8090
```
3. **启动 Celery Worker**:
在一个单独的终端窗口中:
cd backend
source .venv/bin/activate
python -m celery -A app.core.celery:celery_app worker --loglevel=info --concurrency=4 --prefetch-multiplier=1
4. **启动前端开发服务器**:
在一个单独的终端窗口中:
cd frontend
npm run dev
- **前端仪表板**:`http://localhost:3000`
- **后端 API 文档**:`http://localhost:8090/docs`
## 生产部署(Railway 和 Vercel)
CyberVerse AI 配置了强大、生产级的云部署方案,前端利用 **Vercel**,后端架构利用 **Railway**。
### 目标架构
```
Frontend (Vercel)
↓ (HTTP / WebSocket)
FastAPI Backend (Railway API Service)
├── Railway PostgreSQL
├── Railway Redis
└── Celery Worker (Railway Worker Service)
```
### 1. Railway 服务配置
1. 在 Railway 中**创建新项目**。
2. **添加数据库**:
- 添加一个 **PostgreSQL** 服务数据库。
- 添加一个 **Redis** 服务数据库。
3. **添加 FastAPI API 后端服务**:
- 将该服务链接到你的 GitHub 仓库。
- 将 **Root Directory** 设置为 `backend`。
- Railway 将自动检测 `backend/Dockerfile` 和 `backend/railway.json` 配置。
- 添加所需的环境变量(见下文)。
4. **添加 Celery Worker 服务**:
- 在同一个 Railway 项目中,添加另一个服务并链接到相同的 GitHub 仓库。
- 将 **Root Directory** 设置为 `backend`。
- 将 **Start Command** 设置为:
celery -A app.core.celery:celery_app worker --loglevel=info --concurrency=4 --prefetch-multiplier=1
- 添加所需的环境变量(见下文)。
### 2. 环境变量配置
在 Railway 仪表板中配置以下环境变量:
#### API 服务 (`backend`):
- `APP_ENV`:`production`
- `DATABASE_URL`:`${{Postgres.DATABASE_URL}}`(通过链接服务自动注入)
- `REDIS_URL`:`${{Redis.REDIS_URL}}`(通过链接服务自动注入)
- `SECRET_KEY`:加密安全的随机字符串(通过 `openssl rand -hex 32` 生成)
- `NVIDIA_API_KEY`:你的 Nvidia NIM API 密钥(在生产环境中为必填项)
- `PREFERRED_LLM_PROVIDER`:`nvidia`
- `CORS_ORIGINS`:`https://cyber-verse-ai.vercel.app`(你的自定义 Vercel 域名)
#### Celery Worker 服务:
- `APP_ENV`:`production`
- `DATABASE_URL`:`${{Postgres.DATABASE_URL}}`
- `REDIS_URL`:`${{Redis.REDIS_URL}}`
- `SECRET_KEY`:加密安全的随机字符串(与 API 服务的密钥匹配)
- `NVIDIA_API_KEY`:你的 Nvidia NIM API 密钥
- `PREFERRED_LLM_PROVIDER`:`nvidia`
### 3. 前端部署 (Vercel)
1. 将你的 GitHub 仓库导入 Vercel。
2. 链接到 `frontend` 目录。
3. 配置以下构建时环境变量:
- `NEXT_PUBLIC_BACKEND_REST_URL`:由 Railway 生成的生产环境 API URL(例如 `https://cyberverse-api.up.railway.app/api/v1`)
- `NEXT_PUBLIC_BACKEND_WS_URL`:由 Railway 生成的生产环境 WebSocket URL(例如 `wss://cyberverse-api.up.railway.app/ws/scan`)
4. 部署前端应用程序。
## 架构概述
- **后端框架**:FastAPI (Python)
- **任务队列**:Celery + Redis
- **数据库**:通过 SQLAlchemy/Alembic 使用 SQLite(本地)/ PostgreSQL(生产)
- **前端**:Next.js (React)、Zustand、Three.js (React Three Fiber)
- **AI 集成**:Nvidia NIM API (`moonshotai/kimi-k2.6`),利用动态重试循环来增强速率限制的弹性。
<<<<<<< HEAD
=======
标签:AV绕过, DLL 劫持, FastAPI, 多智能体, 大语言模型, 安全智能, 搜索引擎查询, 测试用例, 请求拦截, 逆向工具