威胁情报|Tensorlakenpm包遭Shai-Hulud蠕虫投毒"

admin 2026-10-16 14:07:54 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

威胁情报 | Tensorlake npm 包遭 Shai-Hulud 蠕虫投毒

kwonculture
kwonculture

酷酷信安

2026年10月9日 15:28
四川

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

威胁情报 | Tensorlake npm 包遭 Shai-Hulud 蠕虫投毒 为方便阅读显示,建议大家把酷酷信安“设为星标”

威胁等级:高危 | 威胁类型:软件供应链攻击 / 自我传播蠕虫 / 凭据窃取 威胁家族:Shai-Hulud | 影响生态:npm(Node.js) 事件披露:2026-10-08(Endor Labs)


一、摘要与问题分析

2026 年 10 月 8 日,Tensorlake 官方 TypeScript SDK 的 npm 包 [email protected] 被披露携带 Shai-Hulud 蠕虫恶意负载 。该包周下载量超 12,000 次、GitHub 星标超 1,000 ,属于真实生产环境中被广泛依赖的组件,供应链风险等级高。

关键研判:

  • 攻击路径极具迷惑性:恶意版本经由项目正常的 GitHub Actions 官方流水线构建发布,甚至携带有效的构建来源证明(build provenance)[S1]。核心教训:来源证明只能证明\"构建来自该流水线\",不能证明源码本身是干净的。
  • 根因指向维护者账户失陷:攻击者先污染主分支,再让受信任的自动化流水线\"合法地\"发布恶意包——维护者凭据被盗是 Shai-Hulud 的标志性手法 [S1]。
  • 蠕虫化扩散:窃取受害者的 npm/GitHub 凭据后,自动感染受害者名下其他 npm 包,呈链式扩散 [S1]。
  • 当前状态:恶意版本 0.5.144 已从 npm 注册表移除;0.5.143 及更早版本确认干净[S1]。

事件时间线(UTC)[S1]:

时间 事件
2026-10-07 01:20 首个恶意提交 e90c47bbb2 进入仓库主分支
2026-10-08 01:12:07 恶意版本 [email protected] 经官方流水线发布至 npm
2026-10-08 恶意版本下架;Endor Labs 披露分析


二、技术细节

2.1 触发机制:preinstall 钩子,npm install 即中招

攻击者在 package manifest 中植入 preinstall 钩子,执行 node lib/setup.mjs。npm 会在安装任何内容之前运行 preinstall,因此受害者执行 npm install 的瞬间恶意代码即被触发,无需任何额外交互。

新增两个恶意文件:

文件 角色 说明
lib/setup.mjs 加载器 小型混淆 loader,负责环境感知并拉取第二阶段
lib/Math_Symbol.js 主负载 大型混淆 payload,约 856 KB;内嵌蠕虫标记 globalThis.WORMTAG='tensrlake'(注意拼写)

2.2 环境感知:精准狩猎 CI 高价值目标

加载器检测 CI、GITHUB_ACTIONS、GITLAB_CI、RUNNER_ENVIRONMENT 等环境变量,判断是否运行于 CI/CD 环境(CI 环境通常持有高价值凭据),随后拉取并执行第二阶段负载。

2.3 蠕虫传播与数据外泄

  • 调用 GitHub API 与 npm 注册表 API,完成凭据收集、令牌验证、OIDC 令牌交换、维护者身份查询;
  • 用窃得的凭据将自身重新发布到受害者控制的其他 npm 包中;
  • 自动创建 GitHub 仓库用于存放窃取的数据;
  • EtherHiding 持久化技术:C2 域名不硬编码,通过读取以太坊链上数据(特定钱包地址)动态解析当前 C2,可随时在链上轮换,封堵与溯源难度大。

2.4 凭据窃取范围(9 类目标,覆盖云原生全链路)

npm 令牌(.npmrc)、SSH 私钥、AWS / GCP / Azure 云凭据、Kubernetes 与 Docker 配置、HashiCorp Vault 令牌、CI 与制品注册表令牌、GitHub CLI 配置、.env 环境变量文件;运行于云主机时还会探测内部元数据端点(IMDS)窃取短期云凭据。


三、造成的危害

  1. 凭据大面积泄露:任何安装过 0.5.144 的主机(尤其是 CI 环境),其上全部凭据、密钥、令牌均应视为已泄露,危害可横向扩散至整个云基础设施与代码资产。
  2. 供应链链式扩散:蠕虫利用受害者凭据感染其名下其他 npm 包,形成\"受害者即传播者\"的指数级扩散模型,单一安装事件可演变为多个开源项目被投毒。
  3. 信任机制失效示范:恶意包经由官方流水线发布且携带有效来源证明,\"来源证明 + 官方渠道\"的传统信任校验手段对此类攻击部分失效。
  4. 数据持久化外泄:窃取的数据被写入攻击者控制的 GitHub 仓库与 C2 服务器,且 C2 可链上轮换,数据追回与彻底清除困难。
  5. 同批次包连带受影响:同批发布的 6 个 tensorlake-native-*@0.5.144 平台二进制包虽未检出负载(仅含原生二进制、无安装脚本),仍建议按受影响处理并弃用。

四、IOC 失陷指标

4.1 恶意包

包 / 版本 状态 说明
[email protected] 🔴 恶意·已下架 携带蠕虫负载,npm 官方已移除
tensorlake-native-*@0.5.144 (6 个平台二进制包) 🟡 按受影响处理 未检出负载,仍建议弃用
[email protected] 及更早 🟢 安全 无 preinstall 钩子与负载文件

4.2 文件哈希(SHA256)

