月下载量超20亿次!TeamPcp高阶蠕虫再袭npm供应链
-
作者:火绒安全
-
发布时间:2026-08-11
-
阅读量:1072
前言:
本文为火绒安全往期病毒分析报告《极速扩散!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亿次,当前病毒仍在持续扩散,危害范围极广。目前,火绒安全产品已经实现对该行为的拦截与查杀。

查杀图

一图看懂病毒迭代变化
1、流程图

流程图
2、样本分析
本文所有代码截图均为去混淆之后的状态,英文注释对应字符串解密内容。
2.1 主函数执行链
主函数执行链:初始化->C2建立->发送数据->注入与感染。

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

俄语地区规避

单例锁tmp.dpkg_14527.lock
2.3 C2建立
旧版外传方式

新版外传方式

对比后可以得知,删除Session节点,与github的deployment方式。并且主C2需要依靠区块链来二次获取。
主C2的获取方式更为隐蔽,在以往的版本中,主C2仅仅通过加密存储在文件中。这一次文件中存储的是区块链链上的合约地址。通过72个rpc节点访问区块链,如果可以则获取C2返回主域名。合约地址:0xE1f2395ee43e45A1556EC6438a88c31B83493103
主域名C2:awqhnjewqjkl.icu:443/router

链上合约地址

72种公共rpc节点

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



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

旧版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功能
2.5 其他变化
Payload变化从11种变为10种。 payload种的加密数据的rsa变化。
旧版的11种payload概括描述

新版10种payload概括描述


新版数据加密的RSA密钥的payload更改
话术由旧版IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner变更为新版IfYouBlockThisAPIKeyItWillCrashTheLiveProductionServersOfAllThirdPartyClients。
旧版对应中文:如果你撤销此令牌,它将抹除所有者电脑上的全部数据
新版对应中文:如果你封禁此API密钥,所有第三方客户端的正式生产服务器都将崩溃。

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