Meteora Web

GitHub 包防火墙,npm 恶意软件过滤器进入公开预览

GitHub 在 npm 上推出包防火墙公开预览版,可在安装前检查软件包与元数据,拦截恶意软件。本文说明它如何工作、有哪些控制项,以及目前存在哪些局限,帮你判断是否值得关注。对于使用 AI 智能体和持续集成的团队来说,这是一个值得关注的安全信号。文中所有数据均来自官方公告和新...

Ing. Calogero Bono 1 分钟阅读
GitHub 包防火墙,npm 恶意软件过滤器进入公开预览

GitHub 于 2026 年 10 月 20 日推出了包防火墙,它位于安装软件包的电脑与它们下载所用的公共仓库之间,充当过滤器。目前该功能以公开预览形式向所有 GitHub Enterprise Cloud 客户开放,仅支持 npm。其目标是拦截在安装时发作的恶意软件,这类风险对于无人监管地安装依赖的 AI 智能体和构建系统尤其严重。如果你从事软件开发或管理开发人员,这是一个信号,显示软件供应链安全正朝哪个方向发展。

先了解几个术语,再进入正题。仓库(registry)是下载软件包的在线存储点,比如 JavaScript 领域的 npm。依赖是你的项目所使用的他人代码片段。CI/CD 是自动编译和发布软件的流程。SLSA 证明是一份可验证的声明,说明某个软件包是如何以及由谁构建的。元数据是关于软件包的信息,例如可用版本的列表。

Zenithby Meteora Web 你企业的操作系统。 社交媒体、客户、预订和发票都在同一个平台。适合健身房、理发店和专业人士。 了解 Zenith → 免费演示 · 无需信用卡

什么是 GitHub 包防火墙?

据GitHub 官方更新日志,近期出现了大量利用软件包安装时机的恶意软件攻击。AI 智能体和 CI 运行器尤其容易成为目标,因为它们在没有人参与的情况下安装依赖,以完成任务或构建。

防火墙位于端点或内部仓库与上游软件包仓库之间。据The Hacker News报道,GitHub 对它的描述是,“防火墙会检查元数据请求和软件包下载中是否存在恶意活动的迹象,作为安装时的策略关卡”,也就是在安装阶段执行规则的一道关卡。

这个问题并非纯理论。The Register曾报道一场攻击活动,攻击者把 GitHub 的 issue 变成了供应链攻击,在不到一小时内针对 61 个公开仓库。我们手头的页面没有更多细节,因此无法判断这两则新闻是否有关联。

工作原理与控制项有哪些?

流程分两步。首先,管理员为其企业设置规则。然后,编码智能体和 CI/CD 主机不再直接连接公共仓库,而是连接防火墙。元数据请求和下载都会经过防火墙,防火墙根据策略进行评估。

可用的控制项

根据 The Hacker News 的列表,有以下控制项。

  • 拦截已知恶意软件,依据是 GitHub Advisory Database 中的活跃公告。
  • 按漏洞严重程度拦截,同样依据该数据库。默认只拦截“仅严重”(Critical only)级别,也可以选择“高或更高”(High or higher)、“中或更高”(Medium or higher)或“任何严重程度”(Any severity)。
  • 拦截证明降级。防火墙会比较所请求版本与之前版本的证明,如果缺少 SLSA 证明,就停止下载。
  • 拦截新的安装脚本,即通过 preinstall 或 postinstall 钩子运行、可能被用来窃取敏感数据的脚本。
  • 等待期(cooldown),阻止安装比配置的最低时长更新的版本。

等待期可设为 1 到 365 天。默认值为 1 天,设为 0 即可关闭。

如果误拦了正常的包怎么办?

如果软件包被错误拦截,用户可以申请例外。GitHub 的流程与 GitHub Advanced Security 的其他功能相似。据 The Hacker News 报道,申请可由企业的管理员和安全负责人批准。

费用多少,谁可以使用?

该服务以公开预览形式向所有 GitHub Enterprise Cloud 客户开放,包括数据驻留版本。预览期间免费。正式发布后,GitHub 表示将按实际测量的用量收费,方式与 Actions 的计费相似。

GitHub 解释说,预览期的目的是扩展基础设施,并根据客户需求增加功能。配置说明请参阅文档《使用 package firewall 保护端点》。

为什么大家都在谈等待期?

等待期是最简单、也许也是最普遍的规则。The Hacker News 提到,过去一年里,npm、Python、Visual Studio Code、Ruby、Bun、pnpm 和 Yarn 都引入了类似的等待期。其原理是降低刚发布、未经审查的版本直接进入构建的可能性。

它尤其能防范这样的情况,攻击者接管维护者账户,然后发布热门软件包的被投毒版本。等待期能减缓恶意版本的快速扩散,无论是人工还是自动的扩散。

