FR-083 · 需求索引 · 本頁由 build 掃資料夾生成
🔄 兩棒掃完一棒(2026-09-10)。D2(宿主接線 18 檔)已掃完並驗收——11 條(2 HIGH/9 MEDIUM),stamp verified、33 票全投。D1(套件本體 34 檔)尚未跑。 依決策者裁定先不開修正卡,發現已登記進跨 arc 總表 §3,之後從總表決定要修哪些
任何一個最基層的員工,只要對 AI 儀表板打字說「列出所有使用者」,就能拿到全公司的帳號名冊——而且回傳的資料裡還夾帶了每個帳號密碼加密用的「鹽值」。
同一個查詢功能,走正常的網頁路徑需要「使用者讀取」權限,走 AI 儀表板這條路完全不用。
「AI 儀表板」讓使用者用自然語言打字問問題(例如「列出所有專案的進度」),AI 自己決定要呼叫系統裡的哪一支查詢功能,把查到的資料拿去設計版面做成圖表。
可以被 AI 呼叫的查詢功能總共有 27 支,這個 arc 要回答的是:那 27 支有沒有檢查權限?查到的資料會不會被送到公司外面?使用者能不能用打字誘導 AI 去查他本來看不到的東西?
上一個案子(FR-079)已經證明這條路有洞,但當時只驗證了 27 支裡的 1 支。
FR-079 的 F13 查到「AI 儀表板可以直接呼叫公告查詢,不經過網頁那層的任何權限檢查,而且結果前三筆原文送給第三方 AI」。這次是專門來查剩下那 26 支的。
| 棒 | 掃什麼 | 檔數 | 狀態 | 報告 |
|---|---|---|---|---|
| D2 | 主專案的接線與 27 支查詢功能名冊 | 18 | ✅ 已掃完並驗收(11 條) | 報告 |
| D1 | 套件本身(AI 怎麼決定要查什麼) | 34 | ⬜ 尚未跑 | — |
| # | 這是什麼問題 | 嚴重度 |
|---|---|---|
| F3 | 任何登入者可透過 AI 儀表板列出全公司的帳號、角色、租戶、部門。產品自己定義了四個權限點(user.read/role.read/tenant.read/department.read),這條路四個全繞過 |
🟡 中 |
| F9 | 回應夾帶每個帳號的密碼鹽值。正常的列表功能刻意排除了這個欄位,唯獨 AI 儀表板這條路沒做過濾 | 🟡 中 |
| F10 | 專案清單有「當作管理員」後門,非成員可列舉租戶內全部專案。🔴 這是刻意設計不是寫錯(見報告) | 🟡 中 |
最能說明問題的是這個對比(首腦已開檔核對):
同一個 UserService.get_users 方法,兩條路:
走正常網頁路徑 走 AI 儀表板
user_route.py:80 dashboard_apis/auth.py:31
@capability_required("user.read") (沒有任何權限檢查)
其中 2 條是新的、比較嚴重:
F2 值得特別注意:上一個案子查到「同一個套件倉庫走沒加密的連線」,現在又查到「管理員帳密外流」——同一個目標的兩個弱點,加起來比單看任何一個都嚴重。
其餘 6 條多與先前已記錄的重複(POC 資料庫密碼、四家 AI 金鑰、Google OAuth 密鑰、原廠管理員密碼等)。
開卡時明寫那是「本 arc 最有價值的產出」。工具實際只查了 auth 4 支 + project 1 支,其餘 22 支沒碰——尤其 participant 那 7 支(「你在這個專案能幹嘛」的資料源,風險僅次於 auth)。
這是連續第三個案子出現同樣的事(FR-081 三棒、FR-082 一棒都是「卡片點名的重點工具沒答」)。這張表要靠人補,建議在 D1 驗收時一起補完。
「這 11 條是真的嗎」→ ✅ 可信。 33 票全投、零漏投、零中斷,stamp 乾淨的 verified。檢查員主動降了兩條嚴重度。首腦另開檔核對範圍內三條,全部屬實,而 F10 多查出「這是刻意設計」這件工具沒講的事。
「是不是只有這 11 條」→ ❌ 不可信。 快篩模式;而且 27 支 API 只查了 5 支,剩下 22 支等於沒查。8 條範圍外的發現也不代表 docs/、scripts/ 被檢查過。
依決策者 2026-09-10 裁定:先不開卡。 三條範圍內發現已登記進跨 arc 總表 §3(「掃出來但還沒開卡的」),之後從總表統一決定要修哪些。
登記時已寫進具體修法與行號,任何人接手都能直接動工。
../security-scan-consolidated/README.md(§3 有這三條的完整修法).claude/skills/security-scan-lead/SKILL.mdfeature/FR-075以下全部由 build 掃資料夾產生,新增檔案重 build 即自動出現。標題連結指向渲染後的 HTML,md 連向源檔。
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| scan-D2-host-wiring / md | 文件 | D2 檢查結果:AI 儀表板的接線與 27 支查詢功能 | 未提交 |