91 lines
1.8 KiB
Markdown
91 lines
1.8 KiB
Markdown
# 安全检查清单
|
||
|
||
> 智能项目定价模型 - 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*
|