同一篇文章指出,计划于 2026 年 11 月 12 日发布的 Rust 1.100 应会为 crate 增加可配置的最低发布时长。该选项名为“global-min-publish-age”,位于 cargo/config.toml 文件中。若未指定,则默认等待七天。

另一面则由 The Hacker News 引用的 Socket 提出。该公司表示,“代价是合法的修复也必须等待,除非开发者申请例外。”并补充说,一个漏过检测的版本完全可能熬过等待期。按 Socket 的看法,等待期的价值在于为研究人员、维护者和仓库争取处理时间。

需要了解的局限

  • 目前防火墙只支持 npm。使用 PHP、Python 或其他生态的人暂不在覆盖范围内,来源也没有给出其他仓库的时间表。
  • 仅面向 GitHub Enterprise Cloud 客户。来源没有提到更小的套餐。
  • 目前仍处于预览阶段。功能、基础设施和价格都可能变化,按用量计费的成本也尚未量化。
  • 我们没有独立的效果数据。来源只转述了 GitHub 的声明,并未提供针对真实恶意软件的测试,也没有给出误报的具体数字。
  • 正如 Socket 所提醒的,等待期并不能让恶意代码失去危害。未被检测到的版本可能在等待期之后仍然潜伏。

对从事数字工作的人意味着什么

实际的要点是,安全的重心正从事后检查转向安装前检查。对于让 AI 智能体自行编写和安装代码的开发者来说,这意味着用一个中心化规则取代对单个智能体的信任。如果你使用 AI 驱动的开发工具,不妨重新阅读我们关于中小企业的 vibe coding一文中描述的风险。

对于意大利企业来说,这个话题还涉及合规。软件供应链是我们在NIS2 供应商登记指南中讨论的内容之一。能够证明软件包经过一道有明确规则的过滤器,是一个具体的论据,不过没有任何来源将这款防火墙与 NIS2 联系起来。

大量使用开源的人应当记住,每一个依赖都是一个供应商。我们在企业中的开源专题中对此有详细讨论。即使不是 Enterprise 客户,也可以用现成工具复制这一思路,例如一些包管理器提供的等待期功能。

对于构建服务器和生产服务器,更新和隔离同样重要。如果你希望由他人维护基础设施,可以了解我们的托管与代管服务器。如果你正在评估定制项目,可以参阅定制软件开发的相关内容。

我们的看法

这个思路是对的。在软件运行于电脑之前拦截它,比事后发现更有效,而且在一个统一的节点完成拦截,可以避免依赖每位开发者或每个智能体的自律。GitHub 从无人监管的智能体入手,我们认为这是对问题的一种诚实解读。

我们有两点保留。第一是商业层面。如此有用的保护目前只面向 Enterprise 客户,预览结束后又按用量收费,可能让最容易受到攻击的小团队被落下。第二是技术层面。很多控制项依赖 GitHub 的数据库和时间,而时间并不是保证,Socket 本身也承认这一点。

因此,我们不认为它是终极盾牌。它是多一层保护,若配合依赖审查、版本锁定和智能体的最小权限,才真正有用。如果你以为打开防火墙就万事大吉,那只是一种虚假的安全感。

常见问题

GitHub 包防火墙是免费的吗?

是的,但仅限预览期间。GitHub 表示,在正式发布后将按实际测量的用量计费,方式与 Actions 相似。目前尚未公布价格。

它只支持 npm 吗?

是的,目前只支持 npm 软件包。来源没有公布其他生态的时间表。如果你使用其他语言,目前需要寻找其他防护手段。

谁可以使用它?

所有 GitHub Enterprise Cloud 客户,包括数据驻留版本。来源没有提到其他套餐。管理员为整个企业配置规则。

如果它拦截了正常的软件包怎么办?

用户可以申请例外。据 The Hacker News 报道,申请可由管理员和安全负责人批准。GitHub 表示,该流程与 Advanced Security 的其他功能相似。

等待期足以阻止恶意软件吗?

不足以。它能为刚发布的版本争取时间,但 Socket 提醒说,恶意代码不会因为时间久了就失去危害。未被检测到的版本可能会熬过等待期。

正式上线前该关注什么

未来几个月值得关注三件事,GitHub 将设定的按用量价格、功能是否扩展到 npm 之外,以及 Rust 1.100 中最低等待期的落地情况,该版本计划于 2026 年 11 月 12 日发布。眼下你可以这样准备。

  • 列出 CI 和智能体所使用的依赖,并明确哪些内容可以在无人监管的情况下安装。
  • 考虑为新版本设置等待期,同时要知道它也会延迟合法的修复。
  • 制定例外申请流程,让负责人快速批准,但留下书面记录。

来源

Zenithby Meteora Web 你企业的操作系统。 社交媒体、客户、预订和发票都在同一个平台。适合健身房、理发店和专业人士。 了解 Zenith → 免费演示 · 无需信用卡

相关阅读

博客精选

最新文章