docs: refresh public docs for current codebase, add SECURITY.md

- README: real counts (44 commands, 61 integration asserts, demo=25 records
  + 4 semesters + 7 attachments), add resume/assessment module features,
  env vars incl. LSKY, doc navigation table, done-roadmap items checked
- docs/api.md: /auth/logout, admin users/demo-rebuild/sync-lsky routes,
  attachment thumb/download channels, profile_upsert top-key merge
  semantics, full footprint_list query reference, 44-command table
- sync-server/README: replace stale ADMIN_TOKEN/X-Admin-Token admin section
  (actual is_admin Bearer model), add go-live checklist, backup note for WAL
- CHANGELOG: add Unreleased section (resume/assessment modules, security
  fixes, perf tuning)
- CONTRIBUTING: 61 asserts, security-sensitive-change guidance, perf baseline
  table, security issue routing
- docs/SECURITY.md: new - report channel, threat model table, hardening
  summary, known tradeoffs
- LICENSE: ensure MIT file matches README badge
This commit is contained in:
root
2026-10-17 22:27:56 +08:00
parent 88525a3f9f
commit 8cdf8b44fa
8 changed files with 207 additions and 73 deletions
+21
View File
@@ -28,3 +28,24 @@
### Security
- scrypt 口令散列 + timingSafeEqual 校验
- Bearer Token(365 天过期)、按用户数据隔离、邀请码注册门控
## [未发布]
### Added
- 简历模块:可视化模板配置与 Word 导出(MHTML 格式 .doc,兼容 Word/WPS)
- 综合测评模块:五大素质自动计分、按学年统计、证据画廊(单活动全部附件展示)、可编辑评分细则参考(默认值可改可恢复、随档案保存)、学年九格信息表、Word 档案导出(页码页脚/附件矩阵附录/材料图题注)
- `/auth/logout`:服务端吊销当前 Bearer Token;前端登出先吊销再本地清除
- 登录限速:同 IP+用户名连续失败 5 次冷却 10 分钟
- `profile_upsert` 改为顶层 key 合并(info/resume/zongce 三子文档互不覆盖)
- 用户库 WAL + synchronous=NORMAL + 8MB 页缓存(3000 条写入实测 7.7×)
- 设备 last_seen_at 回写节流(>60s 才写)
### Security
- 修复:客户端走私 `seed` 标志可绕过邀请码/名额并因自动升管理员规则直接获得管理员权限(`/auth/register` 现强制剥离)
- 修复:附件 docx/xlsx 预览 HTML 未消毒(现经白名单式净化,防脚本注入偷取本地会话)
### Fixed
- 综测分学年学期解析(`2023-2024-1` 末段误解析导致该学年学业分缺失)
- 综测学业绩点与成绩页学期卡口径不一致(现同源优先)
- 档案识别学年错误(按入学时间推算,缺省回退最早学期)
- 证据画廊「计分/未计分」徽章在聚合计分项下恒错