本卡屬 FR-114 資安修正(母卡 CM-2019),第 5 批子集 B 卡 5B-5(驗證卡,非修正卡),確認 SUMMARY #89/#129/#130/#131/#132(出自 M07-1~M07-5)是否已隨舊線退役消失。修法規格來自內化卡 CM-1996,計畫在 docs/features/FR-114-2609-security-fix-dispatch/batches/plan-b5B.md「卡 5-B5」段。⚠️ 本卡等 CM-1849(第 3 批「M07 舊線整組退役」)做完才派,等其退役完成後再做本卡的查證。

問題是什麼(白話)

M07(證據自動分類)的五件問題(#89 提示注入、#129 刪除後工作目錄殘留、#130 金鑰放在啟動指令參數上、#131 容器沒設資源上限逾時殺不掉、#132 六個外部套件沒鎖版本無校驗碼)都集中在一條已裁定要整組退役的舊線上,但這五件的模組頁狀態欄沒有寫「隨舊線退役消失」——跟第 3 批已涵蓋的 #9/#66/#67(查詢端點,刪路由就消失)不同,這五件是分類本身的行為,新線也可能在用同一批程式。因此不能假設第 3 批刪完這五件就消失,也不該現在開卡去修一條可能整組被刪的線——先等第 3 批刪完,再逐件確認還在不在。

首腦核對:

工作區

在哪裡

jedi-evidence-classification/docker/container_entrypoint.py:374    #89 送進 AI 訊息組裝點,界線符號未過濾
jedi-evidence-classification/jedi_evidence_classification/app/service/evidence_batch_service.py:1143    #89 宿主收結果,只確認項目代號存在
jedi-evidence-classification/jedi_evidence_classification/app/service/evidence_batch_service.py:1417-1427    #129 刪除整批入口
jedi-evidence-classification/jedi_evidence_classification/infra/classifier_container_runner.py:74    #129 jobs_base_dir 預設值
jedi-evidence-classification/jedi_evidence_classification/infra/classifier_container_runner.py:85-89    #129 工作目錄建立處
jedi-evidence-classification/jedi_evidence_classification/infra/classifier_container_runner.py:154    #130 組參數,金鑰拼進命令列
jedi-evidence-classification/jedi_evidence_classification/infra/classifier_container_runner.py:186    #130/#131 實際執行點
jedi-evidence-classification/jedi_evidence_classification/infra/classifier_container_runner.py:156-169    #131 命令組裝
jedi-evidence-classification/jedi_evidence_classification/infra/classifier_container_runner.py:197-224    #130 遮蔽只作用在寫檔副本,真正執行的參數沒動過;#131 未收缺口:容器印到畫面的內容原文會落地成紀錄檔
jedi-evidence-classification/jedi_evidence_classification/infra/classifier_container_runner.py:205-224    #130 遮蔽那段
compliance-manager-be/core/plugins/evidence_classification.py:194-202    #130 宿主解密注入點
jedi-evidence-classification/jedi_evidence_classification/llm_clients.py:108-120    #131 未收缺口,容器印到畫面內容是否也需過濾
jedi-evidence-classification/docker/requirements.txt    #132 六支套件現況:anthropic>=0.77/openai>=1.60/python-docx>=1.2/openpyxl>=3.1/python-pptx>=0.6/pypdf>=4
jedi-evidence-classification/docker/Dockerfile    #132 安裝那一行,要改成帶 --require-hashes

怎麼修

本卡不預設改碼。runner 在第 3 批刪完之後,對每一件回答同一個問題:「這件的落點檔案還在嗎?還在的話,新線是否也走同一段程式?」三種結論之一:已隨退役消失/還在、要另開修正卡/還在但只影響已無入口的死碼、建議一併刪。

一個共同前提要在交付裡一併講:出貨給客戶的落地版刻意沒有安裝分類程式所需要的執行環境,這個功能在客戶機器上根本啟動不了——#130/#131 目前只影響開發機(已上機查證:客戶端服務容器裡既沒有執行分類程式所需的指令、也沒有對應的連接管道)。這是產品決策不是技術事實:哪天決定讓落地版也能用自動分類,這兩條必須先修。打折處:那台試用機的主機層上確實還留著一份分類程式的映像檔(建於 2026-07-04,沒在跑),不構成反證——服務跑在容器裡碰不到主機層那份東西,但這句話要主動講明,不然稽核方自己看到會反問。

手測