FR-074 檢測工具整合教學影片系列(Act 04)— 全案收口 SUMMARY

2026-09-04 收口|母卡 CM-1535、子卡 CM-1536~1542|user 逐章驗片通過(04-04 最終版 2026-09-04 確認 OK) 成品六章 75:42、28 段分段 mp4,交付於 test repo reports/training-videos/GuidantAI-檢測工具整合教學-v1.19/(不入版控) 本檔由 Notion 七張子卡回寫+fr074-04-04-{STATE,LOG}.md+兩 repo git log 濃縮,時長以 ffprobe 實量為準。

1. 成品座標

compliance-manager-test/reports/training-videos/GuidantAI-檢測工具整合教學-v1.19/

時長 大小
GuidantAI-檢測工具整合教學-完整版.mp4(00~05 串接;章節起點 00:00/01:50/19:16/27:21/47:56/74:09,見同目錄 完整版-章節時間.txt 75:42 365 MB
GuidantAI-檢測工具教學-00-總開場.mp4 1:51 17 MB
GuidantAI-檢測工具教學-01-檢測工具管理.mp4 17:26 107 MB
GuidantAI-檢測工具教學-02-掃描設定檔管理.mp4 8:04 42 MB
GuidantAI-檢測工具教學-03-任務設為檢測工具執行.mp4 20:36 94 MB
GuidantAI-檢測工具教學-04-執行與結果回收.mp4 26:12 89 MB
GuidantAI-檢測工具教學-05-總結.mp4 1:33 15 MB
分段/:01 a~f、02 a~c、03 a~i、04 a1/a2/b1~b5/c 共 26 支(00/05 單段即成片)

工作檔(分段+各章合併版)仍在 reports/training-videos/chapters/04-detection-*.mp4;重錄單段 → training/scripts/merge-phase-videos.sh → 手動搬進歸檔目錄取代。Playwright 原始檔在 test-results/videos/training/passed/(FR-074 的 <30s dry-run 短檔 74 支已歸 superseded/)。

2. 最終章節與段數(28 段)

段數 @phase 角色 實錄 原估
04-00 總開場 1 intro(流程卡四步+旅程地圖四站) admin 1:51 ~2
04-01 檢測工具管理 6 a-catalog(八支工具逐一導覽)b-openvas(+SonarQube)c-openscap(私鑰遮罩、部署前提、逐網段測試)d-govern e-zap-nmap f-dual-cred(GCB+CINC 雙憑證組含 WinRM) admin 17:26 ~8
04-02 掃描設定檔管理 3 a-concept b-upload c-controls admin 8:04 ~6
04-03 任務設為檢測工具執行 9 a-openscap-task b-gcb-task c-cinc-task d-nmap-task e-openvas-task f-zap-task g-sonarqube-task h-multi-agent(多組分派+排程)i-review PM Bob 20:36 ~7
04-04 執行與結果回收 8 a1-start-ssh(PM 發動)a2-start-api(執行者確認+SonarQube 上傳發動)【切點】b1-result-os b2-result-cinc-nmap b3-result-web(ZAP)b5-result-vuln(OpenVAS)b4-result-sonar c-rerun(PM 規劃頁) Bob→Alex→Bob 26:12 ~7
04-05 總結 1 summary 1:33 ~1.5
合計 28 75:42 ~30

段數沿革:開案 13 段 → SonarQube 入戲 14 → 七支工具全示範 22(04-03 8、04-04 7)→ 04-01 加 E/F 成 6、04-03 加 Seg-H 成 9、04-04 拆 B5 成 8 → 28。

3. commits

test repo compliance-manager-test(branch feature/FR-069.5,未 push)

commit 內容
3ee3a45 首腦 Act README+六章 outline(13 段)
e1dd5a8 2f87dff 0cfcee5 47c84e1 afddc18 首腦 outline 調整:50 網段目標改 190、SonarQube 入戲、Seg-C 逐網段測試、Seg-B 選 50 網段 Agent、OpenSCAP 基準改下拉
6457281 CM-1536 S0 地基:四頁 page object+業務 step、私鑰遮罩、env 變數、smoke 全綠
1f03666 CM-1536(含 CM-1538 staged 改動) 設定檔 page object 三處修正(版更 header/送出鈕/Tab 收面板)+ InputSwitch 改 isChecked() 兩處+pages README 更正
335e1b4 918afe7 CM-1536 補報告預覽三支 step;補任務描述/完成留言 step、「第 N 筆任務」跨控制項連續編號
d015eb5 CM-1537 04-00/04-05 純字卡兩支
9a6d13a 7bee50e f93ef2b 439f9b9 0c641be 5290537 f3800ce CM-1538 04-01:四段→Seg-C 重錄(SCAP content)→Seg-A 補八支工具重錄(1:36→3:20)→加 Seg-E/F 七支全設定→六段合併 15:44→17:28
7276692 219bcdc fea6197 CM-1539 04-02:三段+示範 profile zip→Seg-C 改公版→合併 8:06→清 190 五筆測試設定檔
20c5ceb 86d0a3e cd17c12 首腦 04-03/04-04 擴七支工具;Nmap 改 60.168;OpenSCAP 目標改 60.162
ea736f9 974a804 325fcf2 fe170e7 CM-1540 04-03 八段錄完→指派人員改 id 定位+冪等→user 驗片修正(merge 去頭 8 秒、ZAP 靶站、新增 Seg-H)九段 20:37→outline 同步
83db57b c745cb3 首腦 04-04 B 段是否等排程組:先改文案帶過,再撤回改等八組全成功
a1d2ace 05f0941 0e6dab8 1346fa8 CM-1541 第 1 棒 阻塞診斷→A1/A2 改劇本→A1 錄→A2 錄+修 S0 上傳 bug
4cb71f9 CM-1541 第 2 棒 B1~C 五段+B5 新增,八段合併 26:23
15f7b7f CM-1541 第 3 棒 統計導覽 selector 誤圈+OpenVAS PDF 卡死修正,B1~B5 重錄
772c9ec CM-1542 收口:README 對齊 28 段+實錄時長、六章 03-status 填實、preview-overlays 補流程卡/旅程地圖對照、dry-run 短檔歸 superseded

BE repo compliance-manager-be(branch feature/FR-069.5,未 push)

commit 內容
9cc83b6f 開案:design.md 定案(6 章 13 段、190 亮色、7 子卡)
f997b494 359fcb7b a8dc8fcd design 同步:50 網段目標改 190、SonarQube 入戲 14 段、七支工具 22 段
230e2862 對話歸檔:CM-1540 04-03 製作
be9ee974 c19ed2b6 699118ee 5bbeb453 04-04 四棒 STATE/LOG
(本次) 本 SUMMARY+design 變更紀錄+README 登記表狀態

4. 對原大綱的重大偏離(皆 user 拍板)

  1. 七支可用工具全設定、全設任務、全執行(2026-09-03)。原案只示範 OpenVAS+OpenSCAP 設定、OpenSCAP+GCB 兩任務;user 定調「證明每支都做得到」,04-01 4→6 段(E ZAP+Nmap、F GCB+CINC 雙憑證組含 WinRM)、04-03 4→8、04-04 3→7;Nessus 為 coming_soon 只提一句。總時長 ~30 → 75 分鐘。
  2. 04-04 A 段改 PM 發動。原案「執行者 Alex 逐一按開始執行」在產品上不成立——任務要 PM 在規劃頁按「開始執行任務」才轉 PROCESSING,且該動作 _auto_dispatch_detection_scans 會自動派掉六支非上傳型任務的第一次掃描;執行者抽屜沒有「開始執行」鈕。A1 改 PM 視角、A2 改執行者視角,只有 SonarQube(上傳型)保留手動發動示範。選「改劇本」而非「清資料」:清執行紀錄屬 190 寫入型異動,且 CINC 真實失敗反成 C 段素材。
  3. 04-04 C 段改走規劃頁vw_user_job_queue 硬篩 user_id = 當前使用者,PM 在「我的任務」一筆都看不到(產品設計非 bug);改在規劃頁任務面板回顧設定+說明重跑取消。
  4. OpenSCAP 掃描目標改 60.162(Ubuntu 24.04 原生 SSG content)。60.166~168 是 26.04,上游 ssg 0.1.79 沒出 26.04 內容檔;04-01 Seg-C 測試連線靠 cp 2404 → 2604 權宜通過(三台都做,oscap info 標題仍是 24.04,不適合真實稽核),04-03 任務則直接換目標避開。
  5. Nmap 任務執行主機改 60.168。nmap 裝在被掃目標而非 Agent(NPSL 授權不隨 Agent 發布),190 沒裝;Agent 改 60-ubuntu-2604-lab-03
  6. ZAP 靶站改 60.165 OWASP Juice Shop(user 驗片後)。原掃主站 190 被動掃描 0 發現;換靶站順勢補「只掃有授權的練習靶站」說明卡。
  7. 04-03 新增 Seg-H 多組分派與排程(user 驗片要求)。拿 OpenSCAP 任務加第二組(guidant-server 掃 190、排程當晚 22:00),排在總覽之前成獨立段,原總覽順延 Seg-I;理由:多 Agent/排程是跨工具通用能力,塞進 A 段會被誤讀為 OpenSCAP 專屬。
  8. 其他:04-01 Seg-A 補「八支工具逐一認識」(user 審片:所有工具都要說明);04-02 Seg-C 控制項清單改用公版 TWGCB-01-014(190 api 容器沒裝 cinc-auditor,自有設定檔抽取必失敗,STG/POC 同樣);04-03 Seg-A 掃描基準改「從下拉選」(190 param_schema 為純 select);04-04 OpenVAS 自 B3 拆出 B5(第一輪逾時,merge 腳本改 B5 動態選配)。

5. 踩到的坑與教訓

發生在 根因/修法 教訓
CINC sudoers 04-04 A2 部署前提腳本只開 oscap NOPASSWD,CINC 死在 Sudo cannot prompt for password because there is no terminal;user 補 NOPASSWD: ALL 後重跑成功 部署前提說明與實際工具需求不對等(見 follow-up)
OpenVAS 逾時 04-04 掃 190 一輪超過 3600s 上限逾時失敗、無報告;第二輪 42 分鐘成功(86 findings)。逾時不留 task_id 無法補拉 錄影前把 timeout_sec 調大或換小目標;交接檔的「正在跑」是快照不是承諾,接手要重查
PDF 報告 headless 不能預覽 04-04 B5 OpenVAS 報告是唯一 PDF,headless Chromium 無 PDF viewer,iframe 走 download 流程永遠轉圈;改導覽「下載報告」鈕 沿用別段模板前先查該段特有資料形狀(upload_files.file_ext
統計導覽 selector 全段誤圈 04-04 B1~B5 七處 .exec-info-grid 抓到 metadata 區塊不是「掃描結果統計」;改 text="掃描結果統計" >> xpath=.. SKIP_OVERLAYS 綠燈只證明元素存在、不證明圈對;最終驗收一定要真的看畫面
任務未發動無開始執行鈕 04-04 開錄前 見偏離 2;唯讀盤點(Playwright probe+DB SELECT)定位到是產品前置流程,不是 selector 開錄前唯讀盤點是最值錢的動作,否則會誤診成「S0 step 寫錯」去改 S0
Escape 關 dialog 04-02 S0 AutoComplete 收面板按 Escape 會連 PrimeVue Dialog 一起關;改 Tab PrimeVue quirk
指派人員 placeholder 定位 04-03 MultiSelect display="chip" 存過人 placeholder 消失,正式錄第一輪 A~G 七段全掛;改 [id^='pp-task-assignees-'] 定位+冪等(讀 aria-selected 不讀 class,突變測試驗證) 「先驗證再正式錄」的標準流程必然觸發「同段錄第二次」狀態差,locator 不可綁一次性狀態
InputSwitch class 判斷 04-01 Seg-C p-inputswitch-checked 是未用佈景的 class,永遠判「關」把 sudo 反手關掉且靜默綠燈;改 isChecked()+點完再驗 佈景 class 不可當狀態來源;靜默寫反比報錯更危險
GCB/CINC 無 findings 04-04 B1/B2 summary 只有 pass/fail/error/notapplicable,應看到發現項目統計 必逾時;拿掉斷言改字卡口徑
auto 完成任務從預設清單消失 04-04 A2 GCB auto 掃完即 COMPLETED,「我的任務」預設篩進行中;每段開頭先篩「全部」
合併裸接閃爍 04-03 未照 SOP 關 4 去頭;merge 腳本加 TRIM_HEAD(預設 8,換章要實測);04-01 逐段實測裁切(2~5s 不等)未寫死 裁切秒數是逐段實測值,各章各段不同
口頭秒數不可盲信 04-04 第 4 棒 user 說「後 8 秒」剪掉,逐幀核對發現會切到總結卡,改 5 秒 下刀前先截圖核對邊界
平行 session commit 撞車 CM-1538/1539 兩 session 同 branch,一方 staged 檔被另一方 commit 帶走(1f03666 訊息掛 CM-1536,內容含 CM-1538 改動);未改寫歷史 同 branch 平行跑要錯開或分 branch;追溯以 Notion 卡回寫為準
unique constraint 症狀誤導 04-02 同名設定檔撞 uq_dp_tool_tenant_name,錯誤顯示在下一步「dialog mask 擋住搜尋框」 「後面那步壞掉」要往前一步看
字卡真實換行 04-04 第 2 棒 Gherkin 參數要單行用 \n 字面值,貼真實換行 parse error
S0 上傳 bug 04-04 A2 直接對隱藏 input setInputFiles 跳過 pickSourceFile(row),檔案落 _default key、按鈕維持 disabled 但 toast 顯示成功;改走 filechooser 真實路徑 症狀「看起來成功但按不下去」極具欺騙性

6. Follow-up(未結,需另開卡或決策)

  1. BE log 印 request body 含私鑰明文app_mw.before_request 印 Request Body 全文,儲存 OpenSCAP/WinRM 設定時私鑰/密碼明文進 guidant-api log(DB 是加密的,log 不是)。user 2026-09-03 裁「記錄不修」(memory followup_be_logs_request_body_plaintext_credentials)。
  2. OpenVAS 逾時不留 task_id、無法補拉報告:逾時判失敗後 OpenVAS 端可能還在跑甚至跑完,但平台沒存 task id,事後拉不到報告;建議逾時時保留 task id 供補拉,或 timeout_sec 預設對 OpenVAS 放寬。
  3. 部署前提腳本 sudoers 只開 oscap:「部署前提說明」給的腳本只授權 oscap,CINC Auditor(以及其他需 sudo 的 SSH 型工具)掃描會失敗;腳本應依已啟用工具產生對應 sudoers 或明講需 NOPASSWD: ALL
  4. PDF 報告 headless 預覽:教學管線無法示範 PDF 報告預覽(環境限制);若日後要錄,需 headed 或改用 pdf.js 內嵌檢視。產品端 iframe 預覽 PDF 在一般瀏覽器可用,非產品 bug。
  5. merge 裁切秒數各章要實測TRIM_HEAD 預設 8 是 04-03 規劃頁量的;04-01 逐段 2~5s 手裁、04-04 沿用 8 另加整片去頭 6/去尾 5。重錄任一章前先截圖量再合。
  6. 其他已記在各章 03-status.md:60.166~168 的 2604 SCAP content 是 2404 複製品,上游補齊後應換回;190 api 容器未裝 cinc-auditor(STG/POC 同);S0 smoke 的 SonarQube「停用」斷言已改啟用(86d0a3e);04-01 Seg-A 錄在「已設定」狀態非純淨初始。

7. 190 留下的狀態(04-04 素材,不要清)

七支工具全 enabled+test success;專案「2027 CMMC 2.0 Level1 年度稽核」第一群組前 7 個評估項目各掛一個檢測任務(OpenSCAP 兩組),全部指派 Alex Wang,七任務全成功(含 OpenVAS 重跑)、OpenSCAP 一組已人工結案 COMPLETED、GCB 自動結案;04-02 錄影產生的 5 筆自有設定檔已清。SonarQube 171 上有 Guidant-AI-billows-portal 專案。

8. 交接檔與文件座標

  • 設計:docs/features/FR-074-2609-detection-tools-training-videos/design.md
  • 04-04 四棒交接:同目錄 handoff/fr074-04-04-STATE.md(living,已結案)/fr074-04-04-LOG.md(append-only)
  • test repo:training/chapters/04-detection-tools/README.md(Act 索引+事前準備+成品座標)、各章 02-outline.md(劇本 canonical)、03-status.md(實錄結果與坑)
  • Notion:母卡 CM-1535;子卡 CM-1536(S0)、1537(00/05)、1538(04-01)、1539(04-02)、1540(04-03)、1541(04-04)、1542(收口)