突发:XinferencePyPI遭投毒!速查

admin 2026-04-24 05:59:23 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 2026年4月22日JFrog披露PyPI官方包Xinference遭供应链投毒,恶意版本2.6.0-2.6.2被植入两阶段窃密木马,导入即自动收集主机信息、云凭证、密钥文件等敏感数据并外发。事件疑似与TeamPCP攻击团伙相关,建议受影响用户立即隔离主机、轮换密钥、清理环境,并加强依赖管理与安全检测。 综合评分: 85 文章分类: 供应链安全,漏洞预警,恶意软件,安全运营,云安全


cover_image

突发:Xinference PyPI 遭投毒!速查

微步在线研究响应中心

2026年4月23日 11:17 北京

在小说阅读器读本章

去阅读

2026 年 4 月 22 日,JFrog 安全研究团队披露PyPI 官方包 xinference 遭供应链投毒,恶意版本 2.6.0、2.6.1、2.6.2 被植入窃密木马,导入即执行恶意脚本,该脚本无持久化的快速窃取云平台和本地主机密钥信息。JFrog 安全研究团队称该事件与近期频发的TeamPCP 多生态供应链攻击同源,但TeamPCP当日发推特否认,并称该事件为模仿犯罪。

一、Xinference 项目基础信息

Xinference(Xorbits Inference) 是 Xorbits 团队开发的开源分布式 AI 模型推理框架,主打一键部署、高性能、多模型兼容,是 AI 开发与私有化大模型部署的主流工具,PyPI 周下载量达数万级。

● 核心能力:支持 LLM、多模态、TTS/STT、Embedding 等模型推理,兼容 vLLM、Transformers、llama.cpp 等后端,提供 REST API 与 OpenAI 兼容接口,支持分布式多机推理与高并发优化。

● 本次受攻击情况:攻击者劫持正版包发布权限,直接向 PyPI 上传恶意版本;恶意代码嵌入xinference/__init__.py,导入、CLI 启动、下游依赖调用均会触发执行;受影响版本已被维护者紧急下架(yanked)。

二、事件核心概况与时间线

核心信息

● 披露时间:2026 年 4 月 22 日

● 攻击目标:PyPI 正版 xinference 包

● 恶意版本:2.6.0、2.6.1、2.6.2

● 攻击团伙:疑似 TeamPCP(团伙否认,称系模仿者)

● 攻击类型:正版包劫持 + 供应链投毒

● 触发方式:包导入即执行

● 核心目的:纯窃取密钥 / 凭证 / 机密,无勒索、无后门、无远控、无持久化

关键时间线

1. 攻击者窃取维护者 / CI/CD 凭证,登录 PyPI 上传 xinference 2.6.0/2.6.1/2.6.2 恶意版本;

2. 用户发现异常行为,并在项目 GitHubissue询问开发者,项目维护者确认并紧急下架问题版本;

3. JFrog 发布技术分析报告,并确认该事件与 TeamPCP 系列攻击同源;

4. TeamPCP 通过 Twitter 否认涉案,声明系第三方冒用其标识作案。

三、技术执行流程:两阶段窃密木马详解

植入与触发

恶意代码嵌入xinference/__init__.py,导入包即触发执行,无用户交互、无明显异常,隐蔽性极强。

Stage 1:加载器与数据外发

● 内嵌 base64 编码载荷,通过subprocess.Popen启动独立 Python 后台进程,屏蔽 stdout/stderr,隐藏恶意行为;

● 解码并释放 Stage 2 收集器,执行后将结果写入临时文件,压缩为love.tar.gz;

● 通过 curl POST 上传Stage2中收集并打包压缩的窃密信息至攻击者服务器https://whereisitat.lucyatemysuperbox.space/,并携带自定义头X-QT-SR: 14;

● 执行完毕自动清理临时文件,不留痕迹。

Stage 2:主机侦察与机密收集

全面搜刮主机与云环境敏感数据,覆盖:

● 主机基础信息:hostname、whoami、ip、路由、环境变量;

● 密钥凭证:SSH 私钥、TLS 密钥(.pem/.key/.p12)、Git 凭证、AWS/Azure/GCP 云凭证;

● 配置文件:.env 系列、.npmrc/.pypirc、Docker 认证、K8s 服务账户令牌;

