

Xinference(全称Xorbits Inference)是一款开源的AI模型部署与推理工具,可帮助用户简洁高效地运行和管理大语言模型、嵌入模型、图像模型、语音模型等多种AI模型,广泛应用于企业AI开发、科研实验等场景,其GitHub仓库拥有9.3K星标,PyPI仓库总下载量约68万次,用户群体覆盖各类AI研发与应用团队。而此次Xinference供应链投毒,是2026年4月被腾讯云安全中心等机构监测披露的一起高风险安全事件,核心是攻击者通过篡改该工具的供应链环节,植入恶意代码,进而窃取用户敏感信息,对使用受影响版本的企业和开发者造成严重安全威胁,属于典型的开源软件供应链木马攻击。
### 一、投毒事件核心背景与影响范围
此次投毒事件主要针对Xinference发布在PyPI(Python官方软件仓库)的三个特定版本,分别是2.6.0、2.6.1、2.6.2,这三个版本于2026年4月22日左右被攻击者上传至PyPI仓库,后经用户举报可疑行为(如发现异常的密码搜索操作),工具维护者已将这三个恶意版本从PyPI仓库撤回,目前PyPI上可用的安全版本为2.5.0及更早版本。
受影响的用户群体主要是在事件暴露窗口期内,通过pip install xinference命令安装或更新至上述三个恶意版本的开发者和企业,尤其以运行自托管AI推理的AI/ML团队为主要目标——这类团队的部署环境通常持有高价值的云服务凭证、Kubernetes令牌和模型服务相关数据,成为攻击者的重点瞄准对象。由于Xinference的广泛应用,即便三个恶意版本在线时间较短,仍对大量用户造成潜在影响,一旦触发恶意代码,可能导致敏感数据泄露、系统被入侵等严重后果。
### 二、投毒实现方式(技术细节)
攻击者主要通过入侵Xinference合法贡献者的账户(或利用自动化机器人),获得该工具的版本发布权限,进而在项目的__init__.py初始化文件中,植入经过多层Base64编码混淆的恶意载荷(恶意代码),以此实现供应链投毒,整个攻击过程具备极强的隐蔽性,具体可分为三个阶段:
1. 植入阶段:攻击者将恶意代码隐藏在__init__.py文件中,通过Base64编码进行多层混淆,伪装成正常代码,避免被常规代码检测工具发现;同时恶意代码中包含“# hacked by teampcp”标记,与威胁组织TeamPCP此前的攻击行为特征一致,但该组织已公开否认参与此次事件,推测可能是模仿者的“假旗”行动。
2. 触发阶段:用户无需额外操作,只要安装受影响版本的Xinference,或在代码中执行import xinference命令,Python解释器会自动加载__init__.py文件,此时恶意载荷会被自动解码并在内存中执行,整个过程不依赖额外文件落地,无明显异常提示,用户难以察觉。
3. 执行阶段:恶意代码执行后,会启动两阶段攻击流程:第一阶段创建临时目录,解码第二阶段的信息收集程序;第二阶段则系统性遍历主机,收集各类敏感信息,最终将收集到的信息压缩为love.tar.gz文件,通过curl命令回传至攻击者预设的C2(命令与控制)服务器,地址为whereisitat.lucyatemysuperbox.space,传输完成后自动删除临时文件,进一步销毁攻击痕迹,提升隐蔽性。
### 三、恶意代码的核心危害(窃取内容与潜在风险)
恶意代码的核心目的是窃取主机中的各类高价值敏感信息,覆盖企业经营、技术开发、数字资产等多个维度,具体窃取内容包括以下几类,对企业而言隐患极大:
1. 云服务相关凭证:包括AWS、GCP等云平台的访问密钥(AccessKey/SecretKey)、云环境配置文件,以及Kubernetes集群令牌,攻击者获取后可直接访问企业云上资产,进行数据窃取、资源滥用等操作,甚至横向渗透至企业其他云服务环境;
2. 密钥与认证信息:包括SSH私钥、GitHub、GitLab、Docker Hub等代码协作平台的Token和SSH公钥,一旦泄露,攻击者可入侵企业代码仓库、篡改项目代码,或通过SSH登录企业内部服务器,扩大攻击范围;
3. 数据库与系统信息:包括SQL、Redis、MongoDB等各类数据库的连接字符串、登录密码,以及系统环境变量、Shell历史记录,这些信息可帮助攻击者进一步掌握企业系统架构,获取核心业务数据(如客户信息、订单数据);
4. 数字资产相关:包括多种主流加密货币的本地钱包文件,攻击者可直接窃取用户的加密货币资产;
5. 潜在延伸风险:由于Xinference常部署于企业AI开发和推理环境,攻击者获取敏感信息后,可能进一步开展横向移动、持久化攻击,甚至植入勒索软件,导致企业业务中断、核心数据泄露,造成重大经济损失和品牌影响。
### 四、投毒事件的关键特点
1. 隐蔽性极强:恶意代码通过Base64多层混淆,且仅在内存中执行,不落地生成额外文件,执行后自动清理痕迹,常规的安全检测工具难以发现,用户在使用过程中无任何异常提示,易被忽视;
2. 触发门槛极低:无需用户主动执行恶意命令,仅需安装受影响版本或导入该工具,即可自动触发恶意代码执行,属于“一键触发”式攻击,覆盖面极广;
3. 针对性明确:攻击者重点瞄准持有高价值敏感信息的AI开发环境,窃取的信息均为企业和开发者的核心资产,攻击目标精准,危害程度高;
4. 无持久化机制:与部分供应链攻击不同,此次恶意代码仅专注于快速、一次性窃取敏感信息,未在主机中植入持久化后门,但其窃取的凭证信息可被攻击者长期利用,后续风险持续存在。
### 五、相关排查、修复与防护建议
针对此次供应链投毒事件,腾讯云安全、JFrog等机构已发布相关排查和修复方案,企业及开发者可按以下步骤操作,降低安全风险:
1. 快速排查受影响情况:通过以下命令检测自身使用的Xinference版本,若显示“AFFECTED”则说明处于风险中:
pip show xinference 2>/dev/null | grep -E "Version:\s*2\.6\.(0|1|2)" && echo "AFFECTED"
pip list 2>/dev/null | grep -E "xinference\s+2\.6\.(0|1|2)" && echo "AFFECTED"
同时,可在DNS解析日志、VPC Flow Log中检索恶意C2域名(whereisitat.lucyatemysuperbox.space),排查是否存在异常外连痕迹;检查SSH密钥、Shell历史、环境变量,确认是否有异常访问或操作。
2. 立即修复与清理:卸载恶意版本,降级至安全版本2.5.0,命令如下:
pip uninstall -y xinference
pip install xinference==2.5.0
同时清理pip缓存,排查并删除site-packages目录下的Xinference残留文件,避免恶意代码遗留。
3. 强制轮换相关凭证:由于受影响主机的敏感信息已可能泄露,需立即轮换所有相关凭证,包括云服务访问密钥、代码协作平台Token、数据库密码、SSH密钥等,删除旧公钥并重新生成密钥对,转移加密货币钱包资产。
4. 阻断攻击与排查横向渗透:在防火墙、主机安全、DNS层面封禁恶意C2域名及其解析IP;排查受感染主机是否存在异常内网扫描、SSH连接记录或新增计划任务,判断攻击者是否已进行横向移动。
5. 长期防护措施:在PyPI、GitHub等平台的账号上启用双重认证(2FA/MFA);使用依赖锁定和SBOM工具,定期审计开源组件安全;在CI/CD流程中优先使用锁定的、经过验证的包源或私有镜像仓库;建立常态化的开源组件安全审计机制,及时关注安全预警信息。
### 六、事件总结
此次Xinference供应链投毒事件,本质是攻击者利用开源软件的供应链漏洞,通过入侵版本发布环节植入恶意代码,实现敏感信息窃取,暴露了开源AI工具链的安全脆弱性——随着企业加速拥抱AI,类似Xinference的开源部署工具成为企业数字化基础设施的重要组成部分,其供应链安全直接关系到企业核心资产安全和业务稳定。
与传统软件漏洞攻击不同,供应链投毒无需用户主动触发,仅通过正常的软件安装、更新操作即可完成攻击,隐蔽性强、影响范围广,对企业的安全防护提出了更高要求。此次事件也提醒企业,在使用开源AI工具时,需加强版本管控、依赖审计和安全监测,建立多层次的安全防御体系,避免因供应链安全漏洞造成重大损失。目前,腾讯云等安全厂商已完成相关检测规则和防护策略更新,可帮助用户快速定位和处置风险。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。