2026 年 3 月 24 日(UTC 时间约 10:39 开始发布 1.82.7,10:52 发布 1.82.8)。攻击者使用被盗的 PyPI 发布凭证,直接往 PyPI 上传了恶意版本。GitHub 仓库里没有对应 tag 或 release,恶意代码只存在于 PyPI 的 wheel 包中。PyPI 随后将 litellm 项目临时隔离,恶意版本已被完全移除。最后干净版本是 1.82.6。

一、LiteLLM 是什么
LiteLLM 是一个开源 Python 库,同时提供 proxy 服务器功能。它把 100+ 个大模型提供商的 API 统一成 OpenAI 兼容格式。开发者不用为每个模型单独写调用代码,一套接口就能切换OpenAI、Anthropic、Gemini、Bedrock、本地 Ollama 等,还支持 fallback、费用追踪、限流等实用功能。很多 AI 应用、代理服务和框架都把它当作基础设施使用,日下载量很高。
二、攻击机制
这次是典型的 PyPI 供应链投毒。攻击者没有修改 GitHub 源码,而是直接用偷来的 PyPI token 上传恶意 wheel 包。主要区别如下:
1.82.7:恶意代码隐藏在 proxy_server.py 等文件中,import litellm 时触发。
1.82.8(更隐蔽):额外添加了 litellm_init.pth 文件。只要环境中安装了这个包,Python 启动任何进程时,.pth 文件就会自动执行恶意代码,不需要显式 import litellm。
三、恶意攻击三个方向
收集敏感信息:扫描环境变量、.env 文件、SSH 私钥、AWS/GCP/Azure 云凭证、Kubernetes token、数据库密码、Git 配置、shell 历史、加密钱包等。
加密外传:用硬编码的 RSA 公钥加密数据,打包后发送到假域名(非官方域名)。
额外行为:在 Kubernetes 集群中尝试横向移动、部署特权 pod,并可能安装持久化后门。
检测测代码:
import subprocessimport sys# 检查已安装的 litellm 版本try:result = subprocess.run([sys.executable, "-m", "pip", "show", "litellm"],capture_output=True, text=True)print(result.stdout)except:print("未安装 litellm")
LiteLLM 团队反应还算快,但维护者凭证管理、双因素、CI/CD 隔离这些基础安全措施,仍然是很多开源项目最薄弱的环节。
2026年3月编程语言排行:Python份额21.25%再创新低,C逆转C++,R与Perl双双崛起
Pandas 3.0 内存优化后,能打得过 Polars 和 DuckDB 吗?