本卡屬 FR-187(母卡 CM-3711),第 3 批 F1:設定檔加密的主系統專屬部分:維運指令、舊機轉換、初始密碼、改網址(主系統 repo compliance-manager-be,7 檔/約 578 行)。只掃不修。工作坊會用 .claude/workshop-prompts/dispatch-<本卡號>.md 當開場 prompt 直接啟動掃描,小弟不必自己打指令。

這一棒在做什麼(白話)

用 Claude Code 官方 claude-security plugin 掃「設定檔加密的主系統專屬部分:維運指令、舊機轉換、初始密碼、改網址」這一塊,找出資安問題,寫成 PM 與新手工程師都看得懂的報告。只找問題、不修問題,修是另外開卡的事。

FR-179:兩份設定檔改用 openssl 加密存在磁碟,解密用的鑰匙交給主機的安全晶片(TPM)密封保管,明碼只放在記憶體(/run/guidant)。核心兩支 secrets.sh/tpm.sh 不在本棒(理由見「已知背景」);本棒看主系統獨有的周邊:guidantai secrets/config edit 維運指令、舊機明碼轉加密、開機解封的 systemd 服務、初始管理員密碼、安裝時改系統網址與資料目錄擁有者。

為什麼切這一塊

PM 的要求是「磁碟上不能有明碼密碼」。這些腳本以 root 跑,轉換中斷留下明碼、編輯器被換成別的程式、寫進設定檔的值夾帶換行,都會讓這個承諾失效,甚至變成 root 執行任意程式。

背景:這一輪掃的是 2026-11-01(FR-172 開案)到 11-09 之間主專案與 jedi-remote-agent 新寫或大改的程式(FR-171/172/178/179/180/181/182),這些程式都沒掃過。

掃描範圍(scope,與開場 prompt 的 --scope 一致)

scripts/installer/lib/guidantai_secrets_cmds.sh
scripts/installer/lib/upgrade_convert_secrets.sh
scripts/installer/lib/root_admin_password.sh
scripts/installer/systemd/guidant-secrets.service
scripts/installer/lib/site_url.sh
scripts/installer/lib/data_dir_owner.sh
scripts/installer/lib/config_digest.sh

檔數 7、約 578 行。驗檔數:git -C <工作目錄> ls-files -- scripts/installer/lib/guidantai_secrets_cmds.sh scripts/installer/lib/upgrade_convert_secrets.sh scripts/installer/lib/root_admin_password.sh scripts/installer/systemd/guidant-secrets.service scripts/installer/lib/site_url.sh scripts/installer/lib/data_dir_owner.sh scripts/installer/lib/config_digest.sh | wc -l 應為 7。scope 外的檔不要讀,除非下面「重點看什麼」明寫「只追這幾行」;越界的發現首腦驗收時會挑掉。

重點看什麼

首腦讀過程式碼後認為最容易出事的地方,是思考起點不是檢查清單,行號以 2026-11-09 的主線為準,對不上就以內容為準。工具不會照這份走,掃完後你要自己逐條對一遍:工具沒報的,開檔看一眼,寫「人工查過:成立/不成立/為什麼」。

已知背景