
一、事件背景概述
近期,网络安全研究人员监测发现,从2025年7月开始,Python官方软件包仓库PyPI平台陆续被上架了多款恶意wheel安装包。这类恶意程序包表面能够正常实现项目页面标注的对应功能,背地里却会暗中植入恶意文件,最终落地一款从未公开曝光的全新木马家族,研究人员将其命名为ZiChatBot。
该木马具备跨平台攻击特性,可在Windows系统中释放DLL程序文件,在Linux系统中投放SO共享库文件。相较于传统木马,ZiChatBot不再依托专属C2服务器进行指令通信,而是直接利用开源聊天工具Zulip的RESTAPI接口作为被控通信基础设施,隐蔽性大幅提升。攻击者还采用伪装依赖的方式规避检测,刻意搭建一款看似正常无害的软件包,把含毒恶意包设置为其依赖组件,进一步隐匿攻击链路。经研判,这是一次策划周密、流程完整的PyPI开源软件供应链攻击活动。
攻击者共计在PyPI平台注册三个项目并上传恶意wheel包,均仿冒市面主流正规第三方库,以此诱导开发者误下载安装。三款恶意包分别为:伪装成UUID随机字符串生成工具的uuid32-utils、实现跨平台终端彩色文字输出的colorinal,以及提供终端ANSI色彩格式渲染的termncolor。三款恶意包集中在2025年7月16日至22日一周内批量上架。其中uuid32-utils与colorinal的植入链路、恶意载荷高度相近;termncolor自身代码无明显恶意行为,却通过引入colorinal作为依赖实现恶意加载,进一步拉长攻击隐匿链条。在被平台下架处置前,三款恶意包的累计下载量分别达到1479次、614次与387次。
二、事件分析过程
研究人员选取colorinal恶意库作为典型样本,对本次攻击的感染机制开展了深度技术拆解。在Windows环境下,只要安装uuid32-utils或colorinal任一恶意包,内置恶意代码就会释放名为terminate.dll的加载器并写入本地磁盘。当项目引入该库时,DLL文件会自动加载运行,充当ZiChatBot木马的下发载体执行后续恶意行为;同时在系统注册表写入自启动配置,运行完成后还会自动清除自身痕迹。
在Linux环境中,程序会释放terminate.so共享对象文件,将木马程序植入/tmp/obsHub/obs-check-update目录,并通过配置定时任务crontab实现持久化驻留。无论部署在哪种操作系统,ZiChatBot均可解析从命令控制端下发的Shellcode并执行系统指令。每完成一次命令执行,木马都会回传爱心表情符号,以此向控制端反馈任务执行状态。
本次攻击最具代表性的技术特点,是恶意程序对Zulip协作工具的非常规滥用。Zulip是主流开源聊天协作平台,对外开放标准REST API接口。ZiChatBot摒弃了APT攻击惯用的自建域名、私有信道等传统C2架构,直接挪用Zulip公开API搭建命令控制通道。木马通过调用Zulip接口拉取攻击者下发的指令与Shellcode,执行后以特定表情回执完成交互确认。攻击者依托Zulip正规业务属性与企业广泛部署的现状,木马产生的网络流量和正常办公业务流量高度混淆,传统网络监测设备很难识别并拦截恶意通信。由此可见,攻击者深谙企业现有网络防御体系规则,具备极强的免杀对抗与隐蔽攻击技术功底。
除流量高度隐蔽外,ZiChatBot还具备完整跨平台攻击能力。经核查,这批上传至PyPI的恶意包,编译适配Windows X86、X64架构以及Linux x86_64架构,可同时针对Windows、Linux两大主流操作系统发起入侵。跨平台的架构适配设计,也大幅拓宽了本次供应链攻击的受害覆盖面。
三、攻击活动归因分析
在溯源归因层面,研究人员通过深度分析发现本次攻击所用的程序释放器,与APT32(OceanLotus)组织过往使用的同类组件相似度达64%,据此研判这批PyPI恶意软件包和该组织过往披露的恶意程序存在关联。
APT32组织也被称为海莲花、OceanLotus、SeaLotus、APT-C-00等名称,普遍认为其关联越南相关部门。该组织的网络活动最早可追溯至2012年,自2015年被公开曝光后始终保持活跃,长期以政府机关、科研机构、海事航运、金融投资等关键领域为高价值目标,持续开展网络间谍渗透活动。
这并非APT32组织首次利用开发者工具链和开源公共平台实施供应链攻击。研究人员梳理发现,2024年末,该组织就曾伪造Visual Studio Code插件,伪装成Cobalt Strike相关扩展进行投毒,针对国内网络安全社群发起定向攻击。受害者编译项目时,恶意代码便会自动触发并下放木马程序,当时恶意程序选用Notion笔记服务作为命令控制通道,和本次借用Zulip接口搭建C2信道的技术思路如出一辙。这也能看出,APT32组织在保留传统鱼叉钓鱼邮件这类初始入侵手段的同时,正持续拓展供应链攻击等新型入侵路径。本次针对PyPI软件包仓库的攻击,标志着该组织战术策略的进一步升级:将攻击链路前置至软件开发源头,通过污染开发者日常依赖的开源软件仓库,实现单点投毒、批量侵染下游使用者的效果,核心目的在于大幅拓宽攻击范围,同时提升整体渗透攻击的效率。
四、事件影响与启示
此次安全事件对软件供应链安全形成了直接且严峻的现实威胁。PyPI作为全球Python开发者最核心的第三方软件包仓库,每日承载海量开发者与企业用户的使用需求。攻击者仿冒主流常用类库名称,并借助软件包依赖嵌套机制隐藏恶意代码,导致安全防范意识薄弱的开发者在安装看似正规的程序包时,无意间成为整个攻击链路的突破口。
一旦开发环境遭到入侵,ZiChatBot便可通过Zulip聊天工具通信通道接收攻击者下发的任意指令,进而引发内网横向渗透、源码数据窃取、业务系统账号凭证泄露等一系列高危安全后果。加之该木马可适配Linux服务器环境,对企业后端业务系统及云基础设施构成的安全威胁进一步放大。
从溯源研判与安全检测的视角来看,本次攻击折射出国家级APT组织战术发展的新趋势:以往依赖自建命令控制服务器、定制化后门程序的传统攻击模式,正逐步转向依托合法第三方公共服务搭建隐蔽C2信道的新型打法。Zulip、Notion这类普及度极高的企业协作平台,现已成为攻击者青睐的命令控制载体,也让传统依靠IP黑名单、域名信誉库、固定流量特征的检测防护手段基本失效。
对防守方来说,仅靠单一特征,比如识别Zulip接口流量、排查PyPI包内可疑文件,已经很难精准判定APT攻击行为。这就要求企业安全团队构建复合型行为分析能力,把开发环境软件包审计、终端异常进程监控、与公共服务平台的异常通信行为研判等维度,统一纳入常态化威胁狩猎体系中。
参考链接:
https://securelist.com/oceanlotus-suspected-pypi-zichatbot-campaign/119603/
往期推荐
LockBit勒索组织发布声明并重建泄露网站——每周威胁情报动态第166期(2.23-2.29)
GoldFactory组织开发针对iOS系统的GoldPickaxe木马病毒——每周威胁情报动态第165期(2.9-2.22)
新APT组织APT-LY-1009针对亚美尼亚政府投递VenomRAT——每周威胁情报动态第164期(02.02-02.07)
夜雨聆风