返回 Bug 清单
BUG-0726project-05中已修复test-flaky
服务端强制降级注册 role — 防御 admin/teacher 注册漏洞
发现:2026-10-09验证:2026-10-09置信度:70%
症状
commit 7092f7d28a29 (2026-09-12) fix(p1-1): 服务端强制降级注册 role — 防御 admin/teacher 注册漏洞
根因
commit message 描述: fix(p1-1): 服务端强制降级注册 role — 防御 admin/teacher 注册漏洞
修复方案
修复 38 行,删除 1 行。改动文件: project-05-platform/ail/gateways/auth_api.py, project-05-platform/tests/test_auth_api.py
错误签名
fix(p1-1): 服务端强制降级注册 role — 防御 admin/teacher 注册漏洞 === 漏洞 ===
POST /auth/register 直接把 UserCreate 里的 role 字段传给 store.create(),
客户端可以发 {username:'hacker', role:'admin'} 直接注册管理员。
注释里写了'普通注册只能选 student'但没实现。
=== 修复 ===
auth_api.py register() 第一行加 data.role = UserRole.STUDENT
客户端提交的 role 一律忽略,服务端强制降级。
=== 测试 ===
- test_201_admin_role_ignored: role=admin → 返回 + 存储层均为 STUDENT
- test_201_teacher_role_ignored: role=teacher → 同上
- 全量 pytest: 378 passed (原 376 + 新 2)技术信息
来源项目
project-05
涉及文件
project-05-platform/ail/gateways/auth_api.py, project-05-platform/tests/test_auth_api.py
标签
git-sweep, auto-ingested, project-05, mcp-reported, source-agent