42 个 TanStack NPM 包包含一个可自我传播的蠕虫

攻击者通过入侵 TanStack 项目的 GitHub Actions 发布流程,将 TanStack 堆栈中的 42 个 NPM 包的 84 个恶意版本发布到了 NPM 仓库。其中一些被入侵的包每周下载量超过 10 万次。

获得发布权限的原因包括:GitHub Actions 中 pull_request_target 的“Pwn Request”设置错误(在设置中指定掩码导致 pull_request_target 针对第三方 fork 发起 pull 请求)、通过 fork 污染 GitHub Actions 缓存,以及能够通过读取 /proc/ 目录的内容从正在运行的 runner 进程 (Runner.Worker) 的内存中提取 OIDC 令牌。 /mem。

5月11日晚上10:20至10:26(莫斯科时间)期间,恶意修改的NPM软件包被发布,20分钟后被检测到,一个半小时后被拦截。每个受影响的NPM软件包都发布了两个恶意版本,每个版本都包含激活mini-shai-hulud蠕虫的代码。该蠕虫会在当前环境中搜索令牌和凭据。如果检测到与NPM目录的连接令牌,蠕虫会自动发布针对当前环境中正在开发的软件包的新恶意版本,从而影响依赖关系树。超过400个使用TanStack软件包作为依赖项的NPM软件包因此受到影响。

该蠕虫病毒被植入 router_init.js 文件中,并在开发者手动安装受影响的软件包或在持续集成环境中使用“npm install”、“pnpm install”或“yarn install”命令自动安装时被激活。激活后,该蠕虫病毒会在系统中搜索 NPM(~/.npmrc)、AWS、GCP、Azure、HashiCorp 和 KubernetesK8s 的令牌以及 SSH 私钥。它找到的数据会通过去中心化的 P2P 消息传递工具 getsession.org 发送给攻击者。

该蠕虫被设计成在拦截到的 NPM 令牌被撤销时执行破坏性操作。系统配置为定期运行脚本 ~/.local/bin/gh-token-monitor.sh,该脚本每 60 秒通过访问 api.github.com/user 检查令牌的活动,并在令牌被撤销时执行命令“rm -rf ~/”。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster