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表示:“真正的韧性需要软件行业每个人的积极参与和警惕。通过采用强大的安全实践、利用可用工具并为这些集体努力做出贡献,我们能够共同为所有人构建一个更安全、更可信的开源生态系统。”