普通视图

发现新文章,点击刷新页面。
昨天以前小众软件

又是 npm 包投毒,密码管理器 Bitwarden CLI 中招(放心:本体安全)

作者 青小蛙
2026年4月24日 12:52

密码管理器 Bitwarden 本体没有问题,命令行工具 @bitwarden/[email protected] 版本中招。如果你和你的 AI 不曾使用 CLI,就可以不管它。@Appinn

又是 npm 包投毒,密码管理器 Bitwarden CLI 中招(放心:本体安全) 35

发生了什么?

来自 socket.dev 的消息:攻击者入侵了 Bitwarden 的发布流程(CI/CD),把一个“被改过的 CLI 版本(@bitwarden/[email protected])”发到 npm,这个版本里加了一段恶意代码,可以在安装时自动执行。

又是 npm 包投毒,密码管理器 Bitwarden CLI 中招(放心:本体安全) 36
此图由 AI 制作

会泄漏什么?

这个恶意代码还比较严重,他会在你的电脑里搜索:

  • 各种 token(GitHub / npm)
  • SSH 私钥
  • .env 文件
  • 云服务凭证(AWS / GCP 等)
  • shell 历史记录
  • AI 工具配置(Claude / Cursor 等)

然后,将这些信息用 AES-256 加密、压缩,发出去。

密码安全吗?

Bitwarden 官方确认没有访问到用户的 Vault 密码库,也没入侵 Bitwarden 的后端服务。


原文:https://www.appinn.com/bitwarden-cli-npm-supply-chain-attack-2026/


相关阅读


©2021 青小蛙 for 小众软件 | 加入我们 | 投稿 | 订阅指南
3659b075e72a5b7b1b87ea74aa7932ff
点击这里留言、和原作者一起评论

[ 点击前往获取链接 ]


npm 历史上首个蠕虫式供应链攻击:会自我传播

作者 青小蛙
2026年5月13日 17:11

npm 出现了新攻击方式:TanStack Router 官方 npm 包被植入恶意代码。攻击者入侵了项目发布流程,上传了带后门的官方版本。这些包会窃取开发者电脑里的各种密钥,并尝试继续感染开发者拥有权限的其他 GitHub 仓库,再借 npm 进一步传播。

令人绝望的是:它绕过了现代 npm 生态最核心的一整套“信任链”:

  • 发布者是真的
  • 官方账号是真的
  • CI 是真的
  • provenance 是真的
  • npm 签名也是真的

但发布出去的代码,是恶意的。

另外,有安全研究员认为,这是 npm 历史上第一次出现真正“会自我传播”的蠕虫式供应链攻击。

npm 历史上首个蠕虫式供应链攻击:会自我传播 28

到底发生了什么?

这次出问题的是 TanStack Router,一个非常流行的 JavaScript 路由库,在 npm 上每周下载量超过数百万次,被大量前端项目使用。

攻击者先从临时分枝提交了一段恶意代码。虽然这个提交很快就被关闭了,但项目的自动化系统还是运行了它。

这段代码随后污染了 CI 缓存。后来,另一个完全正常的更新触发正式发布流程时,系统再次读取了这个缓存,最终把恶意代码一起打包进了官方 npm 版本里。

TanStack 复盘的时候说:

  • 没有维护者被钓鱼
  • 没有密码泄漏
  • 团队成员都开启双因素认证(2FA)
  • 也没有 npm Token 被偷

攻击链大概是:

攻击者先提交一个恶意 PR

这个 PR 触发了 GitHub Actions

CI 在运行过程中执行了攻击者代码

攻击者污染了 CI 缓存(cache poisoning)

正式发布流程再次读取这个缓存

恶意代码进入官方 release pipeline

CI 自己生成合法 OIDC 发布凭据

官方流程亲手发布了恶意 npm 包

npm 历史上首个蠕虫式供应链攻击:会自我传播 29

更可怕的是

这些恶意包并不是伪造的“假包”,而是真正通过官方流程发布出来的。

  • 包是官方账号发布的
  • npm 签名正常
  • provenance / SLSA 验证通过

攻击者甚至没有入侵 npm 账号,他们只是提交了一个 Pull Request,随后利用项目自动化流程中的漏洞,把恶意代码混进了官方发布版本。

为什么说它是“蠕虫”?

普通的包中毒只是“守株待兔”,等你去下。

普通的投毒是需要开发者、用户去下载、安装,才会中招。

但这个恶意代码只要你在本地运行了它,它就会立刻扫描你的电脑,偷走你的 npm 令牌和 GitHub 密钥。

然后,它会利用你的权限,自动去翻你参与过的其他 GitHub 仓库,悄悄修改它们的 CI 配置,这意味着,你维护的其他项目,在下一次自动化构建时,都会变成新的毒源。

而这个过程,不就是蠕虫病毒(Computer Worm)吗?

蠕虫病毒是一种通过网络自动传播的独立恶意程序,无需人工干预即可利用系统漏洞自我复制。

这标志着“盲目信任”时代的终结。

过去,我们总觉得,只要不下载莫名其妙的安装包、看准官方认证、官网,守护好自己的账号,应该就安全了,稳了!

但现在,你甚至不能信任「官方渠道的上游代码」,就有点残酷了。

这就好比在某官方旗舰店购买了一台手机,虽然旗舰店是真的、手机外包装也是真的、甚至数据线都是真的,但手机是假的。

在这个自动化的时代,可能除了自己写的那几行代码,其它的你都得留个心眼。

(现实是,自己的代码也是 AI 写的…)

建议

手上的项目,先别着急升级,让子弹飞一会,等个一周两周的,再去碰最新的代码


原文:https://www.appinn.com/tanstack-npm-compromise/

另外,npm 攻击已经…很多次了 😭

光青小蛙注意到的就有:

攻击者都不直接攻击最终用户,而是先污染开发者依赖的 npm 包。只要拿下了自动化路径中的某一点,就能完成攻击。


相关阅读


©2021 青小蛙 for 小众软件 | 加入我们 | 投稿 | 订阅指南
3659b075e72a5b7b1b87ea74aa7932ff
点击这里留言、和原作者一起评论

[ 点击前往获取链接 ]


❌
❌