本帖最后由 火绒工程师 于 2026-8-11 16:59 编辑
前言: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 发送与感染
发送格式化迭代增加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、IOCMD5: f92ee93a0af971a3966bfa8efa9c2625 7bcf8d9f6834c44450eac145a967d2f2 区块链合约地址: 0xE1f2395ee43e45A1556EC6438a88c31B83493103 C2: awqhnjewqjkl.icu:443/router api.github.com/search/commits?q=thebeautifulmarchoftime
|