-
fix(auth): expandOrgScope fail-closed — 树外 ref 不再退化成"不限品牌"(跨品牌泄漏) · 42b9e8da
agent 审查(3 个独立都挖到)的真·安全洞:expandOrgScope 对树里找不到的 ref 兜底成 "当裸 clinicId、sourceUnits 留空"。而瑞尔/瑞泰共用 tenantId,sourceUnits=[] 被下游当 "不限品牌" → 跨品牌看全部患者(含真号 reveal)。触发:退化树(无数据)、新诊所未进树、 10min 缓存陈旧。 - org-scope:探测 branded(树有非空 source_unit);品牌制租户 + 非空 scope 却没解析出 任何品牌 → 塞 DENY_SOURCE_UNIT 哨兵(患者查询返回空),不退化成不限。命中集团根仍合法不限。 单命名空间/退化树(无品牌)→ 维持 [] 不限(正确)。回传 unresolved 供刷新重试。 - org-tree:展开有 unresolved → 强制重派生树一次再展开(避免误拒刚摄入的新诊所合法用户); forceRefresh 30s 防抖,挡 bogus ref 刷库。 单测:品牌ref/诊所ref正常、集团根→不限、未知ref→DENY、混合(含已解析品牌)→限该品牌不DENY、 单命名空间未知ref→不限。活体三级 + REST 无回归。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
luoqi committed
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| asr-sensevoice | Loading commit data... | |
| pac-service | Loading commit data... | |
| pac-web | Loading commit data... |