Guidant AI 檢測工具整合平台 使用手冊

FR-056 / FR-057 · 2026-07-29 · agent 0.2.8+(OpenSCAP connector 需 0.2.9 以上,見第 4 章)
  1. 總覽
  2. 檢測工具設定
  3. 任務設定
  4. evidence-agent 升級部署
  5. SSH 遠端掃描部署說明(OpenSCAP)
  6. 端到端執行流程
  7. 重新執行與取消機制
  8. 人工測試 Checklist
  9. 常見問題

1. 總覽

檢測工具整合平台讓 Guidant AI 直接調度外部資安檢測工具,目前已上線兩款: OpenVAS(弱點掃描,API 連線)與 OpenSCAP(CIS / STIG 組態合規稽核,SSH 遠端連線)。 稽核任務中的「檢測工具執行」任務按下開始執行後,系統會派工給部署於內網的 Agent 執行掃描, 掃描完成的報告會自動拉回雲端並登錄為該任務的證據,同時附上發現項目統計並寄送通知信給任務負責人; 若任務設定為「自動」完成模式,系統會在證據入庫後自動將任務標記完成, 「人工」模式則保留任務為執行中,等負責人檢視報告後手動按完成。

兩款工具的關鍵差異 OpenVAS 是有 server API 的弱點掃描服務,Agent 直接透過 GMP over TLS 連上去下指令,目標主機本身不需要裝任何東西。 OpenSCAP 是純 CLI 工具、無 server API、無常駐服務,組態合規稽核必須「登入身分在目標主機本機執行」——這是物理限制,全業界一致(Red Hat Satellite 同模式)。 因此使用 OpenSCAP 每一台要掃描的目標主機都需要一次性完成準備(裝 openscap-scanner、建稽核帳號、佈 SSH 公鑰),詳見 第 5 章。 Agent 本身維持 Docker 形態不變,只是「掃描發起端」——OpenSCAP 的實際掃描引擎在各目標主機上執行,不在 Agent 容器內。
1
工具掃描
Agent 調度 OpenVAS / OpenSCAP 執行掃描
2
報告變證據
報告 + 發現統計自動入庫為任務證據
3
通知信
寄送 Email 通知任務負責人
4
任務完成
auto=自動完成
manual=人工按完成

2. 檢測工具設定

2.1 平台工具目錄

平台維護一份「檢測工具目錄」(目前收錄 OpenVASOpenSCAP 兩款)。目錄是 DB 驅動而非程式寫死: 每個工具在目錄中定義工具代碼、顯示名稱、說明、連線類型(API / CLI / SSH)、設定欄位結構(動態表單 schema)、部署前提說明 與平台層總開關。未來新增其他工具(如 Nessus、SonarQube)時,於目錄新增資料並搭配對應 Agent connector 即可, 租戶設定頁與任務參數表單的欄位都會依目錄中定義的欄位結構自動渲染(FE 對工具型別零硬編)。

2.2 租戶設定頁

進入「檢測工具管理」頁面,對要使用的工具點「設定」, 填寫連線資訊後儲存。頁面主要操作:

介面元素說明
啟用檢測工具將該工具在本租戶啟用(未開放的工具顯示「敬請期待」)。
設定開啟該工具的連線設定表單。表單欄位依工具目錄的欄位結構動態產生,必填欄位未填會提示「{欄位名} 為必填」。
測試連線工具卡片上的按鈕。以已儲存的設定透過內網 Agent 實際連線工具端驗證(詳見 2.5),回報成功或具體失敗原因。系統會記錄最近一次測試時間與結果。
注意:測的是已存檔的設定值——表單中修改但尚未儲存的內容不會被測到,請先儲存再測試。
卡片右下角「⋮」選單次要/危險動作收在這裡:部署前提說明(見 2.3)、啟用/停用重置金鑰
停用停用該租戶設定。停用前系統會查詢仍引用此工具的任務數量供確認(軟提醒,不擋)。
重置金鑰清除已儲存的加密憑證,重新輸入。

2.3 OpenSCAP 專屬設定欄位

選 OpenSCAP 按「設定」,表單欄位如下:

