乐于分享
好东西不私藏

安全工具被入侵,引发大规模AI供应链投毒

安全工具被入侵,引发大规模AI供应链投毒

3月24日,微步情报局监测到AI核心组件LiteLLM遭遇大规模供应链投毒,PyPI仓库1.82.7和1.82.8两个版本包含攻击者植入的后门。

尽管46分钟恶意版本就被移除,但鉴于其单日300万+次、单月近亿次的下载量,仍对下游数千个AI项目造成极大影响。公开报道显示,攻击者TeamPCP声称已窃取数十万台设备的数据。此次事件基本脉络如下(UTC时间):

  • 2月底——攻击者入侵开源漏扫工具Trivy,植入恶意代码

  • 3月中上旬——LiteLLM CI/CD流水线使用恶意Trivy版本,致使PyPI凭证失窃

  • 3月24日10:39——攻击者利用PyPI凭证,上传完成两个包含后门的LiteLLM版本

  • 3月24日11:25——恶意版本1.82.7和1.82.8被官方移除,存活46分钟

经过进一步研判,恶意代码主要在Linux平台运行,Windows/macOS几乎不受影响。

一、概述

事件概述

LiteLLM供应链投毒,窃取凭证等高价值数据

涉及产品

LiteLLM(月下载量约9700万次)

影响版本

1.82.7 和 1.82.8,已被移除,安全版本为 1.82.6

发现时间

2026年3月24日(UTC时间10:39 – 11:25)

攻击者

黑客组织 TeamPCP

事件根因

LiteLLM的CI/CD流水线使用了已被入侵的Trivy工具,导致发布权限泄露

事件危害

SSH密钥、云服务凭据(AWS/GCP/Azure)、Kubernetes机密、CI/CD令牌、加密钱包等被窃取

二、供应链分析

litellm供应链投毒主要影响1.82.7和1.82.8两个版本。

在1.82.7版本中,恶意攻击者将一段base64编码后的恶意代码加入到proxy\proxy_server.py文件中,一旦导入litellm项目中的proxy库,便启动执行该恶意代码。在proxy_server.py文件中存在三个版本,后面两个被注释的恶意编码经过分析后,与非注释恶意编码功能及通信完全相同,只是在加密方式上略有差异。

在1.82.8版本中,不但包含这种恶意代码注入,还增加了恶意的litellm_init.pth,利用 .pth文件在python运行时启动的特性进行隐匿执行。

经过代码对比,.pth文件中的恶意编码与proxy_server.py文件的非注释的恶意编码完全一致,因此主要分析以.pth文件中的恶意编码为主。

恶意编码比较简单,首先会从失陷主机窃取大量敏感数据信息,然后下载持久化脚本维持持久化,然后上传打包的敏感信息。

值得注意的是,恶意攻击者将路径设置为Linux常用目录,并未针对Windows及macOS,目前只有Linux系统受到影响。

获取系统信息、printenv环境变量、SSH密钥、Git凭证。

获取AWS凭证、GCP凭证、Azure凭据、Kubernetes密钥、GCP凭证、Azure凭据。

获取Docker配置信息、常见包管理、WireGuard key、CI/CD 密钥、数据库凭证。

获取Shell历史记录、加密钱包、CI/CD 密钥和Webhook信息。

通过通信获取AWS凭证等。

使用kubernetes节点下载恶意脚本保存为sysmon.py。

恶意脚本解码如下,主要访问checkmarx.zone/raw下载文件,读取其中的链接来执行二阶段脚本下载

但是当前链接已被恶意攻击者导向非恶意网站,无法继续执行下载。

后续会设置增加sysmon.service来持久化运行下载到的脚本,该脚本保存为/host/root/.config/sysmon/sysmon.py

在收集大量敏感信息后写入临时文件后,加密打包生成tpcp.tar.gz文件,然后上传到models.litellm.cloud,官方网站为litellm.ai。可以看出攻击者特地申请相似域名来进行指向性投毒,这种相似域名避免引起流量关注。

其中对数据进行加密的公钥在三个版本一直没有改变。

另外在前两个版本中使用了RC4来加密执行脚本,其中的密钥内容为nigger,说明攻击者带有一定的黑人歧视倾向,可能与种族主义有关。

三、排查方式

1.重点在linux环境下通过python命令(pip show litellm),排查是否安装litellm的1.82.7/1.82.投毒版本,若显示版本为这两种,立即停止该服务并卸载以及对失陷机器进行断网处理。

2.针对网络通信部分,拦截models.litellm.cloud以及checkmarx.zone的域名通信。

3.排查是否存在/tmp/pglog或者/tmp/.pg_state以及/host/root/.config/sysmon/sysmon.py和tpcp.tar.gz文件以及其他python库中与litellm_init.pth的sha256一致的pth文件,如果存在,则删除该文件。另外排查是否新增非工作相关的sysmon.service,如果有,则删除该服务。

4.建议交给专业人员进行分析失陷机器是否存在其他未知风险。

四、检测方案

微步终端安全管理平台OneSEC已支持对恶意代码的精确检测,建议受影响用户及时关注数据外传和敏感文件访问等终端日志。

此外,微威胁感知平台TDP、威胁防御系统OneSIG、互联网安全接入平台OneDNS、云沙箱S、沙箱分析平台OneSandbox等,均支持对相关IOC的检测与拦截。

五、IOC

IOC

说明

d2a0d5f564628773b6af7b9c11f6b86531a875bd2d186d7081ab62748a800ebb

litellm-1.82.8.whl

71e35aef03099cd1f2d6446734273025a163597de93912df321ef118bf135238

litellm_init.pth

a0d229be8efcb2f9135e2ad55ba275b76ddcfeb55fa4370e0a522a5bdee0120b

proxy_server.py

8395c3268d5c5dbae1c7c6d4bb3c318c752ba4608cfcd90eb97ffb94a910eac2

litellm-1.82.7.whl

models.litellm.cloud

敏感信息上传

checkmarx.zone

下载持久化脚本

-END-