You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.7 KiB
4.7 KiB
代码漏洞检测系统部署指南
系统要求
后端要求
- Python 3.8+
- pip 包管理器
- 至少 2GB 可用内存
前端要求
- Node.js 16+
- npm 或 yarn 包管理器
快速启动
方式一:使用批处理脚本(Windows)
- 双击运行
start_all.bat自动启动前后端服务 - 等待服务启动完成
- 访问 http://localhost:3000
方式二:手动启动
启动后端服务
# 进入后端目录
cd backend
# 安装依赖
pip install -r requirements.txt
# 启动服务
python main.py
后端服务将在 http://localhost:8000 启动
启动前端服务
# 进入前端目录
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm start
前端服务将在 http://localhost:3000 启动
配置说明
环境变量配置
创建 .env 文件在 backend 目录下:
# 数据库配置
DATABASE_URL=sqlite:///./code_scanner.db
# AI服务配置
DEEPSEEK_API_KEY=your_deepseek_api_key_here
DEEPSEEK_API_URL=https://api.deepseek.com/v1/chat/completions
# 文件上传配置
UPLOAD_FOLDER=uploads
MAX_CONTENT_LENGTH=16777216
# 扫描配置
MAX_SCAN_FILES=1000
SCAN_TIMEOUT=300
# 报告配置
REPORTS_FOLDER=reports
# 日志配置
LOG_LEVEL=INFO
LOG_FILE=app.log
数据库配置
系统默认使用 SQLite 数据库,数据库文件位于 backend/code_scanner.db
如需使用其他数据库,修改 DATABASE_URL 环境变量:
# PostgreSQL
DATABASE_URL=postgresql://user:password@localhost/code_scanner
# MySQL
DATABASE_URL=mysql://user:password@localhost/code_scanner
功能使用指南
1. 项目管理
- 访问前端页面,点击"项目管理"
- 点击"新建项目"按钮
- 填写项目信息:
- 项目名称
- 项目描述
- 编程语言(Python/C++/JavaScript等)
- 项目路径(本地文件系统路径)
2. 代码扫描
- 在项目列表中选择要扫描的项目
- 点击"扫描"按钮
- 选择扫描类型:
- 全量扫描:扫描所有文件
- 增量扫描:只扫描修改的文件
- 自定义扫描:根据配置扫描
- 等待扫描完成
3. 查看报告
- 扫描完成后,可在"报告中心"查看漏洞详情
- 支持多种筛选条件:
- 按严重程度筛选
- 按漏洞分类筛选
- 按状态筛选
- 支持导出多种格式:
- HTML报告
- PDF报告
- Excel报告
- JSON数据
4. 仪表板
仪表板提供系统概览:
- 项目统计
- 扫描统计
- 漏洞统计
- 趋势分析
- 分类分布
API文档
后端API文档在服务启动后可通过以下地址访问:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
故障排除
常见问题
-
后端启动失败
- 检查Python版本是否满足要求
- 检查依赖包是否正确安装
- 检查端口8000是否被占用
-
前端启动失败
- 检查Node.js版本是否满足要求
- 检查npm依赖是否正确安装
- 检查端口3000是否被占用
-
扫描失败
- 检查项目路径是否正确
- 检查文件权限
- 查看后端日志获取详细错误信息
-
AI增强功能不工作
- 检查DeepSeek API密钥是否正确配置
- 检查网络连接
- 查看API调用日志
日志查看
- 后端日志:
backend/app.log - 前端日志:浏览器开发者工具控制台
生产环境部署
Docker部署(推荐)
- 创建
docker-compose.yml:
version: '3.8'
services:
backend:
build: ./backend
ports:
- "8000:8000"
environment:
- DATABASE_URL=sqlite:///./code_scanner.db
volumes:
- ./data:/app/data
frontend:
build: ./frontend
ports:
- "3000:3000"
depends_on:
- backend
- 启动服务:
docker-compose up -d
传统部署
-
后端部署:
- 使用 gunicorn 或 uvicorn 作为WSGI服务器
- 配置反向代理(Nginx)
- 设置进程管理(systemd/supervisor)
-
前端部署:
- 构建生产版本:
npm run build - 将构建文件部署到Web服务器
- 配置反向代理指向后端API
- 构建生产版本:
性能优化
-
数据库优化
- 为常用查询字段添加索引
- 定期清理历史数据
- 考虑使用连接池
-
扫描性能优化
- 调整扫描并发数
- 使用增量扫描减少重复工作
- 缓存扫描结果
-
前端优化
- 启用代码分割
- 使用CDN加速静态资源
- 启用Gzip压缩
安全注意事项
-
API安全
- 配置CORS策略
- 实施API限流
- 使用HTTPS
-
数据安全
- 定期备份数据库
- 加密敏感配置信息
- 限制文件上传类型和大小
-
访问控制
- 实施用户认证
- 配置角色权限
- 记录操作日志