欄位型別必填說明
稽核帳號 文字 必填 登入目標主機用的帳號名稱。所有目標主機須用同一個帳號名稱(業界慣例做法,非每台各自帳密)。
認證方式 下拉(密碼 / SSH 私鑰) 必填 二擇一,選擇後會切換顯示對應的密碼或私鑰欄位;建議優先使用 SSH 私鑰(比密碼更安全)。
SSH 密碼 密碼 條件必填 認證方式選「密碼」時才顯示、才必填。
SSH 私鑰 多行文字 條件必填 認證方式選「SSH 私鑰」時才顯示、才必填。貼入完整 OpenSSH PEM 格式私鑰(含 -----BEGIN ... PRIVATE KEY----------END ... PRIVATE KEY----- 整段),格式細節見 第 9 章常見問題
SSH 連接埠 數字 選填 預設 22,目標主機若改了 SSH port 才需調整。
使用 sudo 提權 開關 選填 預設開啟。完整組態稽核需要 root 級讀取權限,企業普遍禁止 root 遠端登入,故標準做法是「一般帳號 + sudo 提權」而非直接用 root 登入。
認證方式切換時不殘留另一欄位的值 切換「認證方式」下拉時,未選中的分支(密碼或私鑰)欄位會被隱藏且**不會送出**——不用擔心切換後另一欄的舊值意外殘留生效。

2.4 憑證加密說明

憑證安全機制 工具本身的帳密 / SSH 憑證(如 OpenVAS 登入帳號密碼、OpenSCAP 的 SSH 密碼或私鑰)由使用者在本設定頁填寫,以對稱加密後落入資料庫, 派掃描工時雲端才解密、隨派工單經 mTLS 通道下發給 Agent(用完即丟、不落地)——Agent 端與部署設定檔完全不需要、也不應該放任何掃描工具憑證。 唯一與此相關的環境變數是雲端 BE 的加密金鑰 DETECTION_TOOL_ENCRYPTION_KEY(負責上述加解密,保存在 BE 部署環境、不進版控),它不是掃描工具的帳密。 非機敏欄位(如主機位址、稽核帳號名稱)另存為一般設定值。UI 不會回顯憑證明文——已設定過的機敏欄位會顯示 「••••(已設定,留空不變更)」,留空儲存即代表沿用原值,只有要更換時才需重新輸入。 api_log 對本模組的請求 body 一律遮罩憑證欄位,不落明文(D9)。

2.5 測試連線

儲存設定後建議立即按工具卡片上的「測試連線」確認整條連線鏈路可用。 測試結果(成功 / 失敗)與時間會記錄在該筆設定上,方便日後追查連線狀況。 若測試失敗,請參考 第 9 章常見問題 的排查步驟。

測試連線的實際路徑 測試連線不是由雲端直接連檢測工具——檢測工具部署在客戶內網,雲端本來就連不到。 實際路徑是:雲端解密該租戶憑證 → 透過 mTLS 通道即時推送給內網的 AgentPOST /detection/probe)→ Agent 以與真實掃描完全相同的連線方式(OpenVAS 為 GMP over TLS,python-gvm;OpenSCAP 為 SSH 連線) 連上工具端並驗證帳密 → 結果同步回傳。 因此「測試連線成功」代表整條 雲端 → Agent → 檢測工具 鏈路都通, 之後的真實掃描走的就是同一條路(重新執行的取消請求也走同一 mTLS 通道,見 第 7 章)。反過來說,本租戶必須已部署並啟用具備掃描能力 (capabilities 含 detection_scan)的 Agent,測試連線才可能成功; 沒有可用 Agent 時會直接提示,而不是等待逾時。
OpenSCAP(SSH 型)測試連線:先輸入測試主機 租戶層憑證只有帳密,不含要測哪一台主機——OpenSCAP 按「測試連線」會先跳出輸入框,要求填一台或多台目標主機(逗號 / 空白 / 分號分隔皆可)。 多台時系統會逐台並發測試並在同一個視窗內即時列出每台的結果(測試中 / 成功 / 失敗),不需一台一台分開測。 Probe 會依序檢查四段:① SSH 連線 ② 帳密認證 ③ oscap 指令是否存在 ④ SCAP content 是否齊備——任一段失敗會停在該段並回報明確原因(見第 9 章)。

2.6 部署前提說明(i 按鈕)

有部署前提的工具(目前為 OpenSCAP),卡片「⋮」選單會出現「部署前提說明」項,點開後顯示:

視窗內有「複製腳本」按鈕,一鍵把腳本部分(不含說明文字)複製到剪貼簿,可直接貼到目標主機終端機執行。 完整的準備步驟與腳本內容見 第 5 章

3. 任務設定

3.1 設定入口與步驟

1
專案規劃頁
進入專案的規劃頁面
2
控制項實作 Tab
切到控制項實作分頁
3
點選 AO
選擇要設定任務的評估物件
4
設定任務
任務類型選「檢測工具執行」

