阅读: 2
文档编号 NS-2026-0010
| TAG: | Xinference、PyPI、供应链攻击 |
| 危害程度: | 高 |
| 版本: | 1.0 |
1 事件概述
Xinference(Xorbits Inference)是一个开源的分布式AI模型推理框架,专为语言、语音识别和多模态模型的部署与管理而设计,广泛用于AI开发、研究和私有化大模型部署。
参考链接:
https://research.jfrog.com/post/xinference-compromise/
2 影响范围
受影响版本
• Xinference = 2.6.0
• Xinference = 2.6.1
• Xinference = 2.6.2
注:Xinference在PyPI仓库的总下载量已超过68万次,安装使用了上述3个恶意版本的用户受影响。
不受影响版本
• Xinference <= 2.5.0
注:请关注官方的版本发布动态,下载链接:https://github.com/xorbitsai/inference/releases
3 事件分析
事件时间线
2026年4月13日:Xinference官方发布2.5.0版本
2026年4月22日:攻击者在PyPI发布3个恶意版本,有用户报告可疑行为
2026年4月22日:JFrog发布分析报告,TeamPCP声明称第三方冒用其名义作案
2026年4月23日:绿盟科技CERT发布事件预警
此次攻击者针对Xinference的供应链投毒应为通过获取Xinference维护人员的PyPI权限凭证实现,其在项目的__init__.py模块文件中植入了经过多层Base64编码的恶意代码,当用户安装受影响的xinference库或执行import xinference时,Python解释器会加载__init__.py,其中的恶意载荷会自动解码并在内存中执行;解码后的载荷注释开头有# hacked by teampcp标识,可能与近期TeamPCP入侵事件中出现的参与者标记有关,但TeamPCP通过社交账号否认实施本次攻击并称为第三方蓄意模仿作案。有用户发现异常行为后在项目GitHub issue进行询问,Xinference维护者确认并紧急下架了相关恶意版本。
恶意版本行为
Xinference 3个恶意版本中的__init__.py在Python中导入时会执行代码,创建名为“test”的变量和包含base64编码的有效载荷,并对其进行解码和传入subprocess.Popen执行:
Stage1
1、创建临时目录;
2、对第二阶段收集器进行解码并派生一个分离的子Python解释器进程
3、将子进程的标准输出写入临时文件并压缩成love.tar.gz
4、使用curl命令携带自定义HTTP头X-QT-SR: 14将收集的数据上传至攻击者服务器https://whereisitat.lucyatemysuperbox.space
5、进行异常处理、抑制stdout/stderr以及清理临时文件从而实现隐蔽性
Stage2
1、获取目标主机的当前用户、设备、IP 地址、网络接口、环境变量和 SSH 密钥等信息
2、提取配置文件:.env、.npmrc/.pypirc、AWS、Kubernetes、Google Cloud、Docker、数据库配置
3、收集密钥凭证:SSH密钥、SSL证书、Git 凭证、AWS/Azure/GCP云凭证、Slack密钥、Discord密钥Slack密钥、Discord密钥、数据库密码
4、获取基础设施:Terraform、Helm、WireGuard配置
5、其他信息:shell历史记录、加密货币钱包、本地账户数据
AWS特有利用行为
主动探测云元数据服务169.254.169.254/169.254.170.2,检索IMDSv2令牌及IAM角色凭证,抓取临时云凭证并尝试调用Secrets Manager和SSM获取云环境中的敏感信息。

