近日,安全研究团队Socket披露了一起针对SAP开发者生态的严重供应链攻击。四个与SAP Cloud Application Programming Model(CAP)相关的npm包被黑客篡改,其中嵌入了专门窃取加密货币钱包、云服务凭证和SSH密钥的恶意代码。这些包每周合计下载量约57.2万次,波及范围广泛。受影响的包版本包括:mbt@1.2.48、@cap-js/db-service@2.10.1、@cap-js/postgres@2.2.2以及@cap-js/sqlite@2.2.2。
攻击细节:多层混淆与定向窃取
据Socket分析,篡改后的包预装了一个脚本,该脚本从GitHub下载并运行Bun运行时二进制文件,随后执行一个经过混淆处理的11.7MB JavaScript载荷。攻击者保留了原始SAP源文件,但额外添加了三个文件:修改后的package.json、setup.mjs和execution.js。这些文件的时间戳比真实代码晚数小时,表明压缩包是从合法源下载后遭人工篡改。Socket指出,四个包中加载脚本的字节完全相同,即使它们分属两个不同命名空间,这“强烈表明这是一次协调、自动化的注入攻击”。
恶意载荷运行后会首先检查系统语言是否为俄语,若是则立即停止。随后根据环境分支执行不同行为:若检测到CI/CD环境(通过检查GitHub Actions、CircleCI、Jenkins等25个平台变量),则进行针对性信息收集;若检测为开发者工作站,则读取超过80种不同类型的凭证文件,包括SSH私钥、AWS和Azure凭证、Kubernetes配置、npm和Docker令牌、环境变量文件,以及11个不同平台的加密货币钱包文件。此外,它还针对Claude和Kiro MCP设置等AI工具配置文件进行窃取。
该恶意载荷采用两层加密保护。关键函数__decodeScrambled()使用PBKDF2算法,通过200,000次SHA-256迭代和名为“ctf-scramble-v2”的盐值解密密钥。Socket指出,该函数命名、算法、盐值和迭代次数与之前Checkmarx和Bitwarden攻击载荷完全一致,暗示攻击者使用了相同的工具套件。Socket将此次行动标记为“TeamPCP”,并将其归入“mini-shai-hulud”活动跟踪。
供应链攻击升级:从伪造包到劫持真实包
此次SAP包遭劫持并非孤立事件。近年来,针对加密货币开发者的npm供应链攻击愈发高频且复杂。2026年3月,研究人员发现五个拼写错误的npm包窃取Solana和Ethereum开发者的私钥并发送至Telegram机器人;同年4月,ReversingLabs报告了名为“PromptMink”的活动,一个恶意包@validate-sdk/v2通过AI生成的提交记录被植入开源加密交易项目,攻击与朝鲜政府支持的Famous Chollima组织有关,专门窃取钱包凭证和系统秘密。
但与以往通过拼写相似名称诱骗安装不同,本次攻击直接攻破并篡改了SAP官方命名空间下的真实、广泛使用的包,其隐蔽性和危害性显著提升。这意味着即使开发者从官方来源安装包,也可能被植入后门。安全专家认为,攻击者可能通过窃取SAP开发者账户或利用npm发布流程漏洞实现劫持。
市场影响:开发者信任与加密资产安全面临严峻考验
此次事件对加密货币行业和云服务生态造成双重冲击。首先,对于依赖SAP CAP框架的企业和独立开发者,超过57万周下载量的包被感染,意味着大量开发者的本地环境和CI/CD管道可能已暴露敏感数据。加密货币钱包余额若被窃取,将直接导致资金损失;云凭证泄露则可能导致公有云资源被滥用或数据泄露。其次,攻击者采用了与国家级黑客工具相同的技术(如PBKDF2迭代加密),暗示攻击门槛降低,类似供应链攻击可能进一步蔓延。市场对npm生态系统安全性的信任再度受挫,尤其是在加密货币开发领域,开发者需重新审视依赖管理策略。
目前,至少有一个受影响版本@cap-js/sqlite@2.2.2已被从npm仓库下架,但其他版本仍可能处于暴露窗口。安全团队建议所有使用SAP CAP或MTA部署管线的团队立即检查锁定文件,确认是否包含上述版本。开发者若在暴露期间安装过这些包,应立即更换所有可能暴露的凭证和令牌,并审查CI/CD日志中的异常网络请求或二进制执行行为。
此次事件再次提醒行业:在开源软件供应链中,即使来自知名命名空间的包也并非绝对安全。加密货币开发者应加强多因素身份验证、密钥隔离及运行时监控,以防范类似“水坑式”攻击对数字资产构成的长期威胁。

