供应链攻击永无眠:SAPCAP&CloudMTAnpm供应链攻击事件报告

admin 2026-05-01 05:38:49 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 这是一起针对SAPCAP和CloudMTA生态的npm供应链攻击事件。攻击者通过劫持官方维护的npm包,在预安装阶段注入恶意脚本,最终执行高度混淆的凭证窃取框架。攻击主要窃取GitHub、AWS、Azure等云凭证,并通过GitHub死投方式外传数据。报告提供了详细的IOC指标和立即缓解建议,包括审计依赖、轮换凭证和使用SCA工具加强防护。 综合评分: 89 文章分类: 供应链安全,漏洞预警,威胁情报,恶意软件,WEB安全


cover_image

供应链攻击永无眠:SAP CAP & Cloud MTA npm 供应链攻击事件报告

原创

威胁情报中心 威胁情报中心

奇安信威胁情报中心

2026年4月29日 22:40 四川

在小说阅读器读本章

去阅读

事件概述

这是一起针对 SAP CAP(Cloud Application Programming Model)和 Cloud MTA(Multi-Target Application)生态的精准 npm 供应链攻击。攻击者通过劫持/污染 SAP 官方维护的 npm 包,在安装阶段(preinstall 钩子)注入恶意引导程序,最终执行一个 11.7 MB 的高度混淆凭证窃取与自传播框架。 影响范围集中在开发者本地环境和 CI/CD 流水线(GitHub Actions、云凭证等),属于“中小规模但高影响”攻击(Aikido 原话)。

事件时间线

  • • 2026年4月29日 UTC 上午–中午:恶意版本陆续发布。
  • • 同日下午:Socket Security 率先在 X 上公开警报(用户提供的推文)。
  • • 同日下午:Aikido Security 发布博客,提供完整技术拆解、IOCs 和检测工具。 事件仍在快速发展中,npm 官方已 unpublish 部分恶意版本(尤其是 @cap-js/[email protected])。

受影响包及影响范围

| 包名称 | 恶意版本 | 每周下载量(约) | 用途 | | — | — | — | — | | mbt | 1.2.48 | 52,000 | SAP Cloud MTA 构建工具 | | @cap-js/sqlite | 2.2.2 | 250,000 | CAP 本地 SQLite 集成(最常用) | | @cap-js/postgres | 2.2.2 | 10,000 | CAP PostgreSQL 集成 | | @cap-js/db-service | 2.10.1 | 260,000 | CAP 数据库服务核心 |

这些包是 SAP BTP 开发者、CAP Node.js 项目、MTA 部署流水线 的核心依赖。任何在 4 月 29 日暴露窗口内执行 npm install 的环境均可能感染。

攻击技术细节(Socket + Aikido 整合)

  • • 入口:恶意版本在 package.json 中新增 "preinstall": "node setup.mjs" 脚本(此前这些 SAP 官方包从未使用 preinstall)。

  • • 第一阶段(setup.mjs):Bun 运行时引导程序。

  • • 检测 OS/架构 → 从 GitHub Releases 下载 Bun v1.3.13 ZIP(未经验证 HTTP 下载)。

  • • 解压并立即执行 execution.js

  • • 第二阶段(execution.js):11.7 MB 混淆 payload(使用 ctf-scramble-v2 字符串混淆)。

  • • 行为特征:

  • • 检测 CI 环境 → 非 CI 机器上 daemonize(后台驻留)。

  • • 跳过俄罗斯 locale(可能规避特定沙箱)。

  • • 凭证窃取(极全面):

  • • GitHub token(gh auth token

  • • npm token(~/.npmrc

  • • AWS(STS、Secrets Manager、SSM)

  • • Azure(订阅、Key Vault)

  • • GCP(项目身份、Secret Manager)

  • • Kubernetes service account token

  • • 本地工具配置(Claude AI、MCP、Signal、Electrum、VPN 等)

  • • GitHub Actions runner 上通过嵌入式 Python 内存 dump 提取 secrets

  • • 数据外传:使用 AES-256-GCM + RSA 加密,通过 GitHub 死投(commit messages / public repos) 外传(伪装成 “chore: update dependencies” 提交,作者显示为 [email protected])。

  • • 自传播:修改 package tarballs、注入 GitHub workflows,关键词 “OhNoWhatsGoingOnWithGitHub” 和 “A Mini Shai-Hulud has Appeared”。

关键 IOCs(Aikido 提供)

  • • 文件:setup.mjs(SHA256: 4066781fa830224c8bbcc3aa005a396657f9c8f9016f9a64ad44a9d7f5f45e34
  • • 文件:execution.js(SHA256: 6f933d00b7d05678eb43c90963a80b8947c4ae6830182f89df31da9f568fea95
  • • 字符串:A Mini Shai-Hulud has AppearedOhNoWhatsGoingOnWithGitHubctf-scramble-v2tmp.987654321.lock
  • • GitHub 搜索关键词:OhNoWhatsGoingOnWithGitHub(commits)或仓库描述含 “A Mini Shai-Hulud has Appeared”
  • • Bun 下载域名:github.com/oven-sh/bun/releases/download/bun-v1.3.13/

威胁归因及与 Shai-Hulud 的关联

Aikido 将其明确归类为 Mini Shai-Hulud,与 2025 年 Shai-Hulud V1(chalk/debug 等 18 个包)和 V2(自传播蠕虫)手法高度一致(install-time 执行 + 凭证窃取 + GitHub 传播)。本次规模更小(仅 4 个包),但 payload 更成熟、专业化,针对企业开发者/CI 环境优化。暂无公开威胁演员归因,但手法与此前 Axios、TeamPCP 等北韩相关活动有相似性。

立即缓解与检测建议(优先级最高

  1. 1. 审计
  • • npm ls mbt @cap-js/sqlite @cap-js/postgres @cap-js/db-service
  • • 搜索项目中 setup.mjsexecution.jspreinstall 脚本
  1. 2. 清理
  • • 删除 node_modules + lockfile → npm ci --ignore-scripts 或切换 pnpm
  • • 检查 4月29日构建日志(Bun 下载、PowerShell 执行)
  1. 3. 响应
  • • 立即轮换所有 GitHub、npm、云凭证、Kubernetes token
  • • GitHub 搜索上述关键词,检查可疑 commits / repos

4. 长期防护

  • • 使用 Aikido Safe Chain / Socket.dev / StepSecurity 等 SCA 工具
  • • CI 中强制 --ignore-scripts
  • • 监控 SAP Security Patch Day + npm unpublish 公告

Aikido 评估:虽然包数量少,但因目标是 SAP 开发者/CI 环境,“潜在影响极高”。

此事件再次证明 npm 供应链攻击已成为常态,尤其针对企业框架如 SAP CAP。Socket 负责快速警报,Aikido 提供了目前最完整的 payload 逆向和 IOC 列表。

参考链接

[1].https://www.aikido.dev/blog/mini-shai-hulud-has-appeared [2].https://x.com/SocketSecurity/status/2049479949644374507

点击阅读原文至ALPHA 9.3

即刻助力威胁研判


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:奇安信威胁情报中心 威胁情报中心 威胁情报中心《供应链攻击永无眠:SAP CAP & Cloud MTA npm 供应链攻击事件报告》

评论:0   参与:  0