任務類型下拉選擇「檢測工具執行」後,任務卡片會出現 「檢測工具」下拉,列出本租戶已啟用的工具。 未選擇工具無法儲存,系統會擋下存檔。

3.2 掃描參數

選定工具後,依工具的參數 schema 填寫掃描參數。OpenVAS 目前的參數如下(表單完全依 BE 回傳的 schema 動態渲染,新增欄位不需要改 FE):

參數欄位標籤型別必填說明
hosts 掃描目標(IP/主機,逗號分隔) text 必填 要掃描的目標主機清單,多個以逗號分隔。未填寫掃描一定失敗。
timeout_sec 逾時秒數 number 選填 掃描等待逾時秒數,留空使用系統預設(3600 秒)。
scan_config_id Scan Config UUID(進階,留空用預設) text 選填 指定 OpenVAS 掃描設定檔 UUID,一般留空使用預設即可。
scanner_id Scanner UUID(進階,留空用預設) text 選填 指定 OpenVAS 掃描器 UUID,一般留空使用預設即可。
port_list_id Port List UUID(進階,留空用預設 All IANA assigned TCP) text 選填 指定 OpenVAS Port List UUID(v2 schema 新增欄位);留空 Agent 使用預設值。

3.3 OpenSCAP 掃描參數

選定 OpenSCAP 後,任務卡片出現以下參數。有預設值的欄位選定工具當下會自動帶入,不會看到空白表單:

參數欄位標籤型別必填說明
hosts 掃描目標(IP/主機,逗號分隔) text 必填 要掃描的目標主機清單,多個以逗號分隔。這些主機都必須已完成第 5 章的部署準備。
content_path SCAP content 路徑 text 選填 預設帶入 預設值 /usr/share/xml/scap/ssg/content/(目標主機上 SSG 套件的慣例安裝目錄)。 填目錄路徑(以斜線結尾)時,系統會自動偵測目標主機的作業系統與版本,推斷實際檔名(如 ssg-ubuntu2204-ds.xml); 若無法辨識該主機的作業系統,掃描會給出明確錯誤,此時請改填完整檔案路徑直接指定要用哪份 content。
profile 掃描 Profile select_or_text(下拉 + 可自由輸入) 必填 下拉列出常用選項(CIS Level 1 Server、CIS Level 2 Server、STIG),也可直接輸入清單外的 xccdf profile id(不同 SSG 版本、不同 OS 支援的 profile 集合不同,實際可用值以目標主機的 content 為準)。 範例值:xccdf_org.ssgproject.content_profile_cis_level1_server
timeout_sec 逾時秒數 number 選填 預設帶入 預設 3600 秒,逐台各自計時(多台掃描不是加總共用一個逾時)。
profile id 要對得上目標機的實際 SSG 版本 下拉的三個常用選項是平台預設建議值,實際能不能用取決於目標主機安裝的 SSG content 版本是否含該 profile。 若掃描失敗提示 profile 不存在,可先到目標主機上執行 oscap info <content 檔案路徑> 查看該份 content 實際支援哪些 profile id,再改用自由輸入填入正確值。

3.4 完成模式

任務卡片的「完成模式」決定掃描結束後任務怎麼收尾:

模式介面文案行為
manual 預設 人工(掃描完成後需手動按完成) 掃描完成、證據入庫後,任務維持執行中(PROCESSING),由負責人檢視報告判斷後再手動按完成。
auto 自動(掃描完成後自動標記完成) 掃描完成、證據入庫後,系統自動替任務按完成,走既有的任務完成流程。
白話理解 manual=「掃完先放著,人看過才算數」;auto=「掃完系統直接幫你按完成」。 兩種模式都不新增任務狀態,完成走的是既有任務完成機制。

4. evidence-agent 升級部署

檢測掃描由部署在客戶內網的 evidence-agent(出貨名 guidant-ai-agent)執行,目前部署版本為 0.2.8(已部署 192.168.50.123)。 evidence-agent 以 Docker image 形式出貨,升級方式是在開發機重新 build image 後 docker save / docker load 出貨, 不是在 Agent 主機上 git pull 源碼直跑。

