npm和yarn包管理器存在安全漏洞可绕过防护
创始人
2026-01-30 21:04:55

一位以色列研究人员警告,Java开发者应考虑远离npm和yarn平台来分发他们的工作,因为新发现的安全漏洞允许威胁行为者运行类似Shai-Hulud的恶意蠕虫攻击。

这一警告来自Koi Security的Oren Yomtov,他在周一的博客中披露了在多个包管理器中发现的六个零日漏洞,这些漏洞可能允许黑客绕过去年11月Shai-Hulud攻击npm并破坏超过700个包后推荐的防护措施。

推荐防护措施包括

这些推荐的防护措施包括:

禁用运行生命周期脚本的能力,即在包安装过程中自动运行的命令;

将锁定文件完整性检查(package-lock.json、pnpm-lock.yaml等)保存到版本控制(git)中。锁定文件记录依赖树中每个包的确切版本和完整性哈希值。在后续安装中,包管理器会根据这些哈希值检查传入的包,如果不匹配,安装就会失败。如果攻击者破坏了某个包并推送恶意版本,完整性检查应该能够捕获不匹配并阻止其安装。

Yomtov表示,11月之后这些建议"从GitHub安全指南到企业政策文档,都成了标准建议","因为如果恶意代码无法在安装时运行,且依赖树被锁定,你就是安全的。"

他在邮件采访中补充说,这个建议仍然有效。

PackageGate漏洞的影响

然而,他发现的这些被称为"PackageGate"的漏洞允许黑客绕过这两种防护措施,需要所有平台来解决。

到目前为止,pnpm、vlt和Bun平台已经修复了绕过漏洞,但npm和yarn尚未修复。因此他建议Java开发者使用pnpm、vlt或Bun。

他补充说,无论如何,Java开发者都应该保持所使用的Java包管理器为最新版本,以确保拥有最新的补丁。

各方回应情况

拥有并通过GitHub监管npm的微软,将关于这些漏洞的问题转给了GitHub。GitHub在声明中表示:"我们正在积极努力解决报告的新问题,因为npm会主动扫描注册表中的恶意软件。"与此同时,它敦促项目开发者采用Shai-Hulud攻击后发布的博客中的建议。

声明还指出,去年9月,GitHub表示正在加强npm的安全性,包括对身份验证和令牌管理进行更改。

GitHub还警告说,如果通过git安装的包含有prepare脚本,其依赖项和开发依赖项将被安装。"正如我们在提交问题单时分享的,这是一个有意的设计并按预期工作。当用户安装git依赖项时,他们信任该存储库的全部内容,包括其配置文件。"

Yomtov认为这种有意设计的解释"令人困惑"。

他表示,脚本绕过漏洞是在2024年11月26日通过HackerOne漏洞赏金计划报告的。虽然其他Java包管理器接受了报告,但npm表示平台按预期工作,"忽略脚本"命令应该防止运行未经批准的远程代码。

"我们写这篇文章不是为了羞辱任何人,"Yomtov在博客中说。"我们写它是因为Java生态系统值得更好,因为安全决策应该基于准确信息,而不是对无法维持的防护措施的假设。

"标准建议——禁用脚本并提交锁定文件——仍然值得遵循。但这不是完整的图景,"他说。"在PackageGate完全解决之前,组织需要对风险做出自己明智的选择。"

Q&A

Q1:什么是PackageGate漏洞?

A:PackageGate是研究人员在多个Java包管理器中发现的六个零日漏洞的统称,这些漏洞允许黑客绕过现有的安全防护措施,可能导致类似Shai-Hulud的恶意蠕虫攻击。

Q2:哪些包管理器已经修复了这些漏洞?

A:目前pnpm、vlt和Bun平台已经修复了PackageGate漏洞,但npm和yarn尚未修复。研究人员建议Java开发者暂时使用已修复漏洞的包管理器。

Q3:开发者现在应该采取什么安全措施?

A:除了继续遵循禁用生命周期脚本和提交锁定文件的标准建议外,开发者还应保持包管理器为最新版本,考虑使用已修复漏洞的平台如pnpm、vlt或Bun,并对风险做出明智的选择。

相关内容

热门资讯

伊世智能申请网联汽车网络安全漏... 国家知识产权局信息显示,上海伊世智能科技有限公司申请一项名为“一种网联汽车网络安全漏洞的智能检测与自...
四川眉山一房屋发生火灾,不起眼... 2025年2月10日20时许 眉山一处加工厂集成房屋发生火灾 消防救援人员接到火警后 迅速抵达现场 ...
“消防篮”携手“志愿红”推动消... 1月30日,纳雍县消防救援大队开展“携手蓝焰黔行,共筑万家平安”消防志愿服务集中参观体验培训,来自纳...
醴陵市突发环境事件应急预案机构... 醴陵市作为工业基础雄厚的地区,涉及环境风险的企业数量众多,相应的突发环境事件应急预案服务机构也如雨后...
爱创科技取得显示屏安装结构专利... 国家知识产权局信息显示,四川爱创科技有限公司取得一项名为“显示屏安装结构”的专利,授权公告号CN22...