FR-177 · 需求索引 · 本頁由 build 掃資料夾生成
用 claude-security plugin 掃裝在客戶機器上的 Guidant AI Agent 本體。前六輪掃的都是主系統與 jedi 套件,Agent 自己的程式從沒掃過;第一期挑客戶內網直接打得到的八塊。只掃不修。
🔴 總結報告分兩版:SUMMARY.md 是 PM 版(結論、發現按嚴重度但不含檔名行號、三個反覆模式、修法摘要、順序、可信度),可上需求文件站;工程師版(每條含檔名行號、六張修正卡寫到函式)在 Agent repo
docs/security-scan/FR-177/SUMMARY-engineering.md,不上站,等修正出貨後再考慮公開。本頁是進度表與座標。
這是資安掃描系列的第七個 arc。跨 arc 的結論、修正卡狀態與覆蓋率地圖在
security-scan-consolidated/;本頁只講 Agent 這一支。作業手冊是.claude/skills/security-scan-lead/SKILL.md。
Agent(repo evidence-agent)是裝在客戶自有設備上的程式:管證據檔、跑檢測工具、收主系統指令、提供本機主控台。2026-09 的 FR-077 掃的是主系統這一側的 jedi-remote-agent 套件與接線,Agent 自己的程式一個檔都沒進 scope;之後 FR-166/170/172 又把 Agent 重寫成 guidant_agent/ 七個模組,更新鏈是全新程式。
全包 214 支 Python、約 27,400 行,中文 docstring 密度高(研究員讀起來一行約是英文碼的兩到三倍 token),所以每棒壓在 1,000 行上下;分兩批各四棒平行。第一期挑「客戶內網直接打得到」的八塊;主控台其他路由、掃描執行核心、各工具 connector 的指令執行(sonarqube.py 1,711 行、inspec.py 1,050 行等)留第二、三期,等第一期結果出來再決定要不要掃。
| 批 | 棒 | 卡 | 範圍 | 檔/行 | 狀態 |
|---|---|---|---|---|---|
| 1 | A1 註冊、憑證與 Agent 身分 | CM-3508 | sync/app/enroll.py、cert_renew.py、sync/domain/registration.py、agent_auth.py、sync/adapters/cert_files.py、platform/agent_identity.py |
6/1,336 | ✅ 驗收完(11-06):工具 0 候選;人工補 1 低~中(私鑰建檔瞬間權限太寬,總表 #219) |
| 2 | A2 資料面 8443 與主系統下達的指令 | CM-3509 | sync/api/(守門殼+五支 cmd)、agent_auth.py、sync/app/cloud_trust.py、task_queue.py |
11/1,038 | ✅ 驗收完(11-06):1 條中——8443 空連線凍住資料面(#225) |
| 1 | A3 線上更新鏈(FR-172 新程式) | CM-3510 | sync/app/update_sync.py、update_events.py、update_log_upload.py、console/app/update_console.py、console/api/update_routes.py |
5/1,235 | ✅ 驗收完(11-06):工具 0 候選、人工 7 項全不成立;兩觀察不開卡;建議第二期補掃主機端 upgrade_order.sh |
| 2 | A4 檢測規則包下載與解壓 | CM-3511 | sync/app/profile_cache.py、profile_sync.py、shared/archive_safety.py |
3/1,011 | ✅ 驗收完(11-06):1 條中——tar 數檔案吃光記憶體(#226) |
| 1 | A5 簽章驗證核心、啟動完整性閘、漏洞庫同步 | CM-3512 | sync/app/vulndb_sync.py、vulndb_bundle.py、common/integrity/ |
6/946 | ✅ 驗收完(11-06):1 候選 0:3 否決;人工 8 項全不成立;兩低觀察不開卡 |
| 1 | A6 主控台本機登入、鎖定與 session | CM-3513 | identity/app/local_login.py、local_auth.py、session.py、session_file.py、credentials.py、identity/domain/lockout.py、identity/adapters/credential_repo.py、console/api/local_auth_routes.py |
8/1,119 | ✅ 驗收完(11-06):3 候選 3:0 全通過皆低(總表 #220~222) |
| 2 | A7 LDAP 登入、離線操作者、來源網段白名單 | CM-3514 | identity/adapters/ldap_source.py、identity/app/offline_operators.py、allow_cidr.py、identity/domain/allow_cidr.py、identity/ports/source_cidr_guard.py、console/api/ldap_routes.py |
6/940 | ✅ 驗收完(11-06):中 1——LDAP 來源可改成假伺服器冒充他人(#227);低 1——縮權不踢 session(#228) |
| 2 | A8 證據檔:blob API、瀏覽器直傳 8444、儲存設定、下載加密 | CM-3515 | guidant_agent/files/ 整個模組 |
19/1,225 | ✅ 驗收完(11-06):工具 1 候選 0:3 否決;人工 2 備註不開卡;淨新增 0 |
agent_auth.py 刻意同時放在 A1 與 A2(接縫檔重疊帶入,手冊第一節「切不開時」),兩棒分在不同批,驗收時比對兩邊對同一檔的結論、重複的挑掉。
| 批 | 棒 | 卡 | 範圍 | 檔/行 | 狀態 |
|---|---|---|---|---|---|
| 3 | B1 主控台維運與執行紀錄路由 | CM-3516 | console/api/ops_routes、runs_routes、log_routes、keys_routes、__init__(require_session 本體)、pages、console/__init__ |
7/917 | ✅ 驗收完(11-06):中 1——登入入口 body 無上限(#229);低 1——診斷包只要 configure(#230) |
| 3 | B2 主控台掃描、網診、檔案、工具路由 | CM-3517 | console/api/scan_routes、netdiag_routes、files、tools |
4/739 | ✅ 驗收完(11-06):中 2——與 B5 F1/F2 同條(#223/#224) |
| 3 | B3 主控台聚合層 | CM-3518 | console/app/ 整目錄(總覽、心跳欄位、inline_policy 線上預覽判定、body_limit) |
7/913 | ✅ 驗收完(11-06):低 1——總覽帶出掃描目標不看權限(#231) |
| 3 | B4 掃描任務執行與工具帳密 | CM-3519 | scan/app/task_executor、running_tasks、task_sinks、credential_*、secret_form、scan/adapters/credential_store、scan/api/、兩支 ports |
14/1,119 | ✅ 驗收完(11-06):中 1——改工具位址沿用舊密碼外送(#232) |
| 3 | B5 執行紀錄與本機上傳槽 | CM-3520 | scan/app/local_runs、scan_input、probe_runner、sync_ports、catalog、scan/adapters/local_runs_repo、scan_input_files、scan/domain、scan/__init__、migrations |
13/1,074 | ✅ 驗收完(11-06):🔴 高 1——手動掃描可手填任意 InSpec 規則包,Agent 原樣執行(#223);中 1——repo_url 不過清冊(#224) |
| 4 | B6a 目標清冊與結果回報 outbox | CM-3521 | sync/app/allowed_targets、outbox、event_sender、sync/adapters/outbox_repo、sync/ports/target_authorizer |
5/863 | ✅ 驗收完(11-06):中 2——F1 與 #224 同條併入;F2 DNS 換綁繞清冊(#233) |
| 4 | B6b 主系統通道與設定拉取 | CM-3522 | sync/app/config_pull、agent_status、agent_name、tool_schemas、keys_view、file_protect_sync、console_ticket、sync/adapters/cloud_channel、cloud_http、sync/__init__ |
10/1,007 | ✅ 驗收完(11-06):0 候選;人工 7 項全不成立;淨新增 0 |
| 4 | B7 祕密保管、診斷包、維運與稽核、裝置指紋 | CM-3523 | platform/secret_store、support_bundle、ops、local_ops、local_state_cli、audit_* 三檔、host_identity、fingerprint、agent_tree_verify |
11/1,388 | ✅ 驗收完(11-06):中 1——手動升級路徑 root 跑新映像未驗章 bash(#234,與 B8 觀察 1 同條);3 低觀察不開卡 |
| 4 | B8 主機端升級腳本(bash) | CM-3524 | scripts/install/lib/upgrade_order.sh、upgrade_runner.sh、upgrade_guard.sh |
3/1,047 | ✅ 驗收完(11-06):0 候選;🟢 自動升級路徑時序核實驗章在前,A3 結論成立;手動路徑洞=#234;2 低觀察 |
第一期指出的兩個缺口已納入:device_uuid 算法進 B7、主機端升級腳本進 B8。B8 的第一條重點是 upgrade_runner.sh:50 從新映像 cat 出腳本直接 source 進 root shell,要對照是在驗章前還是後,A3 的結論是否成立取決於此。原 B6 1,836 行超安全線拆成 B6a/B6b。
第三期(已開卡,上表):原規劃:connectors 六棒(sonarqube.py 1,711 單檔、inspec.py 1,050 單檔、nmap+zap、openscap+openvas+兩支 sbom)與 netdiag 兩棒(probes 十一檔、app 七檔),全部是 subprocess 組參數跑外部工具。等第二期驗完再開;可先用 Semgrep 的 python subprocess 規則掃一遍,命中點寫進卡的「重點看什麼」。不掃、首腦 grep 補查:config/config.py、platform/container/bootstrap/registry/background、common/code、shared 剩餘、各 ports/、migrations。
決策者 11-06 裁「第三期開一開掃完一起修」。全部是 connector 與網路診斷:Agent 組參數去跑外部掃描工具的地方。Semgrep(p/python+p/command-injection+p/secrets)掃整個範圍只命中 1 條(inspec.py:646),因為程式都是 list argv 或 shlex.quote 過的字串,規則抓不到「quote 錯地方/漏一欄」,要靠研究員讀。
| 批 | 棒 | 卡 | 範圍 | 檔/行 | 狀態 |
|---|---|---|---|---|---|
| 5 | C1 SonarQube connector(單檔 1,711 行) | CM-3525 | guidant_agent/scan/adapters/connectors/sonarqube.py |
單檔 1,711 行)」 | ✅ 驗收完(11-06):F1=#224 不重報;2 條 0:3 否決;3 低觀察不開卡;單檔 1,711 行跑完零 failed |
| 5 | C2 CINC Auditor/InSpec connector(單檔 1,050 行) | CM-3526 | guidant_agent/scan/adapters/connectors/inspec.py |
單檔 1,050 行)」 | ✅ 驗收完(11-06):F1=#223 再確認;F2 中——InSpec SSH 不驗主機指紋(#235) |
| 5 | C3 Nmap connector+SSH 主機金鑰策略 | CM-3527 | guidant_agent/scan/adapters/connectors/nmap.py、guidant_agent/scan/adapters/connectors/ssh_host_keys.py |
2 檔/813 行 | ✅ 驗收完(11-06):1 候選 1:2 否決;人工 7 項全不成立;淨新增 0 |
| 5 | C4 OWASP ZAP connector(單檔 642 行) | CM-3528 | guidant_agent/scan/adapters/connectors/zap.py |
單檔 642 行)」 | ✅ 驗收完(11-06):F1 中——連 ZAP 明文且不驗憑證(#236);F2=#233;F3 低爬蟲範圍封口(#237) |
| 6 | C5 OpenSCAP+OpenVAS connector | CM-3529 | guidant_agent/scan/adapters/connectors/openscap.py、guidant_agent/scan/adapters/connectors/openvas.py |
2 檔/880 行 | ✅ 驗收完(11-06):F1 中——連 OpenVAS 不驗 TLS 憑證(#238);OpenSCAP 零候選 |
| 6 | C6 SBOM 掃描三檔+connector 基底與登記 | CM-3530 | guidant_agent/scan/adapters/connectors/sbom_scan.py、guidant_agent/scan/adapters/connectors/sbom_tools.py、guidant_agent/scan/adapters/connectors/sbom_coverage.py、guidant_agent/scan/adapters/connectors/base.py、guidant_agent/scan/adapters/connectors/__init__.py |
5 檔/907 行 | ✅ 驗收完(11-06):0 候選;人工 6 項全不成立;淨新增 0 |
| 6 | C7 網路診斷探測十一檔 | CM-3531 | guidant_agent/netdiag/adapters/probes |
11 檔/897 行 | ✅ 驗收完(11-06):F1 低——DNS 探測無總時限(#239);「- 開頭當選項」不成立(先過 ip_address) |
| 6 | C8 網路診斷執行、判讀、儀表板、報告與限制 | CM-3532 | guidant_agent/netdiag/app、guidant_agent/netdiag/domain、guidant_agent/netdiag/__init__.py |
10 檔/1291 行 | ✅ 驗收完(11-06):F1 低——代理帳密沒遮(#240);報告 XSS 不成立(html.escape) |
批次邏輯:兩批各四棒並行(決策者裁)。看門狗殺的是研究員自己累積太多 token 時的自動壓縮,與旁邊有沒有別棒並行無關,第 1/3 批四五棒並行含 1,388 行的 B7 都沒事。C1~C5 中文密度 4,400~10,364 字偏高,卡上寫了「journal.jsonl 第二個 failed 就停、不讓工具重試」,C1 若被砍是它自己體積問題,到時再拆。各棒第一條重點:C1 源碼包內放 sonar-project.properties 覆寫 sonar.host.url 外送 token;C2 SSH/WinRM 密碼寫進 cinc 設定檔的落地與清理;C3/C5 在客戶主機上以字串執行 nmap/oscap(可 sudo),shlex.quote 是唯一防線且 quote 後工具自己的參數解析(target 以 - 開頭當選項)仍要看;C4 ZAP 登入密碼是任務參數會不會落 local_runs.params 明文;C6 SBOM 工具跟 symlink 讀到 secrets/;C7 probes 是全 Agent 唯一准直接 subprocess 的地方,驗 target.ip 進 argv 前有沒有 -- 或 IP 驗證;C8 報告把探測 raw 輸出渲染成 HTML 的跳脫。
| 卡 | 號 | 批 | 修什麼 | 總表項 | 狀態 |
|---|---|---|---|---|---|
| 修① | CM-3559 | 7 | 主控台與清冊的輸入白名單(含 #223 高);#224 以「repo_url 進清冊、清冊外 403」結案(決策者 11-06 二度確認,不下架) |
#223 #224 #229 #231 #232 #233 | ✅ 驗收通過(11-07) |
| 修①-主系統 | CM-3579 | 7 | repo_url 進清冊、清冊外 403),決策者裁「只能掃白名單內就夠」,不下架 |
#224 | 作廢 |
| 修③ | CM-3560 | 7 | 登入狀態生命週期 | #220 #221 #228 #222 | ✅ 驗收通過(11-07) |
| 修④ | CM-3561 | 7 | 手動升級路徑補驗章 | #234 | ✅ 驗收通過(11-07);190 真機手測待安排 |
| 修⑤ | CM-3562 | 7 | 資源消耗在上限之前+私鑰權限 | #225 #226 #239 #240 #219 | ✅ 驗收通過(11-07) |
| 修② | CM-3563 | 8 | LDAP 來源只准本機管理員+診斷包 scope | #227 #230 | ✅ 驗收通過(11-07) |
| 修⑥ | CM-3564 | 8 | 三支接頭連線驗對方身分 | #235 #236 #238 #237 | ✅ 驗收通過(11-07 第 2 輪):補刀 f2dee9a 抽 inspec_config.py,1,034→1,008 行 |
| 修④a | CM-3573 | 7 | 主系統下發「主機名→IP」對照(#233 主系統側,工作坊首腦替決策者選 A 案後開) | #233 | ✅ 驗收通過(11-07) | | 修④b | CM-3574 | 8 | Agent 不再自查 DNS,只認下發對照(#233 Agent 側) | #233 | ✅ 驗收通過(11-07) | | 修① FE | CM-3575 | 7 | 主控台規則包只能下拉選、改位址提示重填(FE repo) | #223 #232 | ✅ 驗收通過(11-07) | | 修① jedi | CM-3576 | 7 | jedi-detection 派工擋手填規則包、015 migration 改提示 | #223 | ✅ 驗收通過(11-07),未發版 | | 修⑥ jedi | CM-3584 | 9 | jedi-detection 016 加 ca_cert 欄、ZAP 說明改 https | #236 #238 | ✅ 驗收通過(11-07),未發版 |
第 7 批四張互不撞檔;第 8 批兩張等第 7 批合回(修②、修⑥與修① 共用 ldap_routes.py/secret_form/inspec.py)。兩處要決策者在卡上回答:修① 網址目標只收 IP 或解析後綁 IP、修② LDAP 設定提權方案 A/B。資安開發規範已依本次掃描先強化(Agent 四支、主系統三支+總覽),修正卡的修法與新條款對齊。
| 卡 | 批 | Repo | 做什麼 | 狀態 |
|---|---|---|---|---|
| 結① | CM-3615 | 10 | jedi-packages | jedi-detection 1.9.0 發版推 Nexus(含 015 擋手填、016 ca_cert 欄) |
| 結② | CM-3616 | 11 | 主系統 | BE 升 pin、DEV 套 015/016、鏡像補 014~016、FR-058 變更紀錄 |
| 結③ | CM-3617 | 10 | 主系統 | 客戶手冊三處 |
| 結④ | CM-3618 | 10 | 190 | #234 手動升級驗章真機手測 |
| 修⑥b | CM-3620 | 10 | Agent | 修⑥ 弄壞交付 smoke 第 4 項:_ruby_env() 提到釘指紋前求值 |
等決策者裁:逐棒報告複本 reports/(含未修期間寫的行號)合回 main 前要不要只留 Agent repo 正本。
這一輪第一次用 agent-workshop 跑掃描卡。前六輪的做法是決策者在 runner 視窗親手打啟動指令,因為 claude-security 只接受使用者回合的啟動句;工作坊這次加了「每張卡一支開場 prompt 覆寫檔」,把啟動指令當成小弟 session 的第一句送進去,就等於使用者打的。
.claude/workshop-prompts/dispatch-CM-35xx.md(八支,已入版控),前兩行是啟動指令與成本承認句,--scope 與卡片範圍一致,第三段是跑完後要交什麼。agent,小弟工作目錄是 Agent 的卡工作區 evidence-agent/.worktrees/CM-3507/,報告寫在那裡的 docs/security-scan/FR-177/,合回後才在 Agent 主資料夾。opus、Effort low,工作坊預設補成 opus[1m]。理由在手冊第一節:研究員繼承主 session 模型與 context 上限,Sonnet 跑會被 180 秒看門狗砍掉重派。CLAUDE_CONFIG_DIR=<小弟帳號設定目錄> claude agents --json --all 看 status 是不是 busy;是 idle 就停下來,不要再派。第 1 批驗收結果(2026-11-06,首腦):四棒 stamp 皆 verified、同 commit bab2aa3、研究員全回。無 HIGH。工具通過 3 條低(A6 F1~F3)、人工補 1 條低~中(A1 M1);首腦開檔核對四條全部屬實(cert_files.py:106-115、session.py:111、console/api/__init__.py:61、local_auth_routes.py:117-136)。越界:A3/A5/A6 為查證呼叫端翻過範圔外檔(upgrade_order.sh、update_console.py、安裝腳本),均標明只為核對、無越界發現登記。報告複本在 reports/,正本在 Agent repo;run 歸檔 security-scan-consolidated/runs/agent/。四條登記總表 §3.1 第 219~222 項,修正卡等第 2 批驗完統一開。 第 2 批+第 3 批驗收結果(2026-11-06 01:50~02:30,首腦):九棒 stamp 皆 verified、研究員全回、面板全部完整跑完(第 2 批掃 3813abd、第 3 批掃 749d3b4,與 bab2aa3 只差報告檔,程式碼相同)。一條 HIGH:B5 F1 手動掃描可手填 InSpec 規則包路徑,首腦四段逐行核對攻擊路徑屬實(scan_routes.py:159 → local_runs.py:114 → inspec.py:872-877 → :913),B2 M1 是同一條從路由層看到的。中 7 條、低 6 條,首腦抽核關鍵行全部屬實。併同項:B5 F1+B2 M1、B5 F2+B2 M2、B1 F1+B3 人工-1。A8 淨新增 0。越界:各棒為核呼叫端翻範圍外檔皆標明只為查證。登總表 §3.1 第 223~232 項。
一個橫向觀察:#223/#224/#229/#232 四條都是「主控台路由層把使用者輸入原樣交下去、沒有每工具/每欄位的白名單」這一族,修正卡可考慮併一張「主控台輸入白名單」統一做;#227/#232 都是「位址可改但沒要求重填祕密或提升權限」,與 SR-06.3 同源。
第 4 批驗收結果(2026-11-06 03:00~03:30,首腦):四棒 stamp 皆 verified、研究員全回、面板完整(掃 63334f4)。B6a 2 中(F1 併 #224、F2 DNS 換綁 #233);B6b 0 候選淨新增 0;B7 1 中(手動升級路徑 install.sh:2361-2363 root source 新映像未驗章 bash,#234);B8 0 候選,人工逐行核時序:自動升級(升級單)路徑先用現行映像 verify-tree 驗新版樹才交棒,A3「新版程式驗章前一行都沒執行」成立;手動路徑的洞與 B7 F1 同條。首腦開檔核 install.sh:2363、upgrade_order.sh:57-61/282/393-416、upgrade_runner.sh:47-55、allowed_targets.py:230-238 屬實。
| 嚴重度 | 數 | 總表項 |
|---|---|---|
| 高 | 1 | #223 主控台手動掃描可手填任意 InSpec 規則包,Agent 原樣執行 |
| 中 | 9 | #224 repo_url 不過清冊/#225 8443 空連線凍住資料面/#226 tar 數檔案吃光記憶體/#227 LDAP 來源可改假伺服器冒充/#229 登入 body 無上限/#232 改工具位址沿用舊密碌外送/#233 DNS 換綁繞清冊/#234 手動升級 root 跑未驗章 bash/#219 私鑰建檔瞬間權限太寬(低~中) |
| 低 | 6 | #220 session 無絕對上限/#221 改密碼不撤銷他 session/#222 AD 登入時間差洩名單/#228 縮權不踢 session/#230 診斷包只要 configure/#231 總覽帶出掃描目標 |
乾淨的部分(兩棒以上核實):自動更新鏈三道鎖(A3+B8)、Ed25519 驗章核心與啟動閘(A5)、8443 JWT 守門殼與五支 cmd(A2)、出向通道無關閉 TLS 驢證的路(A1+B6b)、證據檔直傳票券(A8)。
修正卡併卡建議(等決策者裁):
pinned_keys(已含在 1)。console_session 改。install.sh --upgrade 比照自動路徑先 verify-tree。os.open 帶 mode、#230 診斷包加 scope、#231 總覽吃 include_targets,可併進 1 或 3 順手做。第三期(已開卡,見上):connectors 六棒(sonarqube.py 1,711 單檔、inspec.py 1,050 單檔、nmap+zap、openscap+openvas+兩支 sbom)與 netdiag 兩棒,全是 subprocess 組參數;#223 已證明 connector 會原樣吃路由層交下來的參數,第三期的價值在「connector 本體有沒有把其他欄位拼進 argv」。建議先用 Semgrep python subprocess 規則掃一遍,命中點寫進卡。
第二期要補的範圍:A1 指出 device_uuid 算法在 platform/host_identity.py+fingerprint.py、A3 指出主機端升級腳本 scripts/install/lib/upgrade_order.sh,兩者都不在第一期任何棒內。
小弟掃完只是把卡送到「修正待驗證」,不是結束。每棒首腦照手冊第五節七步驗:核 stamp(面板有沒有真的跑完、幾票投出;candidates: 0 的 verified 是「沒東西可投」不是「乾淨」)→ 讀報告 → 越界檢查 → HIGH 逐條自己開檔 → 「重點看什麼」逐條有沒有人工結果 → 回寫母卡、本頁進度表、跨 arc 總表。工作坊的首腦 session 沒有手冊脈絡,只做形式驗(四件交齊);實質驗收由有手冊脈絡的首腦 session 做。
修正卡八棒全部驗完才統一開,同檔同根因併一張,優先序照「落地版打得到的綁出貨前、只影響 SaaS 的可暫緩」。掃到 CRITICAL 當場回報決策者,不等全部掃完。
evidence-agent/docs/ARCHITECTURE.md;FR-170 重整 FR-170-2610-agent-architecture/以下全部由 build 掃資料夾產生,新增檔案重 build 即自動出現。標題連結指向渲染後的 HTML,md 連向源檔。
證據與盤點
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| scan-A1-enroll-identity / md | 盤點證據 | FR-177.A1 掃描報告:Agent 註冊、憑證與身分 | 2026-11-07 |
| scan-A2-data-plane-8443 / md | 盤點證據 | FR-177.A2 資安掃描:資料面 8443 與主系統下達的指令(CM-3509) | 2026-11-07 |
| scan-A3-update-chain / md | 盤點證據 | FR-177.A3:Agent「線上更新鏈」資安掃描報告 | 2026-11-07 |
| scan-A4-profile-archive / md | 盤點證據 | FR-177.A4 資安掃描:檢測規則包下載與解壓(CM-3511) | 2026-11-07 |
| scan-A5-integrity-vulndb / md | 盤點證據 | FR-177.A5 資安掃描:簽章驗證核心、啟動完整性閘、漏洞庫同步 | 2026-11-07 |
| scan-A6-console-local-auth / md | 盤點證據 | FR-177 A6 掃描報告:主控台本機登入、鎖定與 session | 2026-11-07 |
| scan-A7-ldap-cidr-offline / md | 盤點證據 | FR-177.A7 掃描報告:LDAP 登入、離線操作者、來源網段白名單(CM-3514) | 2026-11-07 |
| scan-A8-evidence-files / md | 盤點證據 | FR-177.A8 掃描報告:Agent 證據檔(blob API、瀏覽器直傳 8444、儲存設定、下載加密) | 2026-11-07 |
| scan-B1-console-ops-routes / md | 盤點證據 | FR-177 B1 掃描報告:主控台維運與執行紀錄路由 | 2026-11-07 |
| scan-B2-console-action-routes / md | 盤點證據 | FR-177.B2 資安掃描:主控台「掃描、網診、檔案、工具」路由 | 2026-11-07 |
| scan-B3-console-app-layer / md | 盤點證據 | FR-177 B3 掃描報告:主控台聚合層(總覽、心跳欄位、線上預覽判定、body 上限) | 2026-11-07 |
| scan-B4-scan-exec-credentials / md | 盤點證據 | FR-177 B4 掃描報告:掃描任務執行、工具帳密保管與交付 | 2026-11-07 |
| scan-B5-local-runs-scan-input / md | 盤點證據 | FR-177 B5 掃描報告:執行紀錄、本機掃描輸入槽、探測執行 | 2026-11-07 |
| scan-B6a-allowed-targets-outbox / md | 盤點證據 | FR-177 B6a 掃描報告:目標清冊、結果回報 outbox、事件送出 | 2026-11-07 |
| scan-B6b-cloud-channel-config-pull / md | 盤點證據 | FR-177 B6b 掃描報告:主系統通道、設定拉取、心跳狀態、工具 schema | 2026-11-07 |
| scan-B7-platform-secrets-identity / md | 盤點證據 | FR-177.B7 掃描報告:祕密保管、診斷包、維運與稽核、裝置指紋(CM-3523) | 2026-11-07 |
| scan-B8-host-upgrade-scripts / md | 盤點證據 | FR-177 B8 掃描報告:主機端升級腳本(bash) | 2026-11-07 |
| scan-C1-connector-sonarqube / md | 盤點證據 | FR-177 C1 掃描報告:SonarQube connector(單檔 1,711 行) | 2026-11-07 |
| scan-C2-connector-inspec / md | 盤點證據 | FR-177 C2 掃描報告:CINC Auditor/InSpec connector | 2026-11-07 |
| scan-C3-connector-nmap-sshkeys / md | 盤點證據 | FR-177 C3 掃描報告:Nmap connector+SSH 主機金鑰策略 | 2026-11-07 |
| scan-C4-connector-zap / md | 盤點證據 | FR-177 C4 掃描報告:OWASP ZAP connector | 2026-11-07 |
| scan-C5-connector-openscap-openvas / md | 盤點證據 | FR-177 C5 掃描報告:OpenSCAP+OpenVAS connector | 2026-11-07 |
| scan-C6-connector-sbom-base / md | 盤點證據 | FR-177 C6 掃描報告:SBOM 掃描三檔+connector 基底與登記 | 2026-11-07 |
| scan-C7-netdiag-probes / md | 盤點證據 | FR-177 C7 掃描報告:網路診斷探測十一檔 | 2026-11-07 |
| scan-C8-netdiag-app / md | 盤點證據 | FR-177 C8 掃描報告:網路診斷的執行、判讀、儀表板、報告與限制 | 2026-11-07 |
卡片內容(決策紀錄、驗收條件)以 Notion 為準,本頁只記座標。
| 關係 | 卡號 | 標題 | 狀態 |
|---|---|---|---|
| 母案 | CM-3507 | FR-177 Agent 本體資安掃描第一期(8 棒各一批,只掃不修,Opus 1M effort low) | — |
| 子卡 | CM-3508 | A1 註冊、憑證與 Agent 身分(6 檔/1,336 行) | Not started |
| 子卡 | CM-3509 | A2 資料面 8443 與主系統下達的指令(11 檔/1,038 行) | Not started |
| 子卡 | CM-3510 | A3 線上更新鏈(5 檔/1,235 行) | Not started |
| 子卡 | CM-3511 | A4 檢測規則包下載與解壓(3 檔/1,011 行) | Not started |
| 子卡 | CM-3512 | A5 簽章驗證核心、啟動完整性閘、漏洞庫同步(6 檔/946 行) | Not started |
| 子卡 | CM-3513 | A6 主控台本機登入、鎖定與 session(8 檔/1,119 行) | Not started |
| 子卡 | CM-3514 | A7 LDAP 登入、離線操作者、來源網段白名單(6 檔/940 行) | Not started |
| 子卡 | CM-3515 | A8 證據檔:blob API、瀏覽器直傳 8444、儲存設定、下載加密(19 檔/1,225 行) | Not started |