ImageMagick 的 Windows 安装程序将不再签名

ImageMagick 的维护者表示,在新的规则实际上要求使用硬件支持或云 HSM 证书、且每年成本约 600 美元后,他们将停止对 Windows 安装程序进行签名,并转而寻求赞助。评论者则争论 Windows 上的代码签名是否已经变成一种让志愿开源项目吃亏的“保护性收费机制”,还是对真实恶意软件和密钥盗用事件作出的必要回应。讨论进一步扩展到开源应如何融资、主要平台和公司是否应支持像 ImageMagick 这样的关键工具,以及应用商店、Web 应用或基于 Linux 的工作流等替代方案是否更可持续。

开源经济学 vs. 629 美元的证书

  • 许多人注意到其中的讽刺:ImageMagick 代表着巨大的无偿劳动,却连每年几百美元的开销都难以承担。
  • 有人解释说:贡献代码是“有趣的”,也能建立声誉;而掏钱既不有趣,也很难在公司内部证明其合理性。
  • 有些人认为 OSS 没有内在的商业模式;另一些人则说它 必须 开始像企业一样运作,才能覆盖真实成本。
  • 还有几位评论者从原则上反对:他们付得起证书费用,但拒绝为发布自己本来就是免费提供的软件而付费。

代码签名要求与安全理由

  • 新的 CA/B Forum 规则要求使用硬件支持的密钥(HSM 或令牌),这破坏了许多基于 CI 的签名流程。
  • 支持者表示,被盗密钥已在真实攻击中被滥用;HSM 和更严格的身份检查可提高吊销能力与责任追踪。
  • 批评者认为这是一种安全表演主义、保护性收费机制,并推动一种“企业版信任网络”,在其中发布软件需要成为一个与 Microsoft/CA 生态绑定的法律实体。

对 Windows 用户和开发者的影响

  • 未签名的二进制文件会触发 SmartScreen、Defender 和浏览器警告,令非技术用户困惑并损害信任。
  • 有人认为 ImageMagick 的典型使用方式(被其他应用捆绑、用于服务器端,或在 *nix 上使用)使得 Windows 安装程序未签名只是小问题。
  • 另一些人强调,在 Windows 上,未签名二进制文件实际上是二等公民;要顺利分发,签名几乎是必需的。

替代方案与变通办法

  • 建议包括:
    • 使用其他操作系统(Linux、macOS),或通过 WSL 或容器运行 ImageMagick。
    • 发布便携式 ZIP,或将 ImageMagick 作为内置依赖集成。
    • 通过 Microsoft Store 分发(更便宜,且由 MS 代为签名)。
    • 使用更便宜的 CA 或面向 OSS 的特殊优惠(例如更低成本的代码签名,或像 SignPath 这样由基金会支持的签名)。
    • 使用云 HSM(Azure Key Vault、DigiCert、SSL.com)恢复 CI 签名能力。

关于“代码版 Let’s Encrypt”的呼声

  • 许多人希望有一个免费或非常便宜、自动化的代码签名 CA。
  • 反对意见是:TLS 只证明域名控制权;代码签名的目的是将二进制文件与某个法律实体绑定,以满足责任和政策需求。
  • Sigstore 以及 GitHub/npm provenance 等项目被提及为部分解决方案,但操作系统厂商目前仍未将它们作为根信任。

更广泛的担忧

  • 讨论进一步扩展为:
    • 对 Windows 安全 UX 以及其生态“恶化”的不满。
    • 关于沙盒、应用商店,以及通用计算能力被侵蚀的争论。
    • 对像 ImageMagick 这样关键 OSS 长期资金不足与治理脆弱性的担忧。