本卡屬 FR-114 資安修正(母卡 CM-2019),第 1 批「權限地基」卡 1-1,修 SUMMARY #37 前半(出自 M03-14+M06-7)。中。修法規格來自內化卡,計畫在 docs/features/FR-114-2609-security-fix-dispatch/batches/plan-b1.md「卡 1-1」段。
任何登入帳號知道一個工作項(job)編號,就能對別家客戶的稽核任務按「完成」「退回」——現有守門 assert_project_participant 對這兩個動作沒有真的擋人。
首腦核對:
BE 側:在 /Users/chouraymond/Projects/Billows/Audit-Manager/compliance-manager-be/.claude/worktrees/wt-fix-security(branch fix/security-b1)改,不要碰主 checkout(掃描線正在讀它)。跑服務用 PORT=8001。
common/authz/workflow.py:29-49 assert_workflow_project_participant(現有共用守門,太鬆,本卡不改它,另開新的嚴格版)
app/flow_engine/service/workflow_execution_service.py:126-140 assert_project_participant(現有守門呼叫點)
app/flow_engine/service/workflow_execution_service.py:660 complete_job(完成任務,要換成新嚴格守門)
app/flow_engine/service/workflow_execution_service.py:841 revert_job(退回任務,要換成新嚴格守門;注意保留 known_project_id 旁路,見下方陷阱)
api/flow_engine/routes/flow_engine_route.py:140 路由層呼叫點
api/flow_engine/routes/flow_engine_route.py:165 路由層呼叫點
common/authz/__init__.py:34 匯出點,新守門要從這裡 export
common/authz/__init__.py:134 匯出點
common/authz/__init__.py:156 匯出點