删毒包也无用:MiniShai-Hulud波及TanStac

删毒包也无用:MiniShai-Hulud波及TanStac

据 [动察 Beating](https://t.me/OneMillion_AI) 监测,一款名为「Mini Shai-Hulud」(《沙丘》中的沙虫)的窃密蠕虫正在横扫前端与 AI 后端生态。

## 攻击链:劫持官方发布流水线,批量植入恶意版本
攻击者 **TeamPCP** 在 **5 月 12 日凌晨 3:20—3:26(UTC+8)** 劫持了 **TanStack 官方发布流水线**,向 npm 推送了:

– **42 个官方包**
– **84 个恶意版本**
– 覆盖千万级周下载量的 `@tanstack/react-router`

随后蠕虫跨界扩散至 **PyPI**。最新受害名单包括(均为 PyPI):

– 亚马逊 `@opensearch-project/opensearch`(npm,周下载 **130 万**)
– Mistral 官方客户端 `mistralai`
– AI 护栏工具 `guardrails-ai`

## 伪装与绕过:看起来“完全正规”,却能拿到真实签名
恶意包**外观与正规发布一致**,关键点在于:攻击者**并未窃取任何长期凭证**。

他们利用 **GitHub Actions 配置漏洞**劫持官方流水线,获得的是**合法的临时发布权限**。因此,恶意包不仅能上架,还能携带真实的 **SLSA 构建来源签名(provenance)**——一种用于证明“包确实由官方流水线产出”的防伪标签。

也就是说,开发者过去依赖的“**有签名 = 安全**”逻辑在这里被彻底绕开。

## 不是卸载就结束:安装后写入 AI/IDE 执行钩子,自动“复活”
更棘手的是:**卸载毒包并不足以止血**。

Socket.dev 逆向分析显示,蠕虫安装后会在后台写入:

– **Claude Code** 的执行钩子:`.claude/settings.json`
– **VS Code** 的任务配置:`.vscode/tasks.json`

即便毒包被删除,只要开发者**之后打开项目目录**或**唤醒 AI 助手**,恶意代码仍会自动复活。

Python 侧触发门槛也更低:开发者甚至无需调用任何函数,只要 **`import` 受感染包**,就会静默激活窃密。

## 攻击者留言挑衅,自传播仍在继续
TeamPCP 在伪造域名 `git-tanstack[.]com` 上直接挂出嘲讽留言:

> 「我们已经在线偷了两个多小时凭证了,不过我就是来打个招呼 :^)」

目前蠕虫仍在自传播扩散。

## 建议处置(按已失陷处理)
在上述窗口期 **安装过受影响包** 的机器,请按已失陷处理,立刻:

1. **轮换** AWS、GitHub、npm、SSH 等全部凭据
2. **彻查** `.claude/` 与 `.vscode/` 目录
3. 从干净环境开始,**重新生成 lockfile 并重装依赖**

原创文章,作者:admin,如若转载,请注明出处:https://www.23btc.com/179698/

(0)
上一篇 8小时前
下一篇 7小时前

相关推荐