返回 Bug 清单
BUG-0271project-17高待处理security-injection

auth/me 响应泄漏 password 字段 + 58 个端点裸奔无 @PreAuthorize

发现:2026-10-01验证:2026-10-31置信度:70%

症状

登录用户调 /auth/me 能拿到自己的 BCrypt 哈希;绝大多数业务端点未登录也能访问(RBAC 形同虚设)

根因

① 实体直接序列化进响应,password 字段无 @JsonIgnore/DTO 隔离;② 全项目只在 SecurityConfig 里做了认证(登录即可访问一切),没有按角色授权——写操作(如 calibrate)与读操作权限无差异

修复方案

① auth/me 用 DTO 或 @JsonIgnore 掐断 password 序列化;② 58 个端点按语义逐个加 @PreAuthorize(ADMIN/角色矩阵),敏感写操作收归 ADMIN

错误签名

auth me password leak 密码字段响应 @PreAuthorize 58 endpoints RBAC 覆盖

技术信息

来源项目

project-17

标签

project-17, mcp-reported