本頁譯自英文文件。指令、識別名稱與範例保持原樣。執行環境 7.24.4 · SDK 2.6.7。 英文原文
Windows 執行環境完整性與防毒報告
狀態:現行原始碼;發行資格確認待完成 範圍:Windows CLI 安裝、更新驗證與操作者診斷 上次審閱:2026-09-17 負責人:AX Code runtime 維護者
AX Code 對發行者身分、散佈完整性、已安裝檔案驗證與防毒資格確認使用分開的控制。沒有任何一項能保證行為式防毒引擎會接受每一次操作。
發行與更新驗證
Windows CLI 發行組建使用專案的 Azure Key Vault 憑證,為先前未簽章的 PE 檔簽章,要求有效簽章與時間戳,並稽核第一方原生模組上預期的 DEFAI 憑證。隨附的 Node 執行檔必須保留有效的 OpenJS/Node.js Foundation 簽章。既有簽章無效會使組建失敗;重新簽章不會修復它們。
發行發布者在原生簽章之後建立 runtime-integrity.json,涵蓋最終的 JavaScript 與原生承載位元組。其分離的 Minisign 簽章會在最終封存被簽章之前納入 ZIP。較舊的 runtime-manifest.json 仍是非原生的 Desktop 暫存契約;它不是已安裝執行環境的信任錨點。
Windows 安裝程式在解壓縮之前驗證封存,然後驗證完整性資訊清單,並在執行候選之前驗證承載。它會再次檢查暫存複本,並把中繼資料留在已安裝的執行環境中。沒有這份中繼資料的較舊已簽章發行版本,仍可在明確的舊有診斷下安裝。無效的資訊清單或簽章絕不會被當成舊有發行版本。既有的明確簽章驗證停用也會停用資訊清單驗證,並提出警告;雜湊比較仍會執行,但在該模式下不建立發行者信任。既有的安裝鎖定、版本化世代與回滾仍然有效。
自我更新在執行之前,會用釘選的發行公開金鑰驗證版本化安裝程式指令碼的 Minisign 簽章,Windows 與 Unix 都是如此。SHA-256 側車仍是額外的損壞檢查。缺少簽章會以失敗關閉;它們不會退回未簽章的執行。
這些檢查保護安裝與更新准入。它們不會在每一次 Node 模組載入時強制簽章驗證,也不能阻止擁有寫入權限的本機攻擊者替換啟動器或驗證器。另外簽章的原生啟動器會是額外控制,不是驗證已下載更新的前提。
防毒資格確認
Windows Installer Qualification 工作流程測試 x64 與 ARM64 的安裝與回滾。其手動 defender_scan 輸入另外要求已啟用的 Defender 保護,掃描已安裝的執行環境且不觸發掃描補救,並記錄引擎/資料庫版本、檔案雜湊與掃描器輸出。掃描器不可用會使這項被要求的檢查失敗。這是 Defender 掃描快照,不是 Kaspersky 相容的證據。
若要做 Kaspersky 行為資格確認,請使用有目前保護、且沒有排除項目的隔離 Windows VM。記錄確切的 AX Code 產物/版本與雜湊、Windows 組建、Kaspersky 產品/引擎/資料庫版本,以及設定。演練全新安裝、TUI 啟動、Enter 與 Shift+Enter、一次正常的 shell/PTY 操作、另一個工作階段仍開著時的更新、回滾與解除安裝。擷取偵測事件與處理程序譜系。變更之後重測同一情境;沒有重現步驟就改變封裝,不能建立修正。
Kaspersky 的誤報指引要求為 Windows PDM 偵測提供 GSI 報告。開發者可以評估Kaspersky Allowlist Program,以進行事前的軟體審閱。提交內容應限於相關的公開發行檔案與已審閱的診斷證據。提出請求不是清白裁定,乾淨的靜態掃描也不是行為接受。
不要停用保護、不要加入寬鬆的安裝目錄排除,也不要自動還原隔離檔,來當作產品的權宜做法。