概述
黑客组织TeamPCP将代号为Mini Shai-Hulud的供应链攻击蠕虫完整源码以MIT协议公开托管于GitHub,这一举动在安全社区引发震动。研究人员分析发现,该恶意程序内置精密的「死手开关」机制——若受害开发者在未彻底清除残留文件的情况下直接吊销被盗凭证,蠕虫将立即触发不可逆的数据毁灭程序。
核心威胁机制
据Wiz安全团队分析,Mini Shai-Hulud在macOS和Linux系统后台静默安装守护进程,以每分钟频率持续检测被盗GitHub及云服务凭证的有效性。一旦服务器返回认证失败响应(即受害者已完成凭证轮换),蠕虫即判定自身暴露,随即调用系统底层shred命令对当前用户主目录下的所有可写文件进行多次覆写粉碎。
这意味着传统的安全响应策略——发现凭证泄露后立即吊销密钥——反而成为激活数据毁灭的开关,迫使安全团队必须先彻底清除恶意进程才能安全更换凭证。
攻击规模与影响范围
安全研究人员确认,该蠕虫已成功渗透超过170个npm和PyPI软件包,涵盖数百个版本。TanStack生态是此次攻击的重灾区:2026年5月11日,攻击者在仅6分钟的攻击窗口内(UTC 19:20-19:26),通过劫持TanStack合法发布管道,在42个@tanstack/*包中植入84个恶意版本。其中@tanstack/react-router每周下载量高达1270万次。
受影响企业还包括UiPath、Mistral AI、OpenSearch等知名项目。研究人员还发现,新变种"Shai-Hulud: Here We Go Again"将窃取的凭证加密后上传至受害者GitHub账户下新建的私有仓库,已确认379个此类仓库被创建。
攻击技术细节
StepSecurity分析指出,攻击者滥用GitHub Actions的pull_request_target工作流触发机制,当外部贡献者提交Pull Request时,该工作流会在拥有写权限的仓库上下文中执行。攻击者通过构造恶意Pull Request注入代码,进而劫持整个发布流程。核心载荷router_init.js大小达2.3MB,经过高度混淆,可从GitHub Actions运行程序的进程内存中读取所有密钥,从100多个文件路径窃取云服务商凭证、加密货币钱包、AI开发工具和通讯应用的访问令牌。
开源化与社区影响
攻击者通过名为PedroTortoriello的GitHub账号公开源码并嘲讽「开源这场杀戮」,甚至有第三方贡献者为恶意软件提交FreeBSD支持补丁。这一行为使攻击技术得以快速扩散,尽管微软已紧急封禁该账号并删除所有关联仓库及Fork分支,但源码已在其他渠道流传。
应对建议
安全专家建议,受害开发者应首先使用专业恶意软件清理工具彻底根除蠕虫进程,确认系统无残留威胁后,方可安全地轮换所有受影响的凭证。同时建议开启GitHub的凭证强认证机制,检查账户下是否存在可疑新建仓库,并审查OAuth应用授权列表。