近期,一起针对 Red Hat(红帽)开发工具的供应链攻击被曝光。超过30个 npm 包被植入新型恶意软件,专门窃取开发者的敏感凭证——包括云服务密钥、SSH 私钥、CI/CD 令牌等。受影响的包每周下载量高达 11.7万次,开发者务必警惕!

事件速览:知名厂商也“中招”
安全公司 Aikido 与 OX Security 发现,Red Hat 旗下的 @redhat-cloud-services npm 命名空间中有 32 个包、96 个版本 被暗中植入后门。这些包传播的恶意软件被命名为“Miasma”,是臭名昭著的凭证窃取木马 Shai-Hulud 的又一变种。
根据 Aikido 的遥测数据,这些“带毒”包每周大约被下载 117,000 次,潜在影响面不容小觑。

攻击手法:GitHub 账户沦陷,自动化发版沦为帮凶
攻击者首先 攻破了一名 Red Hat 员工的 GitHub 账号,随后直接向多个代码仓库推送了恶意 commit。具体操作如下:
- 植入恶意 workflow:在仓库中添加了一个 GitHub Actions 工作流,以及一个恶意脚本
_index.js。
- 滥用 OIDC 信任发布:该工作流利用 GitHub 的 OIDC(OpenID Connect)令牌,直接向 npm 官方发起“受信任发布”请求,自动将后门版本推送到 npm 仓库。
- 预安装脚本触发:受害开发者执行
npm install 时,preinstall 脚本会自动运行隐藏的 index.js(体积约4.2 MB),恶意代码随即启动。
整个过程无需攻击者持有 npm 密钥,仅凭被篡改的 GitHub Actions 权限即可完成投毒。
恶意代码能偷走什么?几乎“一切凭证”
被植入的 index.js 经过了高度混淆,其功能是全方位的凭证收割机。根据分析,它会尝试窃取:
- GitHub Actions的各类 Secrets
- AWS、Google Cloud、Azure服务主体凭证
- HashiCorp Vault令牌
- Kubernetes服务账户令牌
- npm与PyPI发布令牌
- SSH 私钥、Docker 配置、GPG 密钥
- 项目中的
.env 环境变量文件
一旦开发者的机器上存在上述任何信息,都可能被恶意脚本打包外传。
🛡️ Red Hat 官方回应:已下架,客户环境未受影响
Red Hat 在给媒体的一份声明中确认:
- 已立即从 npm 注册表中 移除所有受影响包。
- 这些包仅限于内部开发工具使用,从未通过 console.redhat.com 系统向客户发布。
- 截至目前 未发现客户、合作伙伴环境或 Red Hat 生产系统受到损害。
不过,Red Hat 并未透露账户是如何被攻破的,调查仍在进行中。
幕后黑手:Miasma 是 Shai-Hulud 的进化版
过去几个月,Shai-Hulud 恶意软件已多次用于供应链攻击,受害者包括Bitwarden、SAP、Mistral、TanStack、OpenAI、GitHub等知名项目。
今年 5 月,一个名为 TeamPCP 的威胁组织甚至公开了其“Mini Shai-Hulud”的源代码,导致大量黑客利用该框架进行二次开发。本次发现的 Miasma 在代码注释中包含了 Miasma: The Spreading Blight 字符串:
- 保留了原版的核心窃密功能
- 新增多层混淆、多阶段 Payload 下发机制
- 强化了数据窃取和凭证收集能力
截至发稿,已有 309个 GitHub 仓库被 Miasma 攻击活动波及。
✅ 开发者自查与紧急行动建议
如果你或你的团队曾安装过 @redhat-cloud-services 命名空间下的以下版本(包括但不限于各类 client 库),请 立即执行:
- 检查项目依赖:确认是否引用了受影响包(版本列表可查阅 npm 官方公告或安全厂商报告)。
- 全量轮换凭证:假设所有本地密钥、令牌、.env 文件均已泄露,立刻更换。
- 审计 CI/CD 流水线:查看是否有异常 job 执行或未知的出网流量。
- 升级到安全版本:等待 Red Hat 重新发布干净包,或临时替换为其他可信源。
资讯来源:BleepingComputer、Aikido Security、OX Security 及 Red Hat 官方声明
在后端 & 架构设计中,CI/CD管道的安全性已成为关键一环,此次事件无疑给整个社区敲响了警钟。确保流水线自身的凭证安全,与编写无漏洞的业务代码同等重要。
|