圈小蛙

警惕!Bitwarden CLI 官方 npm 包遭供应链攻击:CI/CD 管道被投毒,包含针对性“自毁开关”

如果你是一名重度依赖命令行操作的开发者,现在立刻检查你的终端。就在昨天,Socket.dev 的研究人员发布了一份令人震惊的报告,证实开源密码管理器巨头 Bitwarden 的官方 CLI 工具遭到供应链攻击

这次受影响的对象是发布在 npm 注册表上的 @bitwarden/cli 软件包,具体版本号为 2026.4.0。这已经不是简单的“克隆包”投毒,而是攻击者直接入侵了 Bitwarden 的 CI/CD 管道,通过滥用 GitHub Action 自动化流程,在合法的发布版本中硬生生地塞进了恶意逻辑。

攻击链路拆解:CI/CD 是如何崩掉的?

从第一性原理来看,供应链安全最薄弱的环节往往不是代码本身,而是代码变成产品的过程。

根据 Socket.dev 的取证分析,攻击者成功控制了 Bitwarden 仓库中的 GitHub Action 脚本。在版本构建阶段,脚本会自动下载并执行一个名为 bw1.js 的恶意文件。由于这个过程发生在受信任的官方管道内,最终生成的 npm 安装包带有合法的结构,极具迷惑性。

这个 bw1.js 并不是瞎写的,它与最近臭名昭著的 Checkmarx 供应链攻击活动 共享了完全相同的 C2(命令与控制)端点和有效载荷结构。这意味着,这极可能是一场有预谋、有组织的大规模渗透行动的一部分。

恶意行为:精准收割开发者资产

这个后门的胃口非常大。一旦你在本地运行了受污染的 Bitwarden CLI,恶意脚本会立即扫描并窃取以下高价值敏感信息:

  1. GitHub 个人访问令牌(PAT):这通常意味着攻击者可以进一步渗透你的私有仓库。
  2. 云服务凭证:包括 AWS、Azure 及 Google Cloud 的访问密钥。
  3. npm 配置文件(.npmrc):通过窃取授权令牌,攻击者可以将你的账号变成下一个传播恶意包的“跳板”。

更绝的是,这些数据并不是通过常规的 HTTP 请求发送到可疑域名,而是通过滥用 GitHub API 和 npm 注册表本身的合法接口 进行外泄。这种利用合法基础设施进行数据回传的手法,让大多数基于流量特征的防火墙完全失灵。

诡异的“俄罗斯自毁开关”

在对 bw1.js 进行逆向工程时,研究人员发现了一个非常有趣的细节:恶意代码包含一个针对俄罗斯区域设置(Locale)的判断。如果检测到目标机器的系统语言或地理位置属于俄罗斯,脚本会触发“自毁开关”停止运行。

这种带有明显政治倾向或地域规避的行为,在当前的国际网络战背景下并不罕见,但也为追踪攻击者背景提供了微妙的线索。此外,代码中还充斥着大量反机器人、反沙箱的逻辑,显然是针对专业安全分析人员做过专门的对抗优化。

用户应该立即采取的操作

如果你在过去 48 小时内更新或安装了 Bitwarden CLI,请务必执行以下步骤:

密码管理器本应是安全防线的最后一道堡垒,但当它的管理工具本身成为攻击载体时,这种讽刺提醒我们:没有任何工具是绝对可信的。


本报道由 圈小蛙(qxwa.com) 科技资讯站特约撰稿。🐸️

Exit mobile version