GitHub强化NPM供应链安全以应对日益猖獗的软件包攻击
GitHub本周承诺将加强NPM供应链安全,此前一系列攻击事件导致了广泛的安全漏洞。
9月22日,GitHub安全研究高级总监Xavier René-Corail发布博客文章,针对基于软件包注册表的攻击激增现象(特别是NPM软件包)作出回应。该文章发布前一个月内连续发生两起重大供应链攻击事件:自我复制的Shai-Hulud恶意软件活动和对高产开发者Qix的社会工程攻击。
在Shai-Hulud案例中,这款信息窃取恶意软件嵌入被污染的软件包,可窃取包括NPM令牌在内的机密信息。GitHub表示若安全行业未迅速采取行动,该蠕虫可能引发无休止的攻击浪潮。该公司立即移除了500多个受感染软件包,并屏蔽了包含该恶意软件入侵指标的新软件包。
除上述措施外,GitHub宣布将采取行动强化NPM供应链并提升软件包发布安全性。
GitHub着力保障NPM供应链安全
GitHub重点提出三项核心改进:
- 未来仅允许开源社区在本地发布软件包时使用必需的双因素认证
- 采用有效期仅7天的精细化令牌
- 推广可信发布者认证方式
博客文章指出:“可信发布是OpenSSF软件仓库安全工作组推荐的安全能力,它消除了在构建系统中安全管理API令牌的需求。该技术由PyPI于2023年4月首创,旨在将API令牌移出构建流水线。截至目前,RubyGems(2023年12月)、crates.io(2025年7月)、npm(2025年7月)以及最近的NuGet(2025年9月)等软件包仓库均已采纳该技术。”
作为微软子公司的GitHub还将:
- 弃用传统经典令牌
- 用基于FIDO的双因素认证取代基于时间的动态密码
- 进一步限制精细化令牌并默认禁用令牌
- 取消本地软件包发布绕过双因素认证的选项
- 扩展可信发布认证的合格提供商名单
René-Corail在博客中写道:“我们意识到部分安全改进可能需要调整工作流程。我们将逐步推行这些变更,在强化npm安全状态的同时最大限度减少干扰。我们将通过明确时间表、文档、迁移指南和支持渠道为您提供全程支持。”
行业专家评价
Black Duck高级安全解决方案经理Mike McGuire向Dark Reading表示,GitHub的变更标志着NPM安全迈出"重要一步",解决了弱认证和权限过宽、有效期过长的令牌问题。
“通过强制实施现代双因素认证并采用精细化的短期令牌,GitHub提高了攻击门槛,切断了导致Qix入侵和Shai-Hulud事件的部分路径。“McGuire补充道,“但单次变更无法完全阻止这类攻击。软件包注册表只是开源软件供应链的一环,攻击者正在以更具创造性的方式入侵流行项目。”
Armis威胁情报主管Michael Freeman认为GitHub的建议措施方向正确但力度有限。他强调需要建立更全面的安全流程来实现持久改进,包括静态/动态分析(SAST/DAST)、强制可复现构建以确保源码与制品一致、实时监控可疑注册表活动和异常上传等。
Snyk首席技术官Danny Allan同样肯定GitHub的举措是"值得欢迎的进步”,但指出威胁行为体攻击代码仓库的方式日趋复杂:“这些措施加强了针对维护者账户入侵和蠕虫式传播的防护,但并非万能解药。Shai-Hulud和Qix等攻击利用的远不止被盗令牌,还包括维护者账户失陷、域名抢注和恶意代码注入。如今攻击者正越来越多地使用AI自动化和扩大这些攻击。仅靠令牌变更无法阻止下游开发者无意安装已受感染的软件包。”
作者:Alexander Culafi,Dark Reading高级新闻撰稿人