Files
smart-project-pricing/后端服务/SECURITY_CHECKLIST.md
2026-01-31 21:33:06 +08:00

91 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 安全检查清单
> 智能项目定价模型 - 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*