💧 #小众软件
npm 历史上首个蠕虫式供应链攻击:会自我传播
npm 出现了新攻击方式:TanStack Router 官方 npm 包被植入恶意代码。攻击者入侵了项目发布流程,上传了带后门的官方版本。这些包会窃取开发者电脑里的各种密钥,并尝试继续感染开发者拥有权限的其他 GitHub 仓库,再借 npm 进一步传播。
令人绝望的是:它绕过了现代 npm 生态最核心的一整套“信任链”:
发布者是真的
官方账号是真的
CI 是真的
provenance 是真的
npm 签名也是真的
但发布出去的代码,是恶意的。
另外,有安全研究员认为,这是 npm 历史上第一次出现真正“会自我传播”的蠕虫式供应链攻击。
到底发生了什么?
这次出问题的是 TanStack Router,一个非常流行的 JavaScript 路由库,在 npm 上每周下载量超过数百万次,被大量前端项目使用。
攻击者先从临时分枝提交了一段恶意代码。虽然这个提交很快就被关闭了,但项目的自动化系统还是运行了它。
这段代码随后污染了 CI 缓存。后来,另一个完全正常的更新触发正式发布流程时,系统再次读取了这个缓存,最终把恶意代码一起打包进了官方 npm 版本里。
T
https://www.appinn.com/tanstack-npm-compromise/
npm 历史上首个蠕虫式供应链攻击:会自我传播
npm 出现了新攻击方式:TanStack Router 官方 npm 包被植入恶意代码。攻击者入侵了项目发布流程,上传了带后门的官方版本。这些包会窃取开发者电脑里的各种密钥,并尝试继续感染开发者拥有权限的其他 GitHub 仓库,再借 npm 进一步传播。
令人绝望的是:它绕过了现代 npm 生态最核心的一整套“信任链”:
发布者是真的
官方账号是真的
CI 是真的
provenance 是真的
npm 签名也是真的
但发布出去的代码,是恶意的。
另外,有安全研究员认为,这是 npm 历史上第一次出现真正“会自我传播”的蠕虫式供应链攻击。
到底发生了什么?
这次出问题的是 TanStack Router,一个非常流行的 JavaScript 路由库,在 npm 上每周下载量超过数百万次,被大量前端项目使用。
攻击者先从临时分枝提交了一段恶意代码。虽然这个提交很快就被关闭了,但项目的自动化系统还是运行了它。
这段代码随后污染了 CI 缓存。后来,另一个完全正常的更新触发正式发布流程时,系统再次读取了这个缓存,最终把恶意代码一起打包进了官方 npm 版本里。
T
https://www.appinn.com/tanstack-npm-compromise/