当前位置:首页>python>Python 启动就中招!LiteLLM 两个版本在 PyPI 被投毒,个人凭证秒泄露

Python 启动就中招!LiteLLM 两个版本在 PyPI 被投毒,个人凭证秒泄露

  • 2026-09-02 19:31:52
Python 启动就中招!LiteLLM 两个版本在 PyPI 被投毒,个人凭证秒泄露
<摘要>

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 隔离这些基础安全措施,仍然是很多开源项目最薄弱的环节。

往期回顾

Pandas 3.0 正式版来了!比你想象中更狠的两个改变

2026年3月编程语言排行:Python份额21.25%再创新低,C逆转C++,R与Perl双双崛起

Pandas 3.0 内存优化后,能打得过 Polars 和 DuckDB 吗?

Pandas3.0用Rust重写后性能暴增5倍?

最新文章

随机文章