FR-116 · 需求索引 · 本頁由 build 掃資料夾生成
母卡 CM-2088|盤點子卡 CM-2089|狀態:✅ 九棒全收(2026-09-23 盤點驗收、九張掃描子卡;2026-09-24 九棒全部驗收)|發現已全數處理——7 條已修、2 條隨功能拆除,隨 1.21.0 出貨(FR-114 修正線)
九棒全收(2026-09-24)。jedi-compliance-audit(稽核流程套件)套件本體與主專案接線兩側去重 124 檔/12,255 行全部掃完,淨新增 8 條、沒有高風險:
| 項次 | 問題 | 嚴重度 | 哪一棒 |
|---|---|---|---|
| 第 166 項 | 「任務設定樹」網址只查登入、不查專案成員,會洩漏被指派人姓名 | 低 | C1b |
| 第 167 項 | 「目前 SSP」網址只查登入、不查專案成員 | 低 | C1b |
| 第 168 項 | 專案經理能改寫、再刪掉稽核人員寫的改善建議 | 低 | C2a |
| 第 176 項 | 稽核計畫 Word 匯入是壓縮炸彈 | 中 | C4a |
| 第 177 項 | 稽核計畫 Word 解析器三條比對規則遇超長文字卡住 | 低 | C4a |
| 第 178 項 | 兩張解析工作單表的資料庫隔離規則照抄 5 月已判壞的寫法,子公司看得到母公司的工作單 | 低 | C4a(C4b 確認 Excel 那張同條) |
| 第 179 項 | 稽核結果 Excel 解析一路讀到上傳者決定的最後一列,4.9KB 的檔就吃 355MB | 中 | C4b |
| 第 180 項 | 確認匯入稽核結果時,佐證資料照前端送來的存、不核是不是這一輪的 | 低 | C4b |
另外兩件不加條數、但改了總表:總表第 66 項(讀取只查登入不查專案成員)由中升高——C3 查出判定矩陣、風險、改善計畫內容也在同一批,三人面板一致評高;第 133 項修法前提推翻(FR-118 V4a 帶出)。
這支套件的病集中在四個主題:
RegistryBase;加上主專案 SSP 的 Word/Excel(第 124/127 項),合計四個入口兩個 repo,要同一張卡修。修正線處理結果(全部隨 1.21.0 出貨,2026-10-01 對照 docs/security-report/M12-compliance-audit.md 與 SUMMARY):本批 8 條+總表第 66 項的稽核輪次十支讀取(SUMMARY #57)合計 9 條,7 條已修、2 條裁定拆除——任務設定樹與目前 SSP 兩支沒人用的網址已拆(CM-2176);改善建議改為稽核方專屬、確認匯入佐證核歸屬(CM-2174);壓縮炸彈與讀到最後一列(CM-2181);兩張工作單表隔離規則(CM-2195);稽核輪次讀取含稽核團隊名單跨客戶(CM-2037+CM-2172)。下列五件是掃描當時發現修正分支沒涵蓋的缺口,現況如下:
2cb9d2cd/BE 48638cbdb)。56dd4cdc8,隔離規則改標準四條)。排除的也是結論:待辦清單、三種回退、round_id 可選參數、is_admin 放行、Excel 公式注入等卡片點名的懷疑都查過不成立,細節在各棒報告與總表 §3.4。存稽核判定與風險的六張 oscal 表資料庫隔離全關,程式這一關漏了就沒有備援。⚠️ 出貨 02-schema.sql 快照與 DEV 的隔離狀態不一致(套件 migration 002 沒重產進快照),屬出貨基線問題,不歸本批。
| 棒 | 做什麼 | 規模(套件+主專案) | 卡號 | 狀態 |
|---|---|---|---|---|
| 盤點 | 兩側配對切棒+範圍條件對照表+隔離對照表 | 124 檔/12,255 行,切 9 棒 | CM-2089 | ✅ 驗收通過(09-23,九棒行數全對零退回) |
| C3 | 🔴 稽核結果與改善計畫 | 6/1,934(5+1) | CM-2097 | ✅ 驗收通過(09-24):兩側 verified、15 票全投;判定矩陣、風險清單、POA&M 清單/詳情四支讀取全不查專案成員(套件側三條 3:0 評高,=總表第 66 項同批,淨新增 0;第 66 項由中等升高),修法 CM-2037+CM-2172,已修,1.21.0 出貨;卡片點名的 round_id 可選參數/查詢失敗行為/刪除檢查甲改乙三件查證排除;DEV 唯讀實查稽核判定/風險六張表(oscal schema)隔離全關。scan-C3.md |
| C2a | 🔴 稽核輪次主體 | 10/1,939(8+2) | CM-2098 | ✅ 驗收通過(09-24):兩側 verified、18 票全投;稽核輪次路由 8 支讀取全都不查專案成員=總表第 66 項、階段歷程=第 52 項(修法 CM-2037+CM-2172,已修,1.21.0 出貨);新增專案經理能改寫再刪掉稽核建議=總表第 168 項(低,產品規則已裁:改善建議屬稽核方專屬,CM-2174 已修);三種回退、開輪指定範本查過不成立。scan-C2a.md |
| C2b | 階段歷程、回退標記、規劃檢查 | 15/1,612(14+1) | CM-2099 | ✅ 驗收通過(09-24):兩側 verified、套件側 9 票全投皆 3:0、主專案側零候選;淨新增 0——三條全是 C2a 重複(階段歷程=總表第 52 項,輪次清單、單筆輪次=第 66 項;報告寫的「第 57 項」是 SUMMARY 編號);卡片點名四件全不成立;回退標記三支讀取確認死碼,已裁不清、記功能待補(總表 §7 第 39 項)。scan-C2b.md |
| C1b | 🔴 任務設定樹、目前 SSP、待辦 | 21/1,404(19+2) | CM-2100 | ✅ 驗收通過(09-24):兩側 verified、6 票全投;任務設定樹、目前 SSP 都不查專案歸屬(前者洩漏指派人姓名),皆低=總表第 166/167 項;待辦清單不成立。scan-C1b.md |
| C5 | 程序書文件池資料層 | 12/1,213(9+3) | CM-2101 | ✅ 驗收通過(09-24):兩側 verified、12 票全投;淨新增 0——三條 3:0 全是總表第 118/119 項(修法 CM-2041,已修,1.21.0 出貨),add_mappings 面板 0:3 否決屬單側盲點、第 129 項維持;卡片點名三件查證排除,FR-113 O9 兩支懸案檔(oscal_containers.py、ssp_catalog_title_query.py)結清;⚠️ 第 129 項在 fix/security-b1 上尚無修法;SSP 匯出「有接才守」併總表 §7 第 13 項;DEV 唯讀實查程序書池兩張表隔離全關。scan-C5.md |
| C1 | 接線總裝+審閱簽核 | 22/1,739(20+2) | CM-2102 | ✅ 驗收通過(09-24):兩側 verified;淨新增 0——主專案側 5 條 15 票皆 3:0,全是舊案(改/刪/看單筆任務=總表第 45 項、任務清單=第 155 項、強制開始=第 159 項);套件側審閱簽核提早 return(review_service.py:41-42)面板 0:3 否決,首腦核實唯一組裝點兩零件都有傳,未來地雷併總表 §7 甲組(第 13 項);ap_uid 沒用、三支守門 adapter、接線缺了會不會安靜三件查過不成立。scan-C1.md |
| C4a | 稽核計畫 Word 匯入 | 14/1,271(13+1) | CM-2103 | ✅ 驗收通過(09-24):兩側 verified、12 票全投、4 條全 3:0,兩側各自掃到壓縮炸彈互相印證;淨新增 3 條=總表第 176 項(壓縮炸彈,中,病灶在套件 RegistryBase、併第 124/127 項同卡)、第 177 項(三條比對規則卡死,低)、第 178 項(兩張解析工作單表隔離規則壞掉,低,出貨基線待重產);卡片點名五件不成立;「捨棄工作單」守門已裁收緊(CM-2174,總表 §7 第 47 項);blsadmin 旗標屬 DEV 測試資料、不開卡(第 48 項)。scan-C4a.md |
| C4b | 稽核結果 Excel 匯入 | 19/1,585(18+1) | CM-2104 | ✅ 驗收通過(09-24):兩側 verified、9 票全投全 3:0;淨新增 2 條=總表第 179 項(Excel 讀到上傳者決定的最後一列,中,本機實測 4.9KB 檔 20 萬列 10.9 秒/355MB)、第 180 項(確認匯入時佐證照單全收,低,依附第 34 項);壓縮炸彈=第 176 項、工作單表壞規則=第 178 項,不另計;Excel 側預覽與捨棄要求稽核員或管理者,比 C4a 嚴;卡片點名五件不成立;round_id 改必填已裁(CM-2174,總表 §7 第 49 項)。scan-C4b.md |
| C1c | 主專案兩支路由 | 11/1,255(9+2) | CM-2105 | ✅ 驗收通過(09-24):兩側 verified、12 票全投,兩側各自掃到同兩條;淨新增 0——稽核計畫選單、儀表板不查專案成員=總表第 66 項,掃描當時 CM-2037 只涵蓋 audit_round_route.py 那 8 支、這兩支沒修;後已併入稽核輪次讀取修正(CM-2172,1.21.0 出貨)(首腦 diff 核實,已補進第 66 項);專案路由讀寫守齊,「寫有守、讀沒守」不成立;「更新稽核計畫」服務是空殼、現在不是洞是地雷,已裁拆網址(CM-2177,總表 §7 第 44 項)。scan-C1c.md |
盤點檔:scan-inventory.md。🔴 每棒跑兩次掃描(套件側 scanRoot=套件目錄、主專案側 scanRoot=BE)——掃描工具只認 scanRoot 那個 repo 追蹤的檔,跨 repo 路徑會被靜默丟掉。
api/flow_control/__init__.py 留在 C1(FR-095 H2 那邊比照不重報);出貨基線隔離不一致另開查證卡不塞進掃描棒;死碼 39 支記總表 §5 待辦。九張掃描子卡一次建完。建卡時首腦讀工具原始碼確認 --scope 不能跨 repo,改為每棒兩次掃描。compliance.poams,POA&M 實際存放的 oscal.poams 在 DEV 隔離是關的,盤點檔沒錯、不用改。api/flow_control/__init__.py 已由本棒掃過,FR-095 H2 派時不重報。add_mappings 不推翻總表第 129 項(單側盲點);首腦開修正分支核實 CM-2041 已修第 118/119 項、第 129 項零修法。oscal_containers.py:343 與資料表定義的過期註解不屬資安、不登。assessment_plan_route.py,選單與儀表板補進總表第 66 項格內;「更新稽核計畫」空殼登總表 §7 第 44 項,已裁拆除(CM-2177)。專案選單永遠回空、套件 repo 介面漂移屬功能面,不登。registry_base.py 零處解壓大小檢查、兩個修正分支都沒修;DEV 查 pg_policies 確認兩張工作單表規則原文與 migration 一致。確認匯入照寫人員編號、repo 只認編號兩件屬資料正確性,不登。airasia_cmmc_l1_ar_v1.py:162-164 讀到 max_row;C4b 壓縮炸彈併第 176 項、工作單表併第 178 項不另計;jedi-compliance-audit 移入總表 §0.5「已掃完」。母卡轉「修正待驗證」,Done 等決策者收口令。以下全部由 build 掃資料夾產生,新增檔案重 build 即自動出現。標題連結指向渲染後的 HTML,md 連向源檔。
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| scan-C1 / md | 盤點證據 | C1 掃描報告——接線總裝+審閱簽核 | 2026-10-01 |
| scan-C1b / md | 盤點證據 | C1b 掃描報告 — 任務設定樹、目前 SSP、稽核人員待辦清單(CM-2100) | 2026-10-01 |
| scan-C1c / md | 盤點證據 | C1c 掃描報告 — 專案清單/詳細與稽核計畫選單的主專案路由(CM-2105) | 2026-10-01 |
| scan-C2a / md | 盤點證據 | C2a 掃描報告 — 稽核輪次主體(CM-2098) | 2026-10-01 |
| scan-C2b / md | 盤點證據 | C2b 掃描報告:階段歷程、回退標記、規劃完成度檢查(CM-2099) | 2026-10-01 |
| scan-C3 / md | 盤點證據 | C3 掃描報告 — 稽核結果與改善計畫(CM-2097) | 2026-10-01 |
| scan-C4a / md | 盤點證據 | C4a 掃描報告 — 稽核計畫 Word 匯入(CM-2103) | 2026-09-24 |
| scan-C4b / md | 盤點證據 | C4b 掃描報告 — 稽核結果 Excel 匯入(CM-2104) | 2026-09-24 |
| scan-C5 / md | 盤點證據 | C5 掃描報告 — 程序書文件池的資料層+兩支懸案檔(CM-2101) | 2026-09-24 |
| scan-inventory / md | 盤點證據 | FR-116 掃描盤點——jedi-compliance-audit 套件本體+主專案接線:範圍界定與切棒 | 2026-09-23 |
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| baseline-rls-check / md | 文件 | 出貨基線 RLS 查證(CM-2107) | 2026-09-23 |