# csa-Anti-poison-scanning-engine **Repository Path**: zjucsa/csa-anti-poison-scanning-engine ## Basic Information - **Project Name**: csa-Anti-poison-scanning-engine - **Description**: 浙江大学学生网安协会反投毒扫描引擎 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-28 - **Last Updated**: 2025-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CSA 反毒扫描引擎 一个基于 OSV 数据库的漏洞扫描引擎,用于检测 软件 包中的安全漏洞。 ## 功能特点 - 基于 OSV 数据库的漏洞检测 - 支持 Python 包依赖分析 - 实时漏洞更新 - 漏洞严重程度分类 - 漏洞修复状态追踪 - 友好的 Web 界面 ## 系统要求 - Python 3.8+ - Node.js 16+ - npm 8+ ## 安装步骤 ### 后端安装 1. 克隆仓库: ```bash git clone https://github.com/yourusername/csa-anti-poison-scanning-engine.git cd csa-anti-poison-scanning-engine ``` 2. 创建并激活虚拟环境: ```bash python -m venv venv source venv/bin/activate # Linux/Mac # 或 .\venv\Scripts\activate # Windows ``` 3. 安装依赖: ```bash pip install -r requirements.txt ``` 4. 初始化数据库: ```bash python script/osv/collector.py ``` ### 前端安装 1. 进入前端目录: ```bash cd frontend ``` 2. 安装依赖: ```bash npm install ``` ## 使用说明 ### 开发环境 1. 启动后端服务: ```bash # 在项目根目录下 python script/web/app.py ``` 2. 启动前端开发服务器: ```bash # 在frontend目录下 npm run dev ``` 3. 访问开发环境: - 打开浏览器访问 http://localhost:5173 - 开发环境使用示例数据,无需后端服务 ### 生产环境 1. 构建前端: ```bash # 在frontend目录下 npm run build ``` 2. 启动生产服务器: ```bash # 在项目根目录下 python script/web/app.py ``` 3. 访问生产环境: - 打开浏览器访问 http://localhost:8000 ## 项目结构 ``` csa-anti-poison-scanning-engine/ ├── frontend/ # 前端代码 │ ├── src/ # 源代码 │ ├── public/ # 静态资源 │ └── package.json # 前端依赖配置 ├── script/ # 后端代码 │ ├── osv/ # OSV 相关代码 │ └── web/ # Web 服务相关代码 ├── requirements.txt # Python 依赖 └── README.md # 项目文档 ``` ## 开发指南 ### 前端开发 - 使用 Vue 3 + Vite 构建 - 使用 Tailwind CSS 进行样式设计 - 开发环境使用示例数据 - 支持热重载 ### 后端开发 - 使用 FastAPI 构建 Web 服务 - 使用 SQLite 存储数据 - 支持异步操作 - 提供 RESTful API ## API 文档 ### 获取统计数据 ``` GET / Response: { "stats": { "total_vulnerabilities": int, "by_severity": { "high": int, "medium": int, "low": int, "critical": int, "fixed": int } }, "recent_vulnerabilities": [...], "pagination": { "current_page": int, "total_pages": int } } ``` ### 获取漏洞列表 ``` GET /api/vulnerabilities Query Parameters: - page: int (default: 1) - page_size: int (default: 10) ``` ### 搜索漏洞 ``` GET /api/vulnerabilities/search Query Parameters: - query: string - page: int (default: 1) - page_size: int (default: 10) ``` ## 贡献指南 1. Fork 项目 2. 创建特性分支 3. 提交更改 4. 推送到分支 5. 创建 Pull Request ## 许可证 MIT License ## 联系方式 - 项目维护者:[Your Name] - 邮箱:[your.email@example.com] - 项目主页:[GitHub Repository URL]