#优质博文 #安全 #npm #开源

Our plan for a more secure npm supply chain

AI 摘要:GitHub 针对 npm 供应链近年来遭受的攻击(如基于账户劫持和自我复制恶意软件的事件),提出一系列安全强化措施,包括推进 Trusted Publishing、强制 2FA、多层次 Token 管理以及渐进式改造工作流。这些举措旨在提高整个开源生态系统的韧性,重塑开发者与社区对 npm 的信任。


[以下是方便搜索索引的大纲(AI 生成),请读原文]
1. 开源软件与供应链风险
• 开源是现代软件的基石,但规模庞大的生态也带来攻击面扩大与安全风险。
• 最近持续发生基于账户劫持的攻击,导致恶意代码通过知名 npm 包传播。

2. Shai-Hulud 攻击事件回顾
• 2025 年 9 月发生的自我复制蠕虫攻击,利用维护者被攻破的账号传播。
• 注入恶意 post-install 脚本,可窃取多类敏感信息。
• GitHub 与社区紧急响应,移除 500+ 受影响包,并封锁 IoCs 传播链。

3. npm 安全加固路线图
• 引入更严格的身份验证与发布策略:
• 本地发布需强制 2FA。
• Granular Token(细粒度令牌)有效期缩至 7 天。
• 推行 Trusted Publishing(可信发布)。
• 废弃旧的 classic token 和 TOTP 式 2FA,推广 FIDO 2FA。
• 默认禁止基于 token 的发布,要求使用可信发布或强制 2FA。
• 扩展可信发布支持的生态与厂商。

4. Trusted Publishing 与行业协作
• Trusted Publishing 免去在构建流程中管理 API token,被 OpenSSF 推荐。
• 已在 PyPI、RubyGems、crates.io、npm、NuGet 等平台逐步普及。
• GitHub 强调应加快推广,避免攻击者利用过渡期漏洞。

5. npm 维护者可采取的行动
• 优先启用 npm Trusted Publishing,替代 token。
• 在账号、组织、包层面启用并强制 2FA。
• 使用 WebAuthn 替代 TOTP 以提升安全强度。
• 积极参与社区治理,共建韧性更强的供应链安全。
Our plan for a more secure npm supply chain
 
 
Back to Top