Initial commit: 智能项目定价模型
This commit is contained in:
90
后端服务/SECURITY_CHECKLIST.md
Normal file
90
后端服务/SECURITY_CHECKLIST.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# 安全检查清单
|
||||
|
||||
> 智能项目定价模型 - M4 测试优化阶段
|
||||
> 遵循瑞小美系统技术栈标准与安全规范
|
||||
|
||||
---
|
||||
|
||||
## 1. API Key 管理
|
||||
|
||||
- [x] 未在代码中硬编码 API Key
|
||||
- [x] 通过 `shared_backend.AIService` 调用 AI 服务
|
||||
- [x] API Key 从门户系统统一获取
|
||||
- [x] `.env` 文件在 `.gitignore` 中排除
|
||||
|
||||
## 2. 输入验证
|
||||
|
||||
- [x] 使用 Pydantic 进行请求参数验证
|
||||
- [x] 添加 SQL 注入检测
|
||||
- [x] 添加 XSS 检测
|
||||
- [x] 限制请求数据嵌套深度
|
||||
|
||||
## 3. 身份认证
|
||||
|
||||
- [ ] 集成 OAuth 认证(待 M5 部署阶段完成)
|
||||
- [x] 预留认证中间件接口
|
||||
- [x] API 路由支持权限控制
|
||||
|
||||
## 4. 速率限制
|
||||
|
||||
- [x] 实现请求速率限制中间件
|
||||
- [x] AI 接口有特殊限制(10 次/分钟)
|
||||
- [x] 默认限制 100 次/分钟
|
||||
|
||||
## 5. 安全响应头
|
||||
|
||||
- [x] X-XSS-Protection
|
||||
- [x] X-Content-Type-Options
|
||||
- [x] X-Frame-Options
|
||||
- [x] Content-Security-Policy
|
||||
|
||||
## 6. 数据保护
|
||||
|
||||
- [x] 敏感数据使用 DECIMAL 类型存储
|
||||
- [x] 数据库连接使用连接池
|
||||
- [x] 支持敏感字段脱敏(待实现具体业务)
|
||||
|
||||
## 7. 日志审计
|
||||
|
||||
- [x] 实现审计日志记录器
|
||||
- [x] 记录敏感操作
|
||||
- [x] 日志格式为 JSON(便于分析)
|
||||
|
||||
## 8. 错误处理
|
||||
|
||||
- [x] 统一错误响应格式
|
||||
- [x] 生产环境不暴露内部错误详情
|
||||
- [x] 错误码规范化
|
||||
|
||||
## 9. 依赖安全
|
||||
|
||||
- [x] 使用固定版本的依赖
|
||||
- [ ] 定期检查依赖漏洞(建议使用 `pip-audit`)
|
||||
|
||||
## 10. 部署安全
|
||||
|
||||
- [x] Docker 容器使用非 root 用户(待验证)
|
||||
- [x] 只暴露必要端口(Nginx 80/443)
|
||||
- [x] 配置健康检查
|
||||
- [x] 配置资源限制
|
||||
|
||||
---
|
||||
|
||||
## 安全测试命令
|
||||
|
||||
```bash
|
||||
# 运行安全相关测试
|
||||
pytest tests/ -m "security" -v
|
||||
|
||||
# 检查依赖漏洞
|
||||
pip install pip-audit
|
||||
pip-audit
|
||||
|
||||
# 检查代码安全问题
|
||||
pip install bandit
|
||||
bandit -r app/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*瑞小美技术团队 · 2026-01-20*
|
||||
Reference in New Issue
Block a user