OpenSCAP connector 需要比 0.2.8 更新的 image OpenSCAP 的 SSH connector 程式碼是在 0.2.8 版本之後才加入的,目前部署在內網的 0.2.8 image 不含此功能。 要使用 OpenSCAP,除了本章的一般升級步驟外,Docker image 內還需含 openssh-client 套件(用於 SSH 連線),並確認容器內建有 OpenSCAP connector 程式碼——實際要升級到哪個版號、以哪種方式出貨,請依部署當下的實際版本規劃確認,不要假設沿用舊版號直接覆蓋。
版號需同步的五個落點 升版時以下五處都要更新到同一版號(避免部署後版號顯示與實際功能不一致):
  1. pyproject.tomlversion
  2. config/config.pyagent_version 預設值
  3. deploy/.env.exampleAGENT_IMAGE
  4. deploy/docker-compose.ymlimage: 預設 tag
  5. deploy/docker-compose.ymlAGENT_VERSION 環境變數
1
重 build image
開發機 docker build
tag 新版號
2
出貨到 123
docker save |
ssh … docker load
3
切版重啟
deploy/.env
docker compose up -d
4
雲端設定能力
capabilities 加入
detection_scan

4.1 重建與出貨步驟

# 於開發機 evidence-agent repo 根目錄
# 0) 確認在最新 feature/scan-plugin-integration 程式碼上

# 1) Nexus 認證 secret(.secrets/nexus.env 已存在可跳過;帳密查部署文件)
#    內容兩行:export POETRY_HTTP_BASIC_NEXUS_USERNAME=... / export POETRY_HTTP_BASIC_NEXUS_PASSWORD=...

# 2) build 新版 image —— 用 repo 根目錄的 rebuild.sh,IMAGE 版號需與五處版號同步清單一致
IMAGE=guidant-ai-agent:0.2.8 ./rebuild.sh
#    加 --no-cache 可強制全新重建:IMAGE=guidant-ai-agent:0.2.8 ./rebuild.sh --no-cache

# 3) 出貨到 agent 主機 192.168.50.123
docker save guidant-ai-agent:0.2.8 | ssh <user>@192.168.50.123 docker load

# 4) 在 123 上:deploy/.env 改 AGENT_IMAGE=guidant-ai-agent:0.2.8
#    (compose 的 AGENT_VERSION 亦已在 repo 內同步更新為 0.2.8)

# 5) 在 123 的 deploy/ 目錄重建 agent 容器
#    ⚠️ up -d 必須指定 service 名(guidant-ai-agent)——不帶名會對 compose 內
#       「所有」服務比對重建,同檔的 postgres 資料庫容器會被一併 recreate(無預警重啟)。
#    ⚠️ nginx(mTLS 入口)掛在 compose profile "full" 底下,指令仍需帶 --profile full
docker compose --profile full up -d guidant-ai-agent

# 6) 確認容器健康 + 心跳(應見 guidant-ai-agent / agent-db / nginx 三個容器)
docker compose --profile full ps
docker compose logs --tail 20 guidant-ai-agent
升級後確認:雲端 capabilities 設定 Agent 的能力清單記錄在雲端側的 Agent 註冊資料(remote_agents.capabilities 欄位, JSON 清單,例如 ["file_storage","detection_scan"]),不是 Agent 心跳自動上報。 掃描工單只會派給 capabilities 含 "detection_scan" 的 Agent。 因此升級重啟後,需請系統管理員在雲端將該 Agent 的 capabilities 設定為包含 detection_scan,該 Agent 才會被派掃描任務。
心跳「先跳再等」+ 間隔快取陷阱 Agent 啟動後心跳邏輯是「先立即打一次,再依間隔等待」,不是啟動後乾等一個間隔才第一次回報。 心跳間隔實際生效值吃部署機上 certs/agent.json 的快取——**改環境變數 AGENT_HEARTBEAT_INTERVAL_SEC 不會立即生效**,需清快取或重新註冊才會套用新值,排查「心跳間隔改了沒反應」時先查這個檔案。

全新安裝(非升級)請參考 evidence-agent 專案內 deploy/README.md 的既有部署流程。

5. SSH 遠端掃描部署說明(OpenSCAP)

5.1 為什麼需要目標主機準備

OpenSCAP(oscap)是純 CLI 工具,沒有 server API、沒有常駐服務(daemon)。 組態合規稽核要檢查的是目標主機系統內部的實際狀態(設定檔內容、已裝套件版本、核心參數等), 這類檢查必須以登入身分在目標作業系統上直接執行才能讀到——這是所有組態稽核工具的共同物理限制,不是本平台的取捨或妥協。 業界的官方標準做法是「發起端 SSH 登入目標主機 → 在目標上執行目標自己的 oscap → 把報告拉回」(Red Hat Satellite / Foreman 大規模環境採用同一模式)。

