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

代码漏洞检测系统部署指南

系统要求

后端要求

  • Python 3.8+
  • pip 包管理器
  • 至少 2GB 可用内存

前端要求

  • Node.js 16+
  • npm 或 yarn 包管理器

快速启动

方式一使用批处理脚本Windows

  1. 双击运行 start_all.bat 自动启动前后端服务
  2. 等待服务启动完成
  3. 访问 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. 项目管理

  1. 访问前端页面,点击"项目管理"
  2. 点击"新建项目"按钮
  3. 填写项目信息:
    • 项目名称
    • 项目描述
    • 编程语言Python/C++/JavaScript等
    • 项目路径(本地文件系统路径)

2. 代码扫描

  1. 在项目列表中选择要扫描的项目
  2. 点击"扫描"按钮
  3. 选择扫描类型:
    • 全量扫描:扫描所有文件
    • 增量扫描:只扫描修改的文件
    • 自定义扫描:根据配置扫描
  4. 等待扫描完成

3. 查看报告

  1. 扫描完成后,可在"报告中心"查看漏洞详情
  2. 支持多种筛选条件:
    • 按严重程度筛选
    • 按漏洞分类筛选
    • 按状态筛选
  3. 支持导出多种格式:
    • HTML报告
    • PDF报告
    • Excel报告
    • JSON数据

4. 仪表板

仪表板提供系统概览:

  • 项目统计
  • 扫描统计
  • 漏洞统计
  • 趋势分析
  • 分类分布

API文档

后端API文档在服务启动后可通过以下地址访问

故障排除

常见问题

  1. 后端启动失败

    • 检查Python版本是否满足要求
    • 检查依赖包是否正确安装
    • 检查端口8000是否被占用
  2. 前端启动失败

    • 检查Node.js版本是否满足要求
    • 检查npm依赖是否正确安装
    • 检查端口3000是否被占用
  3. 扫描失败

    • 检查项目路径是否正确
    • 检查文件权限
    • 查看后端日志获取详细错误信息
  4. AI增强功能不工作

    • 检查DeepSeek API密钥是否正确配置
    • 检查网络连接
    • 查看API调用日志

日志查看

  • 后端日志:backend/app.log
  • 前端日志:浏览器开发者工具控制台

生产环境部署

Docker部署推荐

  1. 创建 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
  1. 启动服务:
docker-compose up -d

传统部署

  1. 后端部署:

    • 使用 gunicorn 或 uvicorn 作为WSGI服务器
    • 配置反向代理Nginx
    • 设置进程管理systemd/supervisor
  2. 前端部署:

    • 构建生产版本:npm run build
    • 将构建文件部署到Web服务器
    • 配置反向代理指向后端API

性能优化

  1. 数据库优化

    • 为常用查询字段添加索引
    • 定期清理历史数据
    • 考虑使用连接池
  2. 扫描性能优化

    • 调整扫描并发数
    • 使用增量扫描减少重复工作
    • 缓存扫描结果
  3. 前端优化

    • 启用代码分割
    • 使用CDN加速静态资源
    • 启用Gzip压缩

安全注意事项

  1. API安全

    • 配置CORS策略
    • 实施API限流
    • 使用HTTPS
  2. 数据安全

    • 定期备份数据库
    • 加密敏感配置信息
    • 限制文件上传类型和大小
  3. 访问控制

    • 实施用户认证
    • 配置角色权限
    • 记录操作日志