据安全公司Socket最新报告,四款与SAP Cloud Application Programming Model (CAP) 相关的npm包遭到篡改,攻击者植入了窃取加密货币钱包、云凭证和SSH密钥的恶意代码。受影响包版本包括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 payload。原始SAP源文件仍然存在,但额外新增了三个文件:修改后的package.json、setup.mjs和execution.js。这些文件的时间戳比真实代码晚几个小时,表明tarballs在从真实源下载后被修改。
Socket将此称为“协调的自动化注入活动”,因为所有四个包中的加载脚本字节完全相同,尽管它们属于两个不同的命名空间。当payload运行时,它会检查系统语言是否设置为俄语,若是则停止执行。随后,它根据是否检测到CI/CD环境(通过检查25种平台变量,如GitHub Actions、CircleCI、Jenkins等)或开发者工作站进行分支操作。
在开发者计算机上,恶意软件读取超过80种不同类型的凭证文件,包括SSH私钥、AWS和Azure凭证、Kubernetes配置、npm和Docker令牌、环境文件,以及来自11个不同平台的加密货币钱包。此外,它还针对AI工具(如Claude和Kiro MCP设置)的配置文件下手。payload采用两层加密:一个名为__decodeScrambled()的函数使用PBKDF2算法,经过200,000次SHA-256迭代和名为“ctf-scramble-v2”的盐值来解密密钥。值得注意的是,函数名、算法、盐值和迭代次数与之前Checkmarx和Bitwarden payload中使用的完全相同,这表明同一套工具正在多个活动中被复用。
持续威胁:针对加密开发者的供应链攻击
SAP包遭入侵是近期一系列利用包管理器窃取数字资产凭证的供应链攻击中的最新一例。据Cryptopolitan此前报道,2026年3月研究人员发现5个typosquatted npm包窃取了Solana和Ethereum开发者的私钥,并通过Telegram机器人外传。一个月后,ReversingLabs发现了名为PromptMink的活动,其中恶意包@validate-sdk/v2通过AI生成的提交被添加到一个开源加密货币交易项目中。该攻击与朝鲜国家支持的黑客组织Famous Chollima有关,专门针对加密钱包凭证和系统机密。
与本次SAP攻击相比,之前的手法多为创建与合法包名称相似的伪造包。而SAP攻击则直接攻陷了真实且广泛使用的、存储在SAP命名空间下的包。这种攻击方式的危害性更大,因为它绕过了开发者的警惕心理,直接利用信任链传播恶意代码。
市场影响与安全建议
此次事件对加密货币行业和SAP开发者社区敲响了警钟。虽然加密货币市场尚未出现因本次攻击导致的直接大规模资产失窃报道,但潜在风险不容忽视。开发者手中的私钥、云凭证一旦泄露,可能引发连锁反应:不仅个人持有的加密资产面临被盗风险,企业级基础设施(如AWS、Azure)的暴露更可能导致大规模数据泄露或挖矿劫持。对于依赖SAP CAP框架的企业而言,内部开发环境中的钱包和凭证被窃取,可能影响其区块链或DeFi相关项目的安全部署。
安全研究人员建议,使用SAP CAP或MTA部署管道的团队应立即检查lockfiles,确认是否包含受影响版本。在此期间安装过这些包的开发者,应更换所有可能在构建环境中暴露的凭证和令牌,并检查CI/CD日志中是否有异常网络请求或二进制执行。据观察,至少一个受影响版本@cap-js/sqlite@2.2.2已从npm下架,但其他版本可能仍存在。
Socket正以“TeamPCP”的名义监控相关活动,并为此类攻击创建了独立的跟踪页面,命名为“mini-shai-hulud”活动。这再次表明,针对加密货币开发者的供应链攻击正在成为常态,防御者需提高警惕,加强依赖项审计和实时监控。