因此使用 OpenSCAP 之前,每一台要掃描的目標主機都需要一次性完成準備:安裝 openscap-scanner 與 SCAP content(SSG)、建立稽核帳號並佈署 SSH 公鑰、視需要開放 sudo 免密執行。 Agent 本身維持既有的 Docker 部署形態不變,只是「掃描發起端」——它透過 SSH 連到目標主機,實際的掃描動作在目標主機上跑,不在 Agent 容器內執行。

5.2 目標主機準備清單

SCAP content 版本需與目標 OS 相符 SSG content 依 OS 版本發布(如 ssg-ubuntu2204-ds.xml 對應 Ubuntu 22.04)。content 版本與目標 OS 不相符時,規則會因平台判定不匹配而全數 notapplicable——掃描看似成功、實際零實質檢查,系統會將該次掃描標示為「無實質檢查」避免誤讀。 目標 OS 較新、官方尚未發布對應 content 時(例:Ubuntu 26.04 目前尚無 ssg-ubuntu2604),該主機暫時無法有效掃描——待官方發布後在目標主機更新 SSG 套件即可,平台與 Agent 皆不需升級。跨 OS 家族借用 content(如以 RHEL content 掃 CentOS / Rocky)為業界合法用法,不在此限。

5.3 目標主機準備腳本

以下腳本可在檢測工具設定頁的「部署前提說明」視窗(見 2.6)直接複製,貼到目標主機終端機以有 sudo 權限的帳號執行一次即可。兩份腳本邏輯相同,僅套件管理指令不同。

Ubuntu / Debian

sudo apt update
sudo apt install -y openscap-scanner ssg-base ssg-debderived openssh-server
sudo useradd -m -s /bin/bash audit-scan
sudo mkdir -p /home/audit-scan/.ssh
echo '<貼上本設定使用的 SSH 公鑰>' | sudo tee /home/audit-scan/.ssh/authorized_keys
sudo chown -R audit-scan:audit-scan /home/audit-scan/.ssh
sudo chmod 700 /home/audit-scan/.ssh
sudo chmod 600 /home/audit-scan/.ssh/authorized_keys
echo 'audit-scan ALL=(root) NOPASSWD: /usr/bin/oscap' | sudo tee /etc/sudoers.d/audit-scan

RHEL / CentOS / Rocky

sudo dnf install -y openscap-scanner scap-security-guide openssh-server
sudo useradd -m -s /bin/bash audit-scan
sudo mkdir -p /home/audit-scan/.ssh
echo '<貼上本設定使用的 SSH 公鑰>' | sudo tee /home/audit-scan/.ssh/authorized_keys
sudo chown -R audit-scan:audit-scan /home/audit-scan/.ssh
sudo chmod 700 /home/audit-scan/.ssh
sudo chmod 600 /home/audit-scan/.ssh/authorized_keys
echo 'audit-scan ALL=(root) NOPASSWD: /usr/bin/oscap' | sudo tee /etc/sudoers.d/audit-scan
腳本內的公鑰請換成實際值 腳本內 <貼上本設定使用的 SSH 公鑰> 是佔位文字,請換成 Guidant AI 設定頁對應的公鑰(與設定頁填入的私鑰成對)。若採密碼認證則不需要這一步,改確認該帳號密碼已知並在設定頁填入即可(仍建議優先使用金鑰)。

5.4 SSH 連線細節

白話理解:為什麼是「共用帳號」而不是「每台各自帳密」 想像稽核團隊要巡查 100 台伺服器:如果每台都要記一組不同密碼,管理成本很高,也容易漏設定;業界標準做法是給所有目標主機建立同名的稽核帳號,統一用一把金鑰登入,權限侷限在「只能跑合規檢查」,這樣新增目標主機只需要跑一次準備腳本,不需要額外去 Guidant AI 逐台設定憑證。

6. 端到端執行流程

6.1 完整鏈路

