Guidant AI v1.24.1 Release Note¶
| 項目 | 內容 |
|---|---|
| 版本 | 1.24.1(BUG 版號;主軸=FR-126 資安修正收尾——前門 CSP 改正式擋、出貨公鑰只認正式簽發站、容器加固) |
| 發布日期 | 2026-10-04 |
| 上一版本 | 1.24.0(2026-10-04) |
| 涵蓋區間 | BE v1.24.0..本版進版 commit;FE v1.24.0..本版進版 commit |
| 涵蓋需求 | FR-126 資安測案擴充與修正(母卡 CM-2384):CM-2460/2461/2464/2465/2466 |
| 規模 | jedi-license-runtime 1.1.4→1.1.5;主線與套件 migration 皆無新增;服務組成不變 |
| 適用部署 | 先升 190 e2e 專機跑部署檢查;STG/POC 待決策者放行 |
| 部署性質 | 第一個由正式簽發站(189)簽章出包的版本,封包守門驗 PROD 鑰自然通過;配套檔案 Agent 1.3.0 |
為什麼是 BUG 版號:全是資安修正收尾,無新功能、無 DB 變更;行為變化(CSP 擋行內樣式、只認一把簽發鑰)都是把既有要求做到位。
0. 發版前回歸 gate¶
本版不在發版前跑 site-regression。把關改在部署 190 之後跑部署檢查(deploy-checks.sh),API 層沿用 CM-2463 的全套結果(本版無 API 行為變更),決策者已知。
1. 概述¶
- 前門 CSP 改正式擋:1.24.0 以 Report-Only 觀察後,違規來源只剩 PrimeVue 提示框與編輯器貼上;兩處修掉後切為正式
Content-Security-Policy,策略不含unsafe-inline與*。 - 授權與完整性簽章只認正式簽發站:出貨程式內建的公鑰表只剩 189 簽發站一把(標 PROD);授權檔與防竄改 manifest 都由它簽。
- 容器加固:api/socketio/worker/sandbox 四個產品容器
cap_drop: ALL、no-new-privileges,並加記憶體與行程數上限。 - 開通精靈:找回設定碼的指令字樣改為實際 CLI 名
sudo guidantai setup-token。
2. 修正清單¶
| 卡號 | 修了什麼 |
|---|---|
| CM-2464 | 落地版前門四處 CSP 由 Report-Only 改正式擋;PrimeVue 提示框的行內樣式改走 CSSOM;公告等 HTML 內容的 style 屬性在解析前改名,「對齊」轉為 class、其餘樣式捨棄;編輯器貼上同樣處理 |
| CM-2465 | jedi-license-runtime 1.1.5:公鑰表只留 189 正式簽發鑰(kid f3b562a6d9755527);build 機送簽站改 189 |
| CM-2466 | 四個產品容器加固:cap_drop: ALL+no-new-privileges;三個 BE 容器只保留 entrypoint 降權所需四項 capability;新增記憶體/行程上限 |
| CM-2460 | CI 出包:smoke 遇 STG 落後本版 migration 時自動改連「STG 複本+本版 migration」臨時庫;build-init 改等 build-be 攤平完成 |
| — | 開通精靈「找回設定碼」指令字樣 guidant → guidantai |
3. 升級須知(必讀)¶
- 前門 CSP 改正式擋。 既有公告等 HTML 內容若含行內樣式,顯示時只保留「對齊」(轉成 class),字色、字級等其他行內樣式會被拿掉。內容本身不改,只影響顯示。
- 授權檔必須由正式簽發站(189)簽發。 本版程式只認一把簽發鑰;STG 等由舊簽發鑰簽授權的環境,升級前須先從 189 重簽授權並匯入,否則升級後授權顯示「未知的 kid」、進入無照狀態。查目前授權的 kid:授權頁,或資料庫
config.tenant_licenses.kid。 - 四個產品容器新增資源上限設定(選填)。 不寫即用預設值,要調照
.env.example抄:
| 變數 | 預設 |
|---|---|
GUIDANT_API_MEM_LIMIT/GUIDANT_API_PIDS_LIMIT |
6g/512 |
GUIDANT_SOCKETIO_MEM_LIMIT/GUIDANT_SOCKETIO_PIDS_LIMIT |
3g/256 |
GUIDANT_WORKER_MEM_LIMIT/GUIDANT_WORKER_PIDS_LIMIT |
3g/256(每一份 worker 各自) |
撞頂的症狀是行程被核心 OOM 殺掉、容器重啟、請求 502,log 只見「Killed」。api 記憶體跟 GUNICORN_WORKERS 成正比,調 worker 數要連這裡一起調。
4. 開通精靈找回設定碼:sudo guidantai setup-token。
4. Breaking Changes¶
- 舊簽發鑰(DEV/188 STG)簽的授權檔與完整性 manifest 不再被接受(見升級須知 2)。
5. DB Migration¶
無(主線與套件皆無新增),99-stamp.sql 只隨版號重生 marker。
6. 相依套件版本¶
| 套件 | v1.24.0 | 本版 |
|---|---|---|
| jedi-license-runtime | 1.1.4 | 1.1.5 |
其餘不變。配套檔案 Agent 1.3.0:以非 root(uid 1000)執行並加固,公鑰表同樣只認 189;升級會自動把資料 volume 擁有者改為 1000,主機板 UUID 改由安裝程式複製進安裝目錄的 host-id/(指紋不變)。
7. 部署順序¶
- 授權:目標環境的授權若非 189 簽,先從 189 重簽並匯入(升級前做,舊版程式同時認得新舊鑰)。
- 188 build 機:
/opt/guidant-ai-be跟 main;.env的LICENSE_ACTIVATION_SERVER_URL指 189;出包不帶--skip-prod-key-check。 - 開包驗:版本烙印 1.24.1;完整性 manifest kid=
f3b562a6d9755527;FE nginx 為正式Content-Security-Policy。 - 190 e2e:
scripts/build/deploy_e2e.sh 1.24.1;檔案 Agent 以sudo guidant-agent-compose upgrade guidant-agent-compose-1.3.0.tar.gz升級。 - 跑部署檢查;STG(188)/POC(189)等決策者放行,升級有人用的機器先停 api 再
--upgrade。
8. 同期其他改動¶
- 資安報告站:需求文件把客戶責任移出量測範圍、修正前後對照頁更新(CM-2462/2463/2467)。
- 守衛測試:
jwt_only白名單對齊、容器加固形狀守衛。
9. 已知限制與 follow-up(不擋本版)¶
- 81 條 SR 中 04.12(問卷共編)待裁改測,仍屬人工驗證。
10. 相關文件¶
- Notion:CM-2384(母卡)、CM-2460/2464/2465/2466、發版 CM-2468
docs/features/FR-126-2610-security-taxonomy-expansion/- 資安報告站
docs/security-report/