400电话
微信咨询
加入我们
咨询时间: 9:30-18:30
400-998-3555
感谢您访问本站!我们检测到您当前使用的是 IE 浏览器。由于微软已正式终止对 IE 浏览器的技术支持,本站现已不再兼容该浏览器,可能会导致页面显示异常或功能无法使用。为了获得最佳体验,建议您:使用 Chrome、Edge、Firefox 等现代浏览器访问。
x

月下载量超20亿次!TeamPcp高阶蠕虫再袭npm供应链

  • 作者:火绒安全

  • 发布时间:2026-08-11

  • 阅读量:1064

前言:

本文为火绒安全往期病毒分析报告《极速扩散!TeamPcp组织利用高阶蠕虫大规模入侵开发者生态-技术文章-火绒安全》续作,重点聚焦该病毒本次迭代的全新变化,未改动的基础机制、核心原理可参考前作内容。


近日,火绒安全实验室在网络安全监测过程中发现新一轮高危npm供应链投毒攻击,经火绒安全工程师分析确认,该攻击仍由TeamPcp组织发起,与此前披露的攻击事件相比《供应链威胁持续发酵:Shai-Hulud出新变种绕过npm防护窃密-技术文章-火绒安全》,本次攻击所使用的Shai-Hulud蠕虫恶意代码已完成全方面升级,隐蔽性与危害性均大幅提升。

2026年8月5日,缓存类核心npm包维护者GitHub账号遭入侵,keyv(1.27亿周下载)、flat-cache(5.65亿月下载)、file-entry-cache(5.57亿月下载)等多款高人气开源组件被批量植入恶意程序。目前已确认超868个软件包、1381个版本遭感染,相关包月度总下载量突破20亿次,当前病毒仍在持续扩散,危害范围极广。目前,火绒安全产品已经实现对该行为的拦截与查杀。


查杀图.png

查杀图


一图看懂病毒迭代变化.png

一图看懂病毒迭代变化



1、流程图


流程图.png

流程图



2、样本分析

本文所有代码截图均为去混淆之后的状态,英文注释对应字符串解密内容。

2.1 主函数执行链

主函数执行链:初始化->C2建立->发送数据->注入与感染。


主函数执行链.png

主函数执行链


2.2 执行初始化

执行初始化中的变化是,在原版基础上新增通过github api访问地区来综合判断地区是否为俄罗斯或者白俄罗斯地区。以及单例锁的名称修改为tmp.dpkg_14527.lock。其余信号注册以及环境检测不变。


俄语地区规避.png

俄语地区规避


单例锁tmp.dpkg_14527.lock.png

单例锁tmp.dpkg_14527.lock


2.3 C2建立

旧版外传方式

旧版外传方式.png


新版外传方式

新版外传方式.png


对比后可以得知,删除Session节点,与github的deployment方式。并且主C2需要依靠区块链来二次获取。

主C2的获取方式更为隐蔽,在以往的版本中,主C2仅仅通过加密存储在文件中。这一次文件中存储的是区块链链上的合约地址。通过72个rpc节点访问区块链,如果可以则获取C2返回主域名。合约地址:0xE1f2395ee43e45A1556EC6438a88c31B83493103

主域名C2:awqhnjewqjkl.icu:443/router


链上合约地址.png

链上合约地址


72种公共rpc节点.png

72种公共rpc节点


测试结果(测试时间至2026-8-10日有效).png

测试结果(测试时间至2026-8-10日有效)


表1.png

表2.png

表3.png

2.4 发送与感染

感染与旧版无差别,详细可参考《极速扩散!TeamPcp组织利用高阶蠕虫大规模入侵开发者生态-技术文章-火绒安全》的 2.5章节。


旧版2.5章节.png

旧版2.5章节


发送格式化迭代增加uuid字段,并且RSA从2048变为4096.增加了加密的难度,以及新增了服务端rce后门功能。


旧版发送格式封装

{
"envelope": "base64(iv + AES-GCM-ciphertext + authTag)",
"key": "base64(RSA-OAEP-encrypted-AES-key)"
}


新版发送格式封装

{
  "envelope": "base64(iv[12] + AES-GCM-ciphertext + authTag[16])",
  "key":      "base64(RSA-4096-OAEP-encrypted AES-key)",
  "uuid":     "random-uuid"    // ← 进化版新增服务客户端校验使用
}


新版新增服务端RCE功能.png

新版新增服务端RCE功能


2.5 其他变化

Payload变化从11种变为10种。 payload种的加密数据的rsa变化。


旧版的11种payload概括描述

旧版的11种payload概括描述.png


新版10种payload概括描述

新版10种payload概括描述.png



新版数据加密的RSA密钥的payload更改.png

新版数据加密的RSA密钥的payload更改


话术由旧版IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner变更为新版IfYouBlockThisAPIKeyItWillCrashTheLiveProductionServersOfAllThirdPartyClients。


旧版对应中文:如果你撤销此令牌,它将抹除所有者电脑上的全部数据

新版对应中文:如果你封禁此API密钥,所有第三方客户端的正式生产服务器都将崩溃。


Token威胁话术变更.png

Token威胁话术变更



3、总结与解决方案

综上所述,供应链投毒攻击通过迂回手段、利用终端用户系统漏洞实施入侵,污染软件开发、分发、运行的上游供应链环节,使恶意代码依附于正规软件或组件,顺势侵入众多下游业务系统。


火绒安全在此提醒广大用户:

普通开发者/个人用户

及时核查项目内opensearch相关依赖包版本;不使用破解程序、来路不明的安装包,引入第三方组件前核验漏洞补丁;全程开启安全防护工具,严格管控账号凭证权限,降低供应链投毒入侵风险。除使用火绒安全软件进行查杀以外,用户也可手动排查:检索opensearch/*目录文件,检查package.json是否出现指定可疑字段判断感染情况。


"optionalDependencies": {
  "@opensearch/setup": "github:opensearch-project/opensearch-js#d446803f4c3bc116263faa3499a1d3f95b2825de"}


企业运维人员
针对本次蠕虫批量调用多类RPC节点动态拉取C2地址的特殊传播手段,可增设进程监测规则:捕捉Node.js启动短时间内频繁解析大量不同RPC服务商域名的异常行为(常规业务仅调用1-4个RPC节点即可),文中附带的72个样本专用RPC节点清单,供各大企业构造检测方案。



4、IOC

MD5:

f92ee93a0af971a3966bfa8efa9c2625

7bcf8d9f6834c44450eac145a967d2f2

区块链合约地址:

0xE1f2395ee43e45A1556EC6438a88c31B83493103

C2:

awqhnjewqjkl.icu:443/router

api.github.com/search/commits?q=thebeautifulmarchoftime


安全无忧,一键开启

全面提升您的系统防护