1
開始執行任務
PM 於規劃頁按下
自動派 detection 首掃
2
派發工單
雲端建立掃描工單
+ 執行史列(running)
3
Agent 領工
Agent 心跳輪詢領取工單
4
工具掃描
OpenVAS 執行弱點掃描 /
OpenSCAP SSH 登入逐台稽核
5
報告 + 統計取得
OpenVAS:PDF+XML 統計
OpenSCAP:逐台 HTML+文字統計
6
證據入庫
雲端拉回報告存證
來源=檢測工具
7
歷史 + 通知
執行歷史落一筆
寄送通知信
8
完成分岔
auto=自動完成
manual=留 PROCESSING
規劃頁「開始執行任務」自動派首次掃描 PM 在專案規劃頁按「開始執行任務」把已指派的任務批次轉 PROCESSING 時, 系統會一併自動觸發 detection_tool 型任務的第一次掃描——這是產品定案的自動化目標: 第一次掃描不用等執行者進抽屜手動按。判斷邏輯是「查無該任務的執行紀錄」才自動派(`NOT EXISTS` 防重), 故重複按「開始執行任務」不會對已派過工的任務重複觸發。任務抽屜內的「開始執行 / 重新執行」按鈕依然保留, 定位改為失敗重試或需要再掃一次的補救入口。單筆自動派工失敗(如憑證未設定)不會擋住整批任務發佈, 該筆留給執行者從抽屜手動補派。

6.2 執行抽屜操作

在任務的執行抽屜中可進行以下操作:

介面元素說明
開始執行 / 重新執行 尚無執行紀錄時顯示「開始執行」;已有紀錄時顯示「重新執行」。行為細節見 第 7 章
執行紀錄({count}) 執行歷史區塊,最新在上(BE 依 started_at DESC 排序);區塊本身可收合,標題列可點擊切換,chevron 圖示反映開合狀態。
區塊預設展開 / 收合 有執行中的紀錄、或最新一筆是失敗時預設展開(使用者正在等結果 / 需要看錯誤);其餘情況預設收合,避免佔版面。
執行狀態 每筆紀錄有四種狀態:執行中成功失敗已取消(見 第 7 章)。失敗紀錄會保留錯誤訊息,任務仍為 PROCESSING 可重試。
發現 {count} 項 成功紀錄顯示本次掃描的發現項目統計(讀取自 summary.findings,該欄位同時含 critical / high / medium / low / log 細項)。
下載報告 下載該次執行的掃描報告。OpenVASPDF 格式(Greenbone 排版的完整弱點掃描報告),一次執行一份; OpenSCAPHTML 格式oscap 官方人讀報告),逐台目標主機各一份——多台掃描時「下載報告」會列出該次執行所有目標主機各自的報告,逐份下載,不會只給一份。 多次執行的報告各自獨立、各自可下載。

6.3 證據與通知

7. 重新執行與取消機制

「重新執行」的行為依上一次執行是否還在進行中分岔,目的是避免同一個目標被疊出兩個並行掃描(互相干擾、拖慢,甚至產生兩份重複報告)。

7.1 無執行中的紀錄 → 直接派工

按「重新執行」(或首次「開始執行」)時,若目前沒有任何執行中的紀錄,系統直接派出新工單,跟以往行為一致,不會額外跳出確認視窗。

7.2 有執行中的紀錄 → 確認框 → 真中斷 → 才派新工單

1
按「重新執行」
偵測到有 running 紀錄
2
確認視窗
「上一次掃描將被中斷,
確定重新執行?」
3
真中斷
雲端 mTLS 通知 Agent
呼叫 OpenVAS stop_task
4
標記 + 重派
舊筆標「已取消」
才派出新工單

確認後,系統不是只在畫面上假裝取消——會透過既有的雲端 → Agent mTLS 通道發出取消指令,把該掃描真正停下來(OpenVAS 呼叫官方的 stop_task;OpenSCAP 終止當下正在跑的 SSH 子行程),確認停止成功後,才標記舊執行紀錄為「已取消」並派出新的工單。 按「取消」則什麼都不會發生,維持原狀。

取消失敗 → 拒絕重派,不默默繼續 若取消當下 Agent 離線、連線失敗,或 Agent 回應異常,系統會回報明確的錯誤(不會派出新的工單)——避免「假裝取消成功」卻讓舊掃描繼續跑,最後還是疊出並行掃描。使用者需先排查 Agent 連線問題後再重試。

7.3 邊界情境

8. 人工測試 Checklist

9. 常見問題

9.1 測試連線失敗怎麼排查?

測試連線走 雲端 → Agent → 檢測工具 兩段鏈路(見 2.5),依失敗訊息分段排查:

9.2 掃描一直卡在「執行中」?

9.3 掃描完成但證據沒出現在任務裡?

9.4 同時發佈多個掃描出現 Target exists already

9.5 OpenSCAP 私鑰貼入格式錯誤怎麼判斷?

9.6 OpenSCAP 掃描目標缺 SCAP content 怎麼辦?