docs: update project documentation with P0/P1/P2 fix status

- Add security features section to README
- Add security architecture section 12.1 and 12.2 to ARCHITECTURE
- Add validation commands section to DEPLOYMENT
- Update PRD with fix completion status
This commit is contained in:
2026-04-18 21:30:14 +08:00
parent 509c5ca2fd
commit 85285c16d1
4 changed files with 130 additions and 18 deletions

View File

@@ -1154,11 +1154,39 @@ groups:
6. **扩展性**: 水平扩展、垂直扩展
7. **高可用**: 多机房部署、数据备份
通过以上优化,系统能够达到 PRD 要求的性能指标:
- 10 亿用户规模
- 10 万级并发
- P99 响应时间 < 500ms
- 99.99% 可用性
### 12.1 安全架构
| 安全机制 | 实现状态 | 说明 |
|----------|----------|------|
| 密码哈希 | ✅ Argon2id | 64MB 内存5次迭代4并行 |
| JWT JTI 防枚举 | ✅ | timestamp(8B hex) + random(16B hex) |
| Token 滚动轮换 | ✅ | refresh token 每次刷新后旧值失效 |
| 访问令牌内存存储 | ✅ | 前端不使用 localStorage 存 token |
| 401 并发刷新锁 | ✅ | 单例 Promise 模式 |
| CSRF 保护 | ✅ | POST/PUT/DELETE/PATCH 自动注入 CSRF Token |
| 常数时间密码比较 | ✅ | 防时序攻击 |
| JWT Secret 弱检测 | ✅ | 启动时 Warn 日志 |
| TOTP 设备信任 | ✅ | 信任设备免二次验证 |
| 密码修改 PCE | ✅ | PasswordChangedAt 更新使旧 token 失效 |
### 12.2 已修复的安全问题
| 问题 | 严重等级 | 修复版本 |
|------|----------|----------|
| LIKE 查询 SQL 注入 | P0 | 2026-04-09 |
| 登录计数竞态条件 | P0 | 2026-04-09 |
| Refresh Token 黑名单 fail-open | P0 | 2026-04-09 |
| 验证码 Replay 攻击 | P0 | 2026-04-09 |
| CORS 危险配置 | P0 | 2026-04-09 |
| UpdateUser IDOR 越权 | P0 | 2026-04-09 |
| Login TOTP 绕过 | P0 | 2026-04-09 |
| 游标分页数据错乱 | P0 | 2026-04-09 |
| 错误信息泄露 | P1 | 2026-04-09 |
| OAuth context 丢失 | P1 | 2026-04-09 |
| rows.Err 未检查 | P1 | 2026-04-09 |
| DeleteRole 非事务 | P1 | 2026-04-09 |
| ActivateEmail GET 越权 | P2 | 2026-04-18 |
| ValidateResetToken GET 越权 | P2 | 2026-04-18 |
---