开源安全公司Socket披露一个名为merchant-advcash的NPM组件,其表面上声称支持Advcash支付集成,实则于付款成功时触发反向Shell,将服务器权限交由攻击者远程控制。该攻击行为未在组件安装或导入时启动,而是延迟至用户完成支付流程后才暗地执行,明确锁定实际部署于电商平台的生产环境。
反向Shell是一种常见的攻击手法,让黑客能在受害系统主动发起连接后,远程取得该系统的指令列控制权。与其从外部强行入侵,攻击者设计程序让目标服务器在特定时机自己返回黑客机器,创建一条可双向传输指令的信道。一旦连接成功,攻击者便能在背后执行任意指令、访问数据,甚至横向攻击其他系统。
Advcash常见于诸如加密货币交易、高风险投资、线上博弈等灰色市场或高风险电子商务应用网站。此NPM组件伪装成开发者集成工具,实例包括金额散列、商家验证与交易状态更新等看似正当的功能。研究人员指出,该模块在处理交易成功通知的url_success回呼函数,内置一段以Node.js撰写的即时反向Shell程序代码,使用child_process与net模块连接至IP 65.109.184.223、端口号为8443的远程主机,并将/bin/sh的标准输入与输出完整转交给该连接。
该攻击行为高度隐匿,并借由付款成功此业务逻辑节点,掩护恶意程序的执行时机,绕过常见的组件安装监测、静态扫描与CI工作管线审核。研究人员表示,其撰写手法明显异于低端垃圾组件,而是构建出一个具实际商业逻辑的服务器端集成模块,具有更高的可信度与部署机会,也更容易被企业系统采用。
研究人员认为,此种攻击方式显示出恶意行为者对目标环境的熟悉程度与技术熟练度,其目的可能是针对特定场景的交易系统进行渗透。虽然该组件目前已由NPM官方下架,但对于电商平台、第三方支付集成开发者及资讯安全团队而言,在处理支付、账务与用户操作密切相关的流程,更应注重供应链安全防护。
研究人员建议开发者导入如CLI扫描仪与GitHub拉取请求监控等机制,强化对第三方相依项目的动态与静态检查,避免单纯依赖组件描述或README等表面资讯评估其安全性。