攻击概述 Socket 研究团队发现了一场针对 TanStack npm 包的持续供应链攻击,代号“Mini Shai-Hulud”。攻击者通过利用 GitHub Actions 的权限配置漏洞,获取了未授权的 npm 发布权限,并在 84 个受影响的 TanStack 包中植入了疑似窃取 CI 凭证的恶意软件。该攻击不仅影响了核心库,还波及了其他知名项目如 OpenSearch 和 Mistral AI。 受影响的软件/版本 主要受影响包: (周下载量 1200 万+) (多个版本) 其他 82 个 TanStack 相关包 次要受影响包: 攻击手法 1. 初始入侵:利用 GitHub Actions 中的 模式结合缓存投毒(Cache Poisoning)技术,获取了 OIDC(OpenID Connect)令牌。 2. 权限提升与发布:利用窃取的 OIDC 令牌获得未授权的 npm 发布能力。 3. 载荷注入:在包中注入混淆的 JavaScript 文件 (约 2.3MB)。 4. 持久化与传播: 持久化:将恶意代码写入 、 和 。 蠕虫传播:通过 OIDC 生成新的 npm 令牌,重新发布自身,并提交伪造的 Sigstore 证明。 5. 数据外泄:通过 P2P 会话网络( )进行数据外泄,以规避传统检测机制。 危害说明 凭证窃取:恶意载荷能够收集 GitHub Actions 密钥、AWS 凭证(包括 IMDS 和 Secrets Manager)、HashiCorp Vault 令牌以及 Kubernetes 服务账户凭证。 供应链污染:攻击者能够自我复制并重新发布恶意包,导致依赖该包的下游项目被感染。 隐蔽性:通过 P2P 网络进行通信,增加了检测和溯源的难度。 广泛影响:由于 TanStack 库的高流行度,大量开发者和企业项目面临凭证泄露和系统被控的风险。 IOC(入侵指标) 恶意文件哈希 (SHA256): : : 命令与控制 (C2) 域名: 伪造的 Git 作者: 基础设施域名: 攻击者账户:GitHub 账号 攻击活动名称:Mini Shai-Hulud (TeamPCP) 修复建议 1. 凭证轮换:立即轮换所有相关的 npm 令牌、GitHub 个人访问令牌 (PAT)、AWS 凭证、HashiCorp Vault 令牌以及 Kubernetes 服务账户凭证。 2. 目录审计:检查项目中是否存在异常的 和 目录,并审查其中的文件内容。 3. 提交记录审查:检查 Git 历史,查找由 提交的异常提交记录。 4. 依赖更新与验证:更新受影响的 npm 包到安全版本,并验证包的完整性(如使用 Sigstore 验证)。 5. 监控与检测:监控 P2P 网络流量及异常的外部连接,特别是针对 的通信。