GitHub更新NPM功能,强化套件生态系安全

访客 57 0

GitHub更新NPM功能,强化套件生态系安全-第1张图片-苹果试玩 

GitHub更新套件管理工具NPM,加入一系列新功能来强化NPM生态系的安全性,减少用户遭受到软件供应链攻击的机会,新功能包括NPM程式码浏览器、精细度访问令牌(Granular Access Token)。

官方提到,目前凭证被盗是资料泄漏的主要原因之一,但是保护凭证却不是一件容易的任务,具有广泛权限的权杖泄漏,可能对软件供应链冲击巨大。 GitHub目标是协助NPM维护者更有效的管理令牌泄漏风险,因此现在于NPM加入精细度访问权令牌类型,使得 NPM 套件维护者和组织所有者,能够创建精细权限的存取令牌。

在过去用户并无法创建具有最小权限的令牌,因此无法限缩意外或是故意被滥用令牌的影响,而现在精细度存取令牌则完全达到这个目的,用户可以创建只一组有限套件和范围的令牌。 NPM的自动化权杖功能发布已经有一段时间,自动化权杖让用户能够发布权杖所有者有权存取的所有套件,因此用户通常也使用发布权杖来整合NPM自动化。

但官方提到,发布权杖原本的设计目的是用于交互式工作流程,像是NPM CLI等,且因为2FA的要求,并不推荐在自动化中使用。 精细度存取令牌让NPM组织所有者自动化组织管理,通过创建权杖来管理一个或多个组织、团队和成员。

精细度权杖还让用户以IP范围来限制NPM API,并且只有一年的最长有效期。 GitHub提到,只有不到10%的NPM权杖被经常使用,这也就代表有许多NPM权杖不必要处于活跃状态,如此增加了权杖泄漏的可能性,因此定期轮换权杖可以明显减少NPM组织的攻击向量。

过去代码浏览器是一项付费功能,仅供团队和专业用户使用,而现在官方改进代码浏览器,同时免费供用户使用,更新后的代码浏览器更稳定快速,而且适用NPM注册表中的所有套件。 这项功能之所以能够提升NPM套件的安全性,是因为用户可以在安装之前,先查看套件代码。

过去套件用户必须下载套件才能检查其内容,虽然执行npm install来检查和验证套件内容很简单,但这项操作有其风险,因为安装的套件可能包含恶意程式码,这些代码能够通过脚本的形式部署到系统中,而使用NPM代码浏览器,便能够在使用套件前就仔细查看。

除了两项新功能更新,官方也持续推行2FA的采用,从2022年11月1日起,所有具有高影响力套件的维护者账号,都已经被强制要求使用2FA。 高影响力套件是指每周下载量超过100万次,或是拥有超过500名相依者的套件。 官方提到,2FA能够有效防御账户劫持,有效提升NPM JavaScript生态系的安全性。

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~