紧急安全预警:LiteLLM 1.82.8版本遭供应链投毒,自动窃取所有凭证

5 阅读1分钟

事件概述

PyPI上的litellm==1.82.8版本wheel包被植入了恶意.pth文件(litellm_init.pth,34628字节),每次Python解释器启动时都会自动执行凭证窃取脚本,不需要你主动import litellm就会触发

这是一起严重的供应链攻击事件,恶意文件已经被列入包自身的RECORD清单中:

litellm_init.pth,sha256=ceNa7wMJnNHy1kRnNCcwJaFjWX3pORLfMh7xGL8TUjg,34628

复现方法

pip download litellm==1.82.8 --no-deps -d /tmp/check
python3 -c "
import zipfile, os
whl = '/tmp/check/' + [f for f in os.listdir('/tmp/check') if f.endswith('.whl')][0]
with zipfile.ZipFile(whl) as z:
 pth = [n for n in z.namelist() if n.endswith('.pth')]
 print('PTH files:', pth)
 for p in pth:
 print(z.read(p)[:300])
"

你会看到litellm_init.pth包含如下内容:

import os, subprocess, sys; subprocess.Popen([sys.executable, "-c", "import base64; exec(base64.b64decode('...'))"])

恶意行为分析

恶意载荷经过双重base64编码,解码后会执行以下操作:

阶段1:信息收集

脚本会从系统中窃取几乎所有敏感数据:

  • 系统信息:主机名、当前用户、系统版本、IP地址、路由表
  • 环境变量:所有环境变量(包含所有API密钥、Secret、Token)
  • SSH密钥:~/.ssh/目录下的所有密钥、配置、known_hosts
  • Git凭证:/.gitconfig、/.git-credentials
  • 云服务凭证:AWS、GCP、Azure的所有配置文件和凭证
  • Kubernetes配置:~/.kube/config和所有K8s配置文件、服务账号Token
  • Docker配置:~/.docker/config.json等
  • 包管理器配置:.npmrc、.vault-token、.netrc、数据库配置文件等
  • Shell历史:所有shell的历史记录
  • 加密货币钱包:Bitcoin、Ethereum等所有主流加密货币的钱包文件
  • SSL私钥:/etc/ssl/private/下的所有私钥、Let's Encrypt证书密钥
  • CI/CD密钥:terraform.tfvars、GitLab CI、Jenkins等配置文件
  • 数据库凭证:PostgreSQL、MySQL、Redis等配置文件
  • Webhook地址:Slack、Discord等Webhook URL

阶段2:加密和外传

  1. 收集到的数据写入临时文件
  2. 生成随机32字节AES-256会话密钥
  3. 使用AES-256-CBC加密收集到的数据
  4. AES会话密钥用硬编码的4096位RSA公钥加密
  5. 打包成tpcp.tar.gz后上传到攻击者控制的服务器:models.litellm.cloud/

注意:攻击者域名是litellm.cloud,不是官方的litellm.ai,请注意区分。

影响范围

任何通过pip安装了litellm==1.82.8的用户,所有环境变量、SSH密钥、云凭证和其他机密都已经被收集并发送到攻击者服务器。影响包括:

  • 本地开发机器
  • CI/CD流水线
  • Docker容器
  • 生产服务器

受影响版本

  • 确认受影响:litellm==1.82.8
  • 其他版本:尚未检查,攻击者可能已经攻陷了多个版本

应对措施

  1. PyPI官方:立即下架litellm 1.82.8版本
  2. 用户:立即检查site-packages目录下是否存在litellm_init.pth文件
  3. 用户立即轮换所有在安装过litellm 1.82.8的系统上存在过的凭证,包括环境变量、配置文件中的所有密钥
  4. BerriAI官方:审计PyPI发布凭证和CI/CD流水线,确认入侵点

事件时间线

  • 发现时间:2026-03-24
  • 官方更新:请关注官方issue #24518获取最新进展