docs: 各模块安全审计报告 + 补充 .gitignore 忽略规则
This commit is contained in:
1 parent
12ece9020c
commit
cebef9fe70
15 files changed
+1467
-297
No files matched your search
@@ -0,0 +1,54 @@
|
||||
# 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),当前单实例可接受 |
|
||||
|
||||
---
|
||||
|
||||
## ✅ 已有安全机制
|
||||
|
||||
1. ✅ **一次性使用**: verify 后立即删除 Token
|
||||
2. ✅ **5 分钟过期**: 惰性清理
|
||||
3. ✅ **常数时间比较**: XOR 防时序攻击
|
||||
4. ✅ **仅监听 127.0.0.1**: 不对外暴露
|
||||
5. ✅ **gateway 层代理**: `Cache-Control: no-store` 禁止缓存验证码图片
|
||||
6. ✅ **依赖 pymsg 协议**: recv_timeout 防 Slowloris
|
||||
7. ✅ **图形验证码使用 PIL 生成**: 不依赖外部服务
|
||||
|
||||
---
|
||||
|
||||
## 修复路线图
|
||||
|
||||
### 短期
|
||||
- [ ] 添加验证码存储容量上限(如最多 10000 个,超出时清理最早的)
|
||||
- [ ] 添加生成速率限制(单 IP 每分钟最多生成 N 个)
|
||||
|
||||
### 中期
|
||||
- [ ] 考虑替换为 Redis 存储支持水平扩展(当前单实例足够)
|
||||
Reference in new issue
Block a user