從
FR-166-LOG.md七棒濃縮。決策者 2026-10-28 在 123 手測五項全過、29 張追加卡按 Done、裁示收尾並重產出貨基線。 規格看docs/spec-site/current/evidence/agent-console.md、remote-agent-manage.md、system-admin/ldap-config.md;操作看docs/user-manual/agent/13-standalone-operation.md;設計取捨看docs/analysis/2026-10-26-fr166-*.md與2026-10-28-fr166-*.md。
Agent 跟主系統斷線時,現場的人可以直接打 Agent 網址登入主控台,照主系統事先授權的範圍手動跑八支檢測工具、做網路除錯、重啟 Agent;結果先收在 Agent,連回主系統自動補傳。Agent 不會因此變成跳板:能掃哪些主機永遠照主系統下發的清冊,Agent 端不能新增使用者、沒有命令列。
三天內從立案到收尾:2026-10-26 討論稿五版、十二幕雛形兩輪、design 定案、41 張卡一次開完;10-27 工作坊整晚自動跑 59 張;10-28 決策者手測追加 29 張(延伸 10 張工作坊派、追加 19 張多數由首腦直接做)。
| 決策 | 結論 |
|---|---|
| 登入三層(D1) | 安裝時強制設的本機管理員 local-admin(永不過期)/主系統授權的離線操作者(本人在線時設離線密碼、有到期日)/主系統入場券跳轉。救援碼保留。Agent 端沒有「新增使用者」 |
| 誰能登入 vs 能掃誰 | 兩道門。掃描範圍一律照主系統下發的清冊,不看身分;從未同步的 Agent 只准 local-admin 登、只准查主系統連線 |
| 離線權限來源(D23,手測改判) | 跟主系統同一份:名單只管能不能離線登入與到期日,範圍每次心跳依當下能力點算;restart 不下放;沒有任何 Agent 能力點的人不可加入 |
| 八支工具(D3) | 全部可在 Agent 手動執行;ZAP 網址解析成 IP 過清冊;Nmap 的執行主機也過清冊 |
| 網路除錯(D5/D10/D20) | 儀表板九卡+十項診斷;噪音以「這次總連線數」計,超 10 或含 traceroute/mtr 要確認;埠一次上限 5;不包 tcpdump/iperf/埠範圍/ARP |
| 續傳(D7/D15) | Agent outbox 永不丟主系統派工結果;心跳後 drain;主系統 receive_result 任何終態冪等;派工 Agent 離線 7 天 reaper |
| 本機狀態(D11/D16) | 不起 Postgres,收進 SQLite,最小 schema_version 表 |
| LDAP(D17/D18/D19) | Agent 三選一(同步/自設/不接);憑證首次信任釘住、預設 STARTTLS(推翻 CM-2239,主系統設定頁一併改);抽零相依套件 jedi-ldap |
| 儲存位置(D22,手測改判) | 主控台只能選內建 SeaweedFS,其餘走 CLI |
| 離線天數(手測追加) | 租戶設定,預設 7、1~30,心跳下發;AD 登入不受此限 |
| 報告預覽(手測追加) | JSON/文字/PDF/HTML 都可線上看;HTML 走 Agent 預覽端點帶 CSP sandbox,前端只在回應帶 sandbox 才畫、iframe 自帶 sandbox,不轉 blob |
| 主控台用字 | 畫面一律不印 CLI 指令(看到的人多半沒主機權限),改「請聯絡負責這台 Agent 主機的系統管理員」;來源一律「Agent 手動」 |
四個 repo 都在 feature/FR-139、已推 origin。
| repo | 2026-10-26 起 FR-166 commits | 主要落點 |
|---|---|---|
| BE | 79 | plugins/remote_agent/ 接線、離線操作者授權、local-runs 端點、7 天 reaper、排程去重、LDAP 釘住寫回、agent-local-runs 頁併入第三方元件手動掃描;主線 migration 5 支(能力點、路由、選單搬移、檢測工具頁隱藏) |
| FE | 79 | console/ 主控台殼、登入頁、六個分頁、history 路由、報告預覽、閒置登出 composable;主站 Agent 管理頁改版、離線操作者對話框、LDAP 設定頁、角色矩陣補翻譯 |
| Agent | 83 | core/console/(inline_policy、netdiag、local_runs、outbox、ldap)、安裝與升級腳本強制設密碼、CIDR 白名單、NET_RAW 守衛、HTML 預覽 |
| jedi 套件 | 2 批發版 | jedi-ldap 新套件;jedi-iam 1.8.0→1.9.0(provider_login);jedi-remote-agent 1.7.0→1.8.0(兩張新表、心跳契約、D23);jedi-source-scan 0.4.0→0.5.0(Agent 手動掃描清單);jedi-system-core 1.3.0;jedi-detection 1.6 |
出貨基線:188 基線庫補套 12 支主線 migration(含 FR-157/161/162/165 累積的 9 支),02/04/99 重產,BE 4c927ece4。
DEV schema_migrations 補登記套件 011/012(物件早已存在,登記列漏補)。
/console/runs;閒置 15 分提醒 30 分登出。未做
dist-console.bak-* 備份累積 13 份未清。待決策者
evidence-reuse-* 三頁沒登記 ui_routes、scan-tool-resources 沒進入門檻)要不要開卡。crypto.randomUUID 只在安全環境存在,被 .catch 吞掉;UUID 一律用 uuid 套件。pip show 三支都要 Editable;重裝一支會把別支換回 wheel。--http1.1;8443 是 mTLS,主控台在 8444。for f in $VAR 不按行拆,多檔名會被當一個路徑;逐支套 migration 用 while read。