木马执行流程(图源ox.security)
4 风险排查
相关用户可根据下列步骤进行排查:
pip show xinference | grep Version
2、如果为恶意版本,立即降至安全版本:
pip install xinference==2.5.0 -y
pip cache purge
#检查site-packages下的xinference目录是否有残留:
python -c “import site; print(site.getsitepackages())”
find <上述 site-packages 路径> -path “*xinference*” 2>/dev/null
若发现残留文件,需递归删除整个xinference目录及关联egg-info;同时检查~/.xinference/配置目录是否被篡改,清空其内容并重建权限。最后验证pip list输出中无xinference条目,运行python -c “import xinference”应报ImportError,确保彻底清除。
审查服务器登录日志与敏感文件,检查是否有异常登录和后门遗留:
ls -la ~/.ssh/id_rsa ~/.ssh/authorized_keys 2>/dev/null
#检查shell历史记录中是否存在异常的curl / wget / base64解码命令:
grep -E “curl|wget|base64” ~/.bash_history ~/.zsh_history 2>/dev/null
#检查环境变量中是否有敏感信息:
env | grep -E “SECRET|TOKEN|PASSWORD|KEY”
5 总结与建议
建议受影响的用户可采取下列措施进行处理:
1、撤销并轮换所有的SSH密钥、云服务凭证、API Key、证书密钥、k8s令牌、数据库密码、加密货币钱包等凭证;
2、封禁并排查恶意IoC
3、对PyPI和GitHub等平台账号开启双因素验证并定期轮换凭据
4、搭建内部私有PyPI镜像,安全扫描验证签名后再同步
5、建立常态化开源组件安全审计机制,增加发布前的多重审批流程
6、订阅PyPI安全警报、GitHub Security Advisories等进行供应链监控
恶意文件
文件名:xinference-2.6.0.tar.gz
MD5:971670c10eff28339a085ca50a600e35
文件名:xinference-2.6.0-py3-none-any.whl
MD5:3ee893ae46530b92e0d26435fb979d82
文件名:xinference-2.6.1.tar.gz
MD5:9b3257e45b27a6bbe4e240e41a3a306f
文件名:xinference-2.6.1-py3-none-any.whl
MD5:e291734d46c313a23d676681499f8846
文件名:xinference-2.6.2.tar.gz
MD5:484067fd6232f7cdd7b664b33857fc2c
文件名:xinference-2.6.2-py3-none-any.whl
MD5:c6ce4e25f7fe3e3bb1eea2e9052483bf
文件名:xinference/__init__.py
SHA256:
e1e007ce4eab7774785617179d1c01a9381ae83abfd431aae8dba6f82d3ac127
一次解码后SHA256:
077d49fa708f498969d7cdffe701eb64675baaa4968ded9bd97a4936dd56c21c
二次解码后SHA256:
fe17e2ea4012d07d90ecb7793c1b0593a6138d25a393192263e751660ec3cd0
临时存档文件:love.tar.gz
文本标记字符串:# hacked by teampcp
恶意域名
whereisitat.lucyatemysuperbox.space
恶意URL
hxxps://whereisitat.lucyatemysuperbox.space
其他
HTTP头:X-QT-SR: 14
最后的宣传彩蛋:
绿盟科技CERT日常监控国内外上百家主流软件厂商、数十家安全论坛与漏洞社区,结合每日应急安全事件和私域运营进行情报生产,并根据情报评级、PoC披露情况、产品使用流行度、实际利用价值、网空资产测绘数据等多个维度进行综合评估,及时推送最新重大安全漏洞情况及安全事件给客户,整合公司的研究、产品、服务等能力,针对突发性威胁制定可落地的安全防护方案,在威胁事件爆发之前协助客户及时发现问题,采取相关防护措施,保护用户信息系统安全,提升企业应对威胁的能力。
凭据泄露监测服务:
近年来,攻击者经常会通过购买或各种手段获取目标用户的登录凭据,进而突破系统入口开展后续攻击,目前主要被用于加密勒索等高威胁场景。为帮助客户能够快速识别自身敏感凭据的泄露风险,绿盟科技特此推出凭据泄露监测服务。此服务以SaaS方式提供,通过7×24小时持续监测数十万数据泄露渠道,结合AI驱动的数据关联分析,当检测到与客户相关的凭据泄露风险后,及时向客户进行预警。
注:对上述服务感兴趣的客户可通过联系绿盟当地区域同事或发送邮件至[email protected]咨询交流。
绿盟科技应急响应中心(NSFOCUS CERT)致力于为客户提供及时、专业、高效的情报预警与应急服务,针对高危漏洞与安全事件进行快速响应,提供可落地的解决方案。
END
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。