本卡屬 FR-085(母卡 CM-XXXX,建完補號),第 1 棒:授權鏈核心(jedi monorepo)。只掃不修。 建議最先跑。

這一棒在做什麼(白話)

掃 jedi-common 的 session/identity/handler/ 共 29 檔。這是全站每一次資料庫存取的入口:它負責告訴資料庫「現在是誰在查、能看哪些客戶的資料」(RLS,就是「每個客戶只能看自己資料」的資料庫隔離機制,靠 session 變數 app.user_idapp.allowed_tenant_pathsapp.is_super_admin 生效)、記住「目前這個 request 是誰」、以及把程式出錯翻譯成回給前端的訊息。要找的是:隔離能不能被繞過或注入、身分會不會串線、錯誤訊息會不會把資料庫內部細節洩給前端。只找問題、不修問題。

為什麼切這一塊

這三個目錄是唯一能造成「跨租戶看到別人資料」的區塊。RLS 注入(session/database/db.py)、身分 contextvar(session/auth/auth_context.py)、例外處理(handler/)三者互相咬合:身分取不到時回 None → session 變數改設 super admin → 若這時再炸個 SQL 例外,原文回給前端。拆開看會漏掉這條合流。宿主 import 數:session.database 201 處、handler.exception 184 處、session.auth 96 處。

重點看什麼

首腦與偵察 agent 讀過程式碼後的起點,未經驗證工具不會照這份清單走(連續四個 arc 如此),工具沒答的你要自己開檔查,並在報告標明「(工具未報,runner 人工查證)」。

已知背景