● 基础设施:Terraform、Helm、WireGuard 配置;

● 其他:数据库密码、加密货币钱包、本地账户数据。

AWS 专项利用逻辑

载荷内置 AWS 专属代码,尝试获取 IMDSv2 令牌、窃取 IAM 角色凭证,调用secretsmanager.ListSecrets、ssm.DescribeParameters接口,定向窃取云平台机密。

总体这个脚本窃取了主机与云环境中的敏感信息:包括用户与系统身份信息(hostname、whoami、网络与路由、环境变量)、SSH 相关密钥与配置(用户私钥、authorized_keys、/etc/ssh 主机密钥)、各类凭据文件(.env、Git/AWS/GCP/Azure/Docker/Kubernetes 配置与 token、数据库配置与口令文件、/etc/shadow 等)、CI/基础设施与证书材料(Terraform、Ansible、WireGuard、SSL/PEM/KEY)、命令历史与常见 API key/webhook 线索,以及加密货币钱包与私钥文件(Bitcoin/Ethereum/Solana 等);同时它还会主动探测云元数据服务(169.254.169.254/169.254.170.2)抓取临时云凭证并尝试枚举 AWS Secrets Manager/SSM。

四、应急处置指南

若安装 / 导入过 xinference 2.6.0–2.6.2,立即视为环境已沦陷,按以下步骤处置:

1. 隔离主机

● 隔离受影响主机,断开敏感网络连接;

● 检查出站流量与 DNS 查询,阻断到whereisitat.lucyatemysuperbox.space的访问。

2. 全量密钥轮换

轮换所有泄露风险密钥:SSH 私钥、云厂商 AK/SK、K8s 令牌、Docker 仓库凭证、PyPI/npm/Cargo 发布令牌、数据库密码、.env 密钥、TLS 证书、CI/CD 凭证、加密货币钱包助记词。

3. 日志审计

核查 AWS CloudTrail、K8s 审计日志、Git 托管日志、镜像仓库操作记录、Shell 历史与认证日志,确定泄露范围与时间窗口。

4. 清理与重建

# 卸载恶意包、清理缓存
pip uninstall xinference
pip cache purge
# 重装安全版本(2.6.0之前的安全版本)
pip install xinference==2.5.0

五、IOC

恶意包版本

● xinference==2.6.0、2.6.1、2.6.2

网络 IOC

● 域名:whereisitat.lucyatemysuperbox.space

● URL:hxxps://whereisitat.lucyatemysuperbox.space/

● 自定义 HTTP 头:X-QT-SR: 14

文件与哈希 IOC

● xinference/init.py SHA256:e1e007ce4eab7774785617179d1c01a9381ae83abfd431aae8dba6f82d3ac127

● Stage 1 解码后 SHA256:077d49fa708f498969d7cdffe701eb64675baaa4968ded9bd97a4936dd56c21c

● Stage 2 解码后 SHA256:fe17e2ea4012d07d90ecb7793c1b0593a6138d25a393192263e751660ec3cd0

● 临时归档文件:love.tar.gz

● 文本标记:# hacked by teampcp

六、事件总结与防御建议

核心结论

1. 本次 xinference 攻击是轻量化窃密变体,无持久化、无加密,更隐蔽、更难检测,以快速窃取密钥为唯一目的;

2. 正版包劫持风险远超钓鱼包,开发者对官方版本信任度高,一旦被投毒,扩散速度极快、影响范围极广。

防御建议

1. 依赖管理:固定生产环境依赖版本,避免自动升级,仅使用官方签名包;

2. 权限管控:最小化 PyPI/GitHub 维护者权限,启用双因素认证,定期轮换 CI/CD 凭证;

3. 检测防护:部署供应链安全工具,监控 PyPI 恶意版本,拦截 IOC 相关出站流量;

4. 应急响应:建立包投毒应急流程,定期开展密钥轮换与环境审计,降低攻击影响。

供应链安全已成为 AI 与云原生环境的核心薄弱点,TeamPCP 系列攻击警示开发者与企业:信任不能替代验证,每一次依赖更新都需严格校验。

参考链接:

https://research.jfrog.com/post/xinference-compromise/


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:微步在线研究响应中心 《突发:Xinference PyPI 遭投毒!速查》

评论:0   参与:  0