事件背景与影响
近期,软件供应链领域再次发生重大安全事件。Red Hat Cloud Services 官方维护的 32 个 npm 包被发现遭到恶意篡改,共计 96 个恶意版本被发布至 npm 仓库。从我们的应急响应经验来看,由于这些包属于官方发布渠道,其周下载量超过 11.6 万次,波及范围极广,大量开发者及企业的 CI/CD 环境面临严峻的凭据窃取风险。
攻击链深度解析
此次攻击并非简单的凭据窃取或代码注入,而是利用了 CI/CD 流程中对“信任发布”机制的过度依赖。攻击者首先通过入侵一名 Red Hat 开发者的 GitHub 账号,获取了仓库访问权限。
不同于以往通过窃取 npm 发布 Token 直接上传包的方式,攻击者选择了一条更具隐蔽性的路径:利用 GitHub Actions 的 OIDC(OpenID Connect)信任发布机制。攻击者在仓库中植入恶意提交,并修改了 ci.yaml 工作流文件,注入了经过高度混淆的 JavaScript 载荷。当 CI/CD 流程触发时,恶意脚本利用 OIDC 权限自动生成短效认证 Token,从而实现了“自动化”投毒。
这一环节是很多企业容易忽视的:即使代码仓库本身看起来没有问题,但如果构建流水线配置被篡改,恶意代码依然可以通过合法的发布渠道被推送到全球。
技术手法与 Miasma 变种
通过溯源分析发现,该攻击与近期活跃的“Mini Shai-Hulud”恶意软件家族有关,攻击者将其最新变种命名为“Miasma”。该病毒具备极强的蠕虫特性,一旦在开发环境执行,便会通过 preinstall 脚本启动一个约 4.2MB 的混淆载荷。
该载荷不仅会窃取开发者本地的 AWS、Azure、Google Cloud 等云服务密钥,还会扫描并抓取 SSH 私钥、Docker 凭据、Kubernetes 配置文件及各种 .env 文件。更为严重的是,该病毒能够利用窃取的凭据进行二次传播,将携带后门的包重新发布,从而形成恶性循环。类似攻击近年来明显增加,攻击者正利用开源的恶意软件工具包快速迭代,大幅降低了攻击门槛。
Solar 团队安全建议
针对此类供应链攻击,单纯依赖代码仓库审计已不足够。基于 Solar 应急响应团队的实战经验,我们建议企业采取以下防护措施:
- 强化 CI/CD 安全:严格限制 OIDC 和 Token 的权限范围,实施最小权限原则。对构建流水线配置文件(如
.github/workflows)的变更执行强制的多人审计制度。 - 凭据管理:严禁在代码仓库或环境变量中明文存储敏感信息。建议使用专门的密钥管理服务(KMS)或 Vault 系统,并设置短效动态凭据。
- 依赖项审计:在开发环境中引入软件成分分析(SCA)工具,对所有引入的第三方包进行合规性扫描。对于关键业务,应建立私有镜像源,对外部依赖进行严格的入库检测。
- 应急响应:一旦发现项目依赖了受影响的包,应立即视为凭据泄露,第一时间对相关环境的 API Key、SSH Key 及 CI/CD 令牌进行强制轮换。
类似攻击活动已经影响了包括 Bitwarden CLI、PyTorch Lightning 等多个知名项目,供应链安全已成为当前防御体系中最脆弱的一环。
如果您想了解勒索病毒的最新发展趋势,或在实际业务中遇到类似安全事件,欢迎关注“Solar应急响应团队”。
全国热线:400-613-6816 官网:www.solarsecurity.cn / www.sierting.com