GitHub加强npm生态系统安全:应对沙虫蠕虫攻击的新举措
为应对近期JavaScript包管理器npm遭受的供应链攻击,GitHub宣布了一系列安全改进措施。
这次对npm生态系统的攻击由名为Shai-Hulud的蠕虫引发,该蠕虫会感染其他软件包并重新发布含有恶意代码的版本,从而在整个npm生态系统中传播。
GitHub在博客文章中写道:“通过将自我复制与窃取多种类型密钥(不仅仅是npm令牌)的能力相结合,如果没有GitHub和开源维护者的及时行动,这种蠕虫可能引发无休止的攻击流。”
GitHub最初从npm注册表中移除了500多个受感染的软件包,并阻止上传包含与恶意软件包相关的危害指标(IoCs)的新软件包。
现在,该公司宣布即将对认证和发布选项进行更改,以降低令牌滥用和自复制恶意软件的风险。这些措施包括:要求本地发布时使用双因素认证(2FA)、将细粒度令牌的有效期缩短至七天,以及使用可信发布者(Trusted Publishers)来进一步减少长期有效令牌或凭据在软件包仓库认证中的使用。
GitHub写道:“当npm发布对可信发布的支持时,我们的初衷是让这一新功能的采用自然增长。然而,攻击者向我们表明他们不会等待。我们强烈建议项目尽快对所有受支持的软件包管理器采用可信发布。”
此外,为了进一步专门提升npm安全性,GitHub将弃用传统的经典令牌、弃用基于时间的一次性密码2FA、默认禁止令牌的发布访问权限,并扩展可信发布的提供商。
GitHub理解其中一些更改会干扰现有的开发工作流程,因此计划逐步推出这些更改,并将稍后提供更新,包含每项更改的具体时间表以及文档、迁移指南和支持渠道。
GitHub表示:“真正的韧性需要软件行业每个人的积极参与和警惕。通过采用强大的安全实践、利用可用工具并为这些集体努力做出贡献,我们能够共同为所有人构建一个更安全、更可信的开源生态系统。”