四款与SAP云应用程序编程模型(CAP)相关的npm包被发现遭到黑客篡改,植入恶意代码以窃取开发者的加密货币钱包、云服务凭证和SSH密钥。据Socket安全团队报告,受影响版本包括:mbt@1.2.48、@cap-js/db-service@2.10.1、@cap-js/postgres@2.2.2和@cap-js/sqlite@2.2.2。这些包在SAP开发者社区中每周合计下载量约为57.2万次。
攻击细节:伪造的安装脚本与双重加密载荷
安全研究人员指出,被篡改的包预装了一个脚本,该脚本从GitHub下载并运行Bun运行时二进制文件,随后执行一个经过混淆处理的11.7MB JavaScript载荷。原始SAP源文件仍然存在,但新增了三个文件:修改后的package.json、setup.mjs和execution.js。这些文件的时间戳比真正的代码晚数小时,表明tarball在从真实源下载后被篡改。Socket将此描述为“一次协调的自动化注入攻击的强烈信号”,因为所有四个包的加载脚本字节完全相同,尽管它们属于两个不同的命名空间。
恶意载荷技术分析:避开俄语系统,窃取超80种凭证
执行时,载荷首先检查系统语言是否设置为俄语,若是则停止运行。随后根据检测到的环境分支:CI/CD环境(检查GitHub Actions、CircleCI、Jenkins等25个平台变量)或开发者工作站。在开发者计算机上,恶意软件读取超过80种不同类型的凭证文件,包括SSH私钥、AWS和Azure凭证、Kubernetes配置、npm和Docker令牌、环境文件以及11个不同平台的加密货币钱包。它还针对AI工具(如Claude和Kiro MCP设置)的配置文件。载荷采用两层加密:一个名为__decodeScrambled()的函数使用PBKDF2算法(200,000次SHA-256迭代),盐值为“ctf-scramble-v2”以获取解密密钥。该函数名称、算法、盐值和迭代次数与此前Checkmarx和Bitwarden攻击载荷相同,表明多个攻击活动使用了相同的工具集。Socket将此活动追踪为“TeamPCP”,并将其称为“mini-shai-hulud”行动。
供应链攻击持续升级:从拼写错误到直接入侵官方包
此次SAP包入侵是利用包管理器窃取数字资产凭证的系列供应链攻击中的最新一起。此前,研究人员于2026年3月发现五个仿冒npm包,从Solana和Ethereum开发者处窃取私钥并发送至Telegram机器人。4月,ReversingLabs发现名为PromptMink的攻击活动,恶意包@validate-sdk/v2通过AI生成的提交加入了开源加密货币交易项目,该攻击与朝鲜国家背景的组织Famous Chollima有关,专门窃取加密货币钱包凭证。与之前不同的是,SAP攻击的规模和手法发生了重要转变:攻击者不再创建名称相似的仿冒包,而是直接入侵了托管在SAP命名空间下的真实且广泛使用的包。这种攻击方式具有更强的隐蔽性和破坏力。
市场影响与安全建议
此次事件对SAP开发者生态和加密货币行业信任造成了直接冲击。由于这些npm包每周数十万次的下载量,大量使用SAP CAP或MTA部署管线的项目可能已暴露敏感凭证。一旦恶意代码在CI/CD环境中执行,攻击者即可获取云服务访问权限和内部密钥,甚至可能横向移动至更核心的基础设施。对加密货币市场而言,开发者钱包的私钥泄露可能导致数字资产被盗,进一步削弱开发者对开源生态的安全信心。安全研究人员建议:正在使用受影响版本的团队立即检查锁文件;在暴露窗口期间安装过这些包的开发者应更换所有可能暴露的凭证和令牌,并检查CI/CD日志中是否存在意外的网络请求或二进制执行。据悉,至少一个受影响版本(@cap-js/sqlite@2.2.2)已从npm取消发布。开发者应保持警惕,及时更新包版本并监控项目依赖的安全性。

