- Move all per-module security audit reports to docs/security/ - Move code review logs to docs/reviews/, analysis reports to docs/reports/ - Add docs/INDEX.md as single entry point for all project documentation - Add documentation management conventions section to README.md - Clean up empty per-module docs/ directories
1.4 KiB
1.4 KiB
captcha 模块安全审计报告
审计日期: 2026-08-01
审计范围: captcha_service.py
代码版本: dev_qing 分支
修复进度
| 优先级 | 总数 | 已修复 | 待修复 |
|---|---|---|---|
| P0 | 0 | 0 | 0 |
| P1 | 1 | 0 | 1 |
| P2 | 1 | 0 | 1 |
🟠 P1 — 高危问题
| # | 问题 | 说明 |
|---|---|---|
| P1-1 | 验证码存储无容量限制,大量生成可耗尽内存 | 无验证码数量上限,攻击者可高频调用 /captcha/image 生成大量验证码填满内存 |
🟡 P2 — 中危问题
| # | 问题 |
|---|---|
| P2-1 | 内存存储不支持多实例水平扩展(需换 Redis),当前单实例可接受 |
✅ 已有安全机制
- ✅ 一次性使用: verify 后立即删除 Token
- ✅ 5 分钟过期: 惰性清理
- ✅ 常数时间比较: XOR 防时序攻击
- ✅ 仅监听 127.0.0.1: 不对外暴露
- ✅ gateway 层代理:
Cache-Control: no-store禁止缓存验证码图片 - ✅ 依赖 pymsg 协议: recv_timeout 防 Slowloris
- ✅ 图形验证码使用 PIL 生成: 不依赖外部服务
修复路线图
短期
- 添加验证码存储容量上限(如最多 10000 个,超出时清理最早的)
- 添加生成速率限制(单 IP 每分钟最多生成 N 个)
中期
- 考虑替换为 Redis 存储支持水平扩展(当前单实例足够)