现状
BASELINE-OWNER-RULE-TENANT-FREEZE-01(corecells/accesscore/slices/authorizationdecide/baseline_freeze_test.go)的 owner-scoped action 闭集由手工维护的 ownerScopedBaselineSelfRules map(rule-ID → action)提供。文件 godoc 已承认这是 Soft 盲区:新增 owner-scoped action 若遗漏注册,其 allow surface 不受 property② closed-set 保护。#2351 已正确注册 baseline-device-read-self,但盲区本身未缩小。
证据:baseline_freeze_test.go:118 ownerScopedBaselineSelfRules 手工 map;机器源 authz.Permission.IsOwnerScoped() + framework/pkg/authz/permission_test.go TestPermissions_OwnerScopedPinnedSet(8 perm 闭集冻结)已存在但未与 freeze 的 action 维度联动。
三维根因:代码 = 手工清单与 IsOwnerScoped() 机器源并存、未联动;架构 = freeze 的 action 维度无单源派生(跨所有 owner action,系统性);历史 = #1977 / #1863 / #2351 每次新增 owner action 都手工追加注册。
修复方向
- 最小:freeze test 增断言——每个
IsOwnerScoped()==true 的 permission 必在 ownerScopedBaselineSelfRules 的 value 集中(漏注册即 CI 红),把 action 维度 Soft→Medium。
- 彻底:
ownerScopedBaselineSelfRules 的 action value 集从 authz owner-scoped 集派生(rule-ID 仍手写,action 覆盖机器校验)。
- 重构:baseline 规则由 metadata/contract 声明 + codegen + byte golden 派生(PR-13 端态),freeze test 退役。
Files
corecells/accesscore/slices/authorizationdecide/baseline_freeze_test.go:118
framework/pkg/authz/permission.go(IsOwnerScoped)· framework/pkg/authz/permission_test.go(TestPermissions_OwnerScopedPinnedSet)
Source
PR #2400 finding F10(内置 review 安全/DX 维度 P2·Cx1)· Discovered via /ship #2351。Medium→Hard 低成本路径(per ai-robust.md)。
现状
BASELINE-OWNER-RULE-TENANT-FREEZE-01(corecells/accesscore/slices/authorizationdecide/baseline_freeze_test.go)的 owner-scoped action 闭集由手工维护的ownerScopedBaselineSelfRulesmap(rule-ID → action)提供。文件 godoc 已承认这是 Soft 盲区:新增 owner-scoped action 若遗漏注册,其 allow surface 不受 property② closed-set 保护。#2351 已正确注册baseline-device-read-self,但盲区本身未缩小。证据:
baseline_freeze_test.go:118ownerScopedBaselineSelfRules手工 map;机器源authz.Permission.IsOwnerScoped()+framework/pkg/authz/permission_test.goTestPermissions_OwnerScopedPinnedSet(8 perm 闭集冻结)已存在但未与 freeze 的 action 维度联动。三维根因:代码 = 手工清单与
IsOwnerScoped()机器源并存、未联动;架构 = freeze 的 action 维度无单源派生(跨所有 owner action,系统性);历史 = #1977 / #1863 / #2351 每次新增 owner action 都手工追加注册。修复方向
IsOwnerScoped()==true的 permission 必在ownerScopedBaselineSelfRules的 value 集中(漏注册即 CI 红),把 action 维度 Soft→Medium。ownerScopedBaselineSelfRules的 action value 集从 authz owner-scoped 集派生(rule-ID 仍手写,action 覆盖机器校验)。Files
corecells/accesscore/slices/authorizationdecide/baseline_freeze_test.go:118framework/pkg/authz/permission.go(IsOwnerScoped)·framework/pkg/authz/permission_test.go(TestPermissions_OwnerScopedPinnedSet)Source
PR #2400 finding F10(内置 review 安全/DX 维度 P2·Cx1)· Discovered via /ship #2351。Medium→Hard 低成本路径(per ai-robust.md)。