本页译自英文文档。命令、标识符和示例保持原样。运行时 7.24.4 · SDK 2.6.7。 英文原文
Windows 运行时完整性与杀毒报告
状态:当前源码;发布资格确认待定 范围:Windows CLI 安装、更新核验与操作者诊断 最近审阅:2026-09-17 负责人:AX Code 运行时维护者
AX Code 对发布者身份、分发完整性、已安装文件核验和杀毒资格确认使用各自独立的控制。它们都不能保证行为型杀毒引擎会接受每一次操作。
发布与更新核验
Windows CLI 发行构建使用项目的 Azure Key Vault 证书,为先前未签名的 PE 文件签名,要求有效的签名和时间戳,并审计第一方原生模块上预期的 DEFAI 证书。捆绑的 Node 可执行文件必须保留有效的 OpenJS/Node.js Foundation 签名。已有的无效签名会使构建失败;重新签名不会修复它们。
发布者在原生签名之后创建 runtime-integrity.json,覆盖最终的 JavaScript 和原生载荷字节。其分离的 Minisign 签名在最终归档签名之前放入 ZIP。较旧的 runtime-manifest.json 仍是非原生桌面暂存契约;它不是已安装运行时的信任锚。
Windows 安装器在解压之前核验归档,然后认证完整性清单,并在执行候选之前核验载荷。它会再次检查暂存副本,并把元数据保留在已安装的运行时中。没有这些元数据的较旧已签名发布仍可安装,并带有显式的旧式诊断。无效的清单或签名绝不会被当作旧式发布。现有的显式签名核验退出选项也会禁用清单认证并给出警告;哈希比较仍然运行,但在该模式下不建立发布者信任。现有的安装锁、带版本的代次和回滚仍然有效。
自更新在执行之前,使用固定的发布公钥核验带版本的安装器脚本的 Minisign 签名,Windows 和 Unix 都是如此。SHA-256 附属文件仍然是额外的损坏检查。缺少签名时失败关闭;它们不会回退到未签名执行。
这些检查保护的是安装和更新准入。它们不会在每次加载 Node 模块时强制签名校验,也不能阻止拥有写权限的本地攻击者替换启动器或核验器。单独签名的原生启动器会是额外控制,而不是核验已下载更新的前提。
杀毒资格确认
Windows Installer Qualification 工作流测试 x64 和 ARM64 的安装与回滚。其手动 defender_scan 输入还要求启用 Defender 保护,在不触发扫描修复的情况下扫描已安装运行时,并记录引擎/数据库版本、文件哈希和扫描器输出。扫描器不可用会使这项被请求的检查失败。这是 Defender 扫描快照,不是 Kaspersky 兼容性的证据。
对于 Kaspersky 行为资格确认,请使用隔离的 Windows 虚拟机,保护为当前版本且没有排除项。记录确切的 AX Code 产物/版本和哈希、Windows 构建、Kaspersky 产品/引擎/数据库版本以及设置。演练全新安装、TUI 启动、Enter 和 Shift+Enter、一次正常的 shell/PTY 操作、另一个会话仍打开时的更新、回滚和卸载。捕获检测事件和进程谱系。变更之后重测同一场景;在没有复现步骤的情况下改变打包,并不能确立修复。
Kaspersky 的 误报指引 要求为 Windows PDM 检测提供 GSI 报告。开发者可以评估 Kaspersky Allowlist Program 以进行主动软件审阅。提交应限于相关的公开发布文件和已审阅的诊断证据。提交请求不是干净判定,干净的静态扫描也不是行为接受。
不要把关闭保护、添加宽泛的安装目录排除项,或自动恢复隔离文件,当作产品变通办法。