Python开发者最近遭遇了一次精心设计的供应链攻击。安全研究人员发现,有人把团队协作工具Zulip的公开接口变成了恶意软件的"遥控器"——这种被称为ZiChatBot的恶意程序,正通过伪装成常用开发库的方式潜入开发者的电脑。
攻击始于2025年7月。攻击者在PyPI(Python官方包管理平台)上传了多个恶意软件包,名称设计得与常见开发库极为相似。不少开发者在不知情的情况下完成了安装,而这些软件包随即在后台静默释放了ZiChatBot载荷。整个过程没有触发明显的安全警报。
卡巴斯基旗下的Securelist团队通过威胁分析流程识别并命名了这一恶意软件。他们的研究确认,ZiChatBot同时针对Windows和Linux系统,具备跨平台攻击能力。更棘手的是它的通信方式:恶意程序从不连接可疑的私有服务器,而是向Zulip的公开REST接口发送HTTP请求,让攻击流量混在正常的开发者通信中。
具体操作上,ZiChatBot利用Zulip平台内的两组"频道-话题"配对。一组用于回传受感染机器的基本系统信息,另一组则接收包含shellcode的指令消息。恶意程序会在独立线程中执行这些指令,完成后还会在聊天中回复一个心形表情——攻击者用这种日常化的交互痕迹,把恶意操作伪装成普通沟通。
Windows版本的ZiChatBot是一个名为libcef.dll的动态链接库文件,通过名为vcpktsvr.exe的合法可执行程序加载。认证环节依赖嵌入HTTP请求头的API令牌完成。
卡巴斯基威胁归因引擎的一项发现让这次攻击的幕后指向更加清晰:ZiChatBot的释放器与OceanLotus APT组织此前使用的释放器存在64%的代码相似度。OceanLotus(又称APT32)是一个长期活跃的威胁组织,以往主要聚焦亚太地区目标,但近期活动显示其正在突破传统边界——中东地区的行动、以及这次通过PyPI发起的全球供应链攻击,都表明该组织正把触角伸向开发者日常依赖的公共平台。
目前,相关恶意软件包已从PyPI移除,攻击者使用的Zulip组织也被官方停用。但研究人员提醒,已被感染的系统可能仍在尝试连接已失效的Zulip端点,受波及机器的清理工作仍然紧迫。
热门跟贴