# 代码漏洞检测系统部署指南 ## 系统要求 ### 后端要求 - Python 3.8+ - pip 包管理器 - 至少 2GB 可用内存 ### 前端要求 - Node.js 16+ - npm 或 yarn 包管理器 ## 快速启动 ### 方式一:使用批处理脚本(Windows) 1. 双击运行 `start_all.bat` 自动启动前后端服务 2. 等待服务启动完成 3. 访问 http://localhost:3000 ### 方式二:手动启动 #### 启动后端服务 ```bash # 进入后端目录 cd backend # 安装依赖 pip install -r requirements.txt # 启动服务 python main.py ``` 后端服务将在 http://localhost:8000 启动 #### 启动前端服务 ```bash # 进入前端目录 cd frontend # 安装依赖 npm install # 启动开发服务器 npm start ``` 前端服务将在 http://localhost:3000 启动 ## 配置说明 ### 环境变量配置 创建 `.env` 文件在 `backend` 目录下: ```env # 数据库配置 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` 环境变量: ```env # 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文档在服务启动后可通过以下地址访问: - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ## 故障排除 ### 常见问题 1. **后端启动失败** - 检查Python版本是否满足要求 - 检查依赖包是否正确安装 - 检查端口8000是否被占用 2. **前端启动失败** - 检查Node.js版本是否满足要求 - 检查npm依赖是否正确安装 - 检查端口3000是否被占用 3. **扫描失败** - 检查项目路径是否正确 - 检查文件权限 - 查看后端日志获取详细错误信息 4. **AI增强功能不工作** - 检查DeepSeek API密钥是否正确配置 - 检查网络连接 - 查看API调用日志 ### 日志查看 - 后端日志:`backend/app.log` - 前端日志:浏览器开发者工具控制台 ## 生产环境部署 ### Docker部署(推荐) 1. 创建 `docker-compose.yml`: ```yaml 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 ``` 2. 启动服务: ```bash 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. **访问控制** - 实施用户认证 - 配置角色权限 - 记录操作日志