文件 SHA256
lib/setup.mjs 25a0735d0db7dc40e5d45ce42d9c106067e6a66e184d967cfecfab17c3bcb5ef
lib/Math_Symbol.js b50a00900399ba99fb6ce1fc151519cb99d44320ef2a631f2237e1aea0ad6fec

4.3 C2 与区块链IOC

类型 值 说明
ETH 钱包地址 0xb614155Fd88114d40549b259457Bcf921Df091B9 EtherHiding 解析器,链上存放当前 C2 域名(持久化指标)
C2 域名 iseekaigogo[.]com 守护进程向其 POST 受害者主机/用户/操作系统信息;可链上轮换

4.4 特征字符串

  • globalThis.WORMTAG='tensrlake'(蠕虫感染标记,可用于代码库 / 制品扫描)

4.5 溯源地址

  • 源仓库:https://github.com/tensorlakeai/tensorlake ([S1] 引用;项目身份经 [S2] 核实)
  • 首个恶意提交:e90c47bbb2(https://github.com/tensorlakeai/tensorlake/commit/e90c47bbb2 )
  • 投毒流水线运行记录:https://github.com/tensorlakeai/tensorlake/actions/runs/37706134202

五、修复以及制止方案

5.1 应急处置(已安装过 0.5.144 的环境)

  1. 立即阻断:卸载/阻止 [email protected],可信新版本发布前将依赖固定(pin)在 0.5.143[S1];
  2. 清除污染缓存:删除 lockfile 中引用 0.5.144 的条目,清空 npm 包缓存与 CI 构建缓存,从干净源重新安装 [S1];
  3. 凭据全量轮换(核心止损):凡安装过该版本的主机(特别是 CI)假定凭据已泄露,立即轮换 npm 令牌、GitHub 令牌、SSH 密钥、AWS/GCP/Azure 云密钥及该主机上的所有秘密 [S1];
  4. 审计异常活动:检查 GitHub 与 npm 账户近期活动——异常仓库创建、新令牌、受影响账户下的异常发布记录 [S1];
  5. 外联检测:排查对 iseekaigogo[.]com 的访问记录,及对 169.254.169.254、169.254.170.2、127.0.0.1:8200 的异常探测 \*。

参考来源

编号 来源 地址
S1 Endor Labs《Tensorlake npm Package Compromised by Shai-Hulud in Latest Software Supply Chain Attack》(Kiran Raj / Rachana Misal,2026-10-08)—— https://www.endorlabs.com/learn/tensorlake-npm-package-compromised-by-shai-hulud-in-latest-software-supply-chain-attack
S2 Tensorlake 官方 GitHub 仓库(交叉佐证项目身份、星标数、TypeScript SDK 存在性) https://github.com/tensorlakeai/tensorlake
S1-引 投毒流水线运行记录([S1] 文中引用原始证据) https://github.com/tensorlakeai/tensorlake/actions/runs/37706134202

*往期推荐:*

CVE-2026-94545 Next.js next/og 未经身份验证的远程代码执行 POC

LINUX DO网页中反扒AI prompt

fastjson 1.2.66–83 rce 复现环境项目及POC

持续分享技术干货,喜欢这篇文章,记得三连哦!


威胁情报|Tensorlakenpm包遭Shai-Hulud蠕虫投毒" 网络安全文章

威胁情报|Tensorlakenpm包遭Shai-Hulud蠕虫投毒"

Tensorlake官方TypeScriptSDK的npm包[email protected]遭Shai-Hulud蠕虫投毒,恶意版本经官方GitHubActions流水线发布并携带有效构建来源证明,攻击者通过preinstall钩子在npminstall时触发恶意代码,窃取npm、GitHub、云服务等9类凭据并自我传播至受害者其他npm包。建议立即固定版本至0.5.143,全量轮换凭据并排查异常外联。
Tensorlake恶意npm版本传播Shai-Hulud变种,AI开发者秘密可能被批量窃取" 网络安全文章

Tensorlake恶意npm版本传播Shai-Hulud变种,AI开发者秘密可能被批量窃取"

文档汇总了2026年10月9日前后多个安全威胁事件,包括lmcache高危漏洞(CVE-2026-105192)可未认证远程代码执行、CitrixNetscaler遭主动利用、GhostAction供应链攻击影响772个仓库、恶意Firefox扩展窃取加密货币、Hikvision摄像头漏洞遭扫描、Sungrow云平台无密码访问风险、酒店差评诱饵投递恶意软件、Gitea修复27项漏洞、CiscoNexus关键漏洞、Tensorlake恶意npm包传播shai-hulud变种等。建议企业立即排查相关资产、限制
MFA、SSO还不够:下一代身份安全必须盯住“权限”" 网络安全文章

MFA、SSO还不够:下一代身份安全必须盯住“权限”"

本文探讨下一代身份安全需从认证转向授权管理。MFA和SSO解决身份认证问题,但无法回答获得访问后能做什么。ServiceNow报告显示平均每名员工拥有9.6万项权限,38%身份账户90天无活动仍启用,形成授权鸿沟。文章建议采用访问图谱实现权限链路可视化,并转向持续身份安全,实现端到端可视化、持续治理与自动化修复。
ReinSecurity获2500万美元融资,AIAgent运行时安全正在成为新赛道" 网络安全文章

ReinSecurity获2500万美元融资,AIAgent运行时安全正在成为新赛道"

ReinSecurity获2500万美元A轮融资,押注AIAgent运行时安全新赛道。文章指出随着AIAgent从工具变为执行者,企业安全重点正从保护模型输入输出转向保护Agent行为,即从管模型走向管行为。Rein提供持续观察Agent行为、定义操作边界、实时阻断高风险动作等能力,其产品收入增长8倍,反映Agent安全正形成独立市场。
评论:0   参与:  0