作为JavaScript生态系统中最大的包管理器,npm正遭遇安全困扰。其开发人员中,仅有9.27%的人使用2FA,这意味着绝大多数npm开发人员的账户处于不安全状态。一旦黑客窃取开发人员账户,后果相当严重。
近日,npm安全副总裁Adam Baldwin发推文称,npm JavaScript库的所有维护者中,只有9.27%的人使用2FA(双因素认证)来保护其账户。
这一数字竟如此之低!
Adam Baldwin表示,开发人员账户安全已经成为npm安全团队关注的主要问题。
从安全角度考虑,npm安全团队希望2020年,有更多的npm开发者使用2FA。
2FA,即双因素认证,它是一种相对更安全的认证方法。与传统单一的密码认证不同,2FA使用两种不同的元素,合并在一起,来确认使用者的身份。比如,我们常用的手机短信验证码验证就是2FA的一种形式。
NPM,全称是Node Package Manager。它不仅是JavaScript生态系统中最大的JavaScript包管理器,而且还是所有编程语言中最大的包存储库,拥有超过350000个索引库。
此外,它每个星期大约有30亿次的下载量,包含超过600000个包(package)。
而这种“地位”和影响力,也让npm成为供应链攻击的主要目标。黑客会入侵开发人员的npm账户,从而在其库中插入恶意代码。
最近几年,这类事件层出不穷:
一份发表的学术研究表明,大多数npm软件包“彼此交织在一起”,并且入侵20个备受瞩目的开发人员账户,就可能使黑客植入被整个npm生态系统一半使用的恶意代码。
因此,确保npm库所有者的账户安全应该是未来的重中之重。
或许,Mozilla的做法提供了一种不错的方式。Mozilla最近宣布,从2020年1月起,所有Firefox浏览器扩展程序的开发人员都必须为其账户启用2FA,才能更新其扩展程序。
此前,InfoQ在《npm安全事故频频发生,程序员都绝望了》的文章中报道过,有一位名叫Sebastian K的网友认为 npm(客户端和registry)是一个有缺陷的系统,需要完全替换,新系统应具有这些功能:
此外,npm安全副总裁Adam Baldwin还披露了一些其他数据:
领取专属 10元无门槛券
私享最新 技术干货