Bee JavaScript 客户端遭供应链入侵,安装时运行远程载荷
@ethersphere/bee-js 13.3.0 会在安装时运行远程 JavaScript。研究人员观察到载荷瞄准 Swarm Desktop 密钥,并在 Linux 上建立持久远程访问。拦截 13.3.0,隔离执行过安装钩子的主机,再用可信版本重建。
- 披露时间
- 2026年11月9日
- 公开披露日期
- 严重程度
- 拉裤子了
- 无 CVE:这是入侵事件,不是漏洞
- 波及范围
- 启用生命周期脚本并安装了 @ethersphere/bee-js 13.3.0 的开发机和 CI 运行器。
- node
- 在野利用
- 未知
- 恶意版本及服务器返回的载荷已核实。受害安装数量未知。
发生了什么
13.3.0 把版本生成脚本改成了 npm postinstall 加载器。启用生命周期脚本时,安装包就可能以安装用户权限执行服务器提供的代码,应用无需先导入这个依赖。加载器通过 HTTPS 请求获取并执行响应,无需安装 Swarm Desktop 也能启动。收集 Swarm Desktop 密钥则要求文件存在且可读。
Bitbison 观察到一份载荷读取 Swarm Desktop 配置和节点密钥,上传到同一域名,并安装 Linux 用户服务来运行远程访问代理。这是研究期间服务器返回的载荷。服务器可以改变响应,因此缺少这些 Linux 文件也无法排除代码已运行。npm 来源证明指向项目工作流,源码提交本身含有加载器。攻击者如何进入发布流程仍不清楚。
核查时软件仓库仍将 13.3.0 列为 latest。处置期间请精确锁定此前版本。事件日期采用 11 月 9 日 UTC,以软件仓库的发布时间和 Bitbison 带时间戳的报告为准。StepSecurity 的初步公告标注 11 月 8 日,未注明时区。其披露的 3,560 次下载覆盖 13.3.0 发布前一周的所有版本,无法用来计算受影响的安装数。受害者人数和被盗金额均未核实。
修复版本
| 产品 | 安全版本 | 备注 |
|---|---|---|
| @ethersphere/bee-js | 13.2.0 | 此前版本不含该安装钩子。等待维护方指引期间请精确锁定版本。 |
案发时间线
11月9日 00:06 UTC
项目在 GitHub 公开 v13.3.0
11月9日 00:09 UTC
npm 发布受影响的 13.3.0
清单将 scripts/generate-version.cjs 配置为 postinstall 钩子,并带有 npm 来源证明元数据。
11月9日 00:51 UTC
Bitbison 公开软件包与载荷分析
研究人员记录了 Swarm Desktop 密钥收集行为和可持久运行的 Linux 远程访问代理。
各方说法
我们列出每条说法和它的出处,并标出一手来源(厂商、研究人员、软件仓库)。各方说法不一致时,按最坏的可信情况定级。
- Ethersphere GitHub v13.3.0 发布页一手来源发布 API 记录 GitHub 发布时间为 00:06 UTC。
- npm 软件包及版本历史一手来源记录发布时间、受影响版本的安装钩子和来源证明元数据。13.2.0 的清单不含该钩子。
- Ethersphere 源码提交一手来源展示清单的变更及加载器如何以安装用户权限执行 HTTPS 响应。
- Bitbison 软件包分析一手来源记录已观察到的 Swarm 密钥收集、Linux 二进制文件及持久化指标。
- StepSecurity 初步调查一手来源核实安装时加载器及针对钱包的行为。周下载数据涵盖所有版本。