所屬子需求:FR-064.7 E2E 驗收(CM-1214)

實作內容(design.md §6 展開)

以出貨 image 實機執行五條:

  1. 改檔拒啟:正常起容器→停→改①層 .so(或②層資料檔)一個 byte→重啟→被拒+log 列不符檔案與 reason+顯示 fingerprint/event_id+FS 標記檔出現
  2. 運行中改檔:運行中改固定核心一檔→(縮短抽查間隔或觸發業務埋點)→D10 兩次皆不符→雙落點→立即 exit;有網情境 LC 端出現事件
  3. 重啟被拒:承 2 直接重啟→不進驗證即拒啟;容器重建但 volume 保留→仍拒啟(FS 落點生效)
  4. unlock 恢復:LC 簽 token→核銷→紀錄清除+nonce 記錄+重啟恢復;負面案:重放/他機/過期 token 各自被拒
  5. 正常無誤報:未竄改 image 連續 ≥24h(跨多輪抽查)+完整功能冒煙(含 volume 大量寫入:上傳檔案、log 滾動)→零 tamper/零誤鎖;啟動時間增量秒級

License 既有流程迴歸:簽發/匯入/驗證全鏈(含已出貨舊 license 檔)不受 D2 抽層影響。

易踩雷

驗收(§5)

依賴

FR-064.1–064.6 全部

2026-08-16 E2E 收口第一輪:A/B/E 完成,C-2 撞到 P0 bug(待首腦裁決)

執行環境:188 真 image guidant-ai-be:1.14.0(HEAD 4e64ca07,含殼協商修正),全程用拋棄式可寫容器 + /tmp/pki-test 隔離落點,正式 compose 容器與 /srv/guidant/pki 未受影響。

🔴 BUG-1(P0,出貨阻斷):hook 觸發 tamper 後服務沒死透,繼續正常服務

現象:真 image × gunicorn 4 workers × 業務埋點(license_import)觸發 tamper 後,FATAL 訊息印了、FS 標記寫了、DB 事件寫了、fingerprint / event_id 都正確,但 gunicorn master 存活並立刻 respawn 新 worker,服務照常回 200。同一竄改重現 3 次(3 個 event、3 次 FATAL),服務每次都活下來;容器全程 Up (healthy)、RestartCount=0。