返回 Bug 清单
BUG-1370project-02高待处理security-injection
@acl_required 装饰器从未在任何业务端点使用, 客户级隔离形同虚设
发现:2026-10-15验证:2026-10-15置信度:85%
症状
多客户账套场景下无客户级隔离; bk_user_client_permission 写入也不改变行为
根因
bk_core 定义了 @acl_required decorator 并依赖 bk_user_client_permission 表, 但所有业务端点只加了 @require_permission 和 RLS, 没有端点同时加 @acl_required 客户级过滤 — 同一租户内 junior 会计可读写所有客户的凭证/报表/税务/银行/OCR
修复方案
待实现: 端点盘点 → 装饰顺序规范 (extractor 取不到放行 404, ACL 拒绝 403 + 审计) → 默认拒绝策略 → 列表类按 ACL 过滤 → test_acl_enforcement.py 跨客户 403 断言
错误签名
@acl_required 全仓零命中 (除 bk_acl_api.py:182 docstring 示例)技术信息
来源项目
project-02
涉及文件
bk_backend/bk_core.py, bk_backend/bk_acl_api.py, bk_backend/bk_tax_draft_api.py +1
标签
project-02, mcp-reported, source-agent