feat: 项目配置

master
chaol 4 months ago
parent 723b70fdbf
commit 5b94b9feb1

@ -0,0 +1,253 @@
# 代码漏洞检测系统部署指南
## 系统要求
### 后端要求
- 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. **访问控制**
- 实施用户认证
- 配置角色权限
- 记录操作日志

@ -0,0 +1,36 @@
# 代码漏洞检测报告系统
## 项目简介
基于AI增强的代码漏洞检测和报告生成系统类似SonarQube的功能。
## 技术栈
- 后端: FastAPI + SQLAlchemy + SQLite
- 前端: React + TypeScript + Ant Design
- AI集成: DeepSeek API
- 静态分析: 多种工具集成框架
## 项目结构
```
code-vulnerability-scanner/
├── backend/ # 后端服务
│ ├── app/ # 应用主目录
│ ├── requirements.txt # Python依赖
│ └── main.py # 启动文件
├── frontend/ # 前端应用
│ ├── src/ # 源码目录
│ ├── package.json # Node.js依赖
│ └── public/ # 静态资源
├── docs/ # 项目文档
└── README.md # 项目说明
```
## 快速开始
1. 启动后端: `cd backend && python main.py`
2. 启动前端: `cd frontend && npm start`
3. 访问: http://localhost:3000
## 核心功能
- 多语言代码分析
- AI增强漏洞检测
- 详细报告生成
- 项目管理和历史追踪

@ -0,0 +1,19 @@
@echo off
echo 启动代码漏洞检测系统...
echo.
echo 1. 启动后端服务...
start "后端服务" cmd /k "cd backend && python -m pip install -r requirements.txt && python main.py"
echo 等待后端服务启动...
timeout /t 5 /nobreak >nul
echo 2. 启动前端服务...
start "前端服务" cmd /k "cd frontend && npm install && npm start"
echo.
echo 系统启动完成!
echo 后端服务: http://localhost:8000
echo 前端服务: http://localhost:3000
echo.
pause

@ -0,0 +1,22 @@
Write-Host "启动代码漏洞检测系统..." -ForegroundColor Green
Write-Host ""
Write-Host "1. 启动后端服务..." -ForegroundColor Yellow
Start-Process powershell -ArgumentList "-NoExit", "-Command", "cd backend; pip install -r requirements.txt; python main.py"
Write-Host "等待后端服务启动..."
Start-Sleep -Seconds 5
Write-Host "2. 启动前端服务..." -ForegroundColor Yellow
Start-Process powershell -ArgumentList "-NoExit", "-Command", "cd frontend; npm install; npm start"
Write-Host ""
Write-Host "系统启动完成!" -ForegroundColor Green
Write-Host "后端服务: http://localhost:8000" -ForegroundColor Cyan
Write-Host "前端服务: http://localhost:3000" -ForegroundColor Cyan
Write-Host ""
Write-Host "按任意键退出..."
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

@ -0,0 +1,6 @@
@echo off
echo 启动代码漏洞检测系统后端服务...
cd backend
python -m pip install -r requirements.txt
python main.py
pause

@ -0,0 +1,6 @@
@echo off
echo 启动后端服务...
cd backend
python main.py
pause

@ -0,0 +1,6 @@
@echo off
echo 启动代码漏洞检测系统前端服务...
cd frontend
npm install
npm start
pause

@ -0,0 +1,15 @@
@echo off
echo 启动代码漏洞检测系统...
echo 启动后端服务...
start "后端服务" cmd /k "cd backend && python main.py"
timeout /t 3 /nobreak > nul
echo 启动前端服务...
start "前端服务" cmd /k "cd frontend && npm start"
echo 系统启动完成!
echo 后端地址: http://localhost:8000
echo 前端地址: http://localhost:3000
pause

@ -0,0 +1,4 @@
@echo off
cd backend
python main.py
pause

@ -0,0 +1,4 @@
@echo off
cd frontend
npm start
pause
Loading…
Cancel
Save