返回 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