如果贵公司有连接 GPT、Claude 或 Gemini 等模型的 AI 应用、聊天机器人或内部工具,今天请向技术团队提一个问题:2026 年 10 月 21 日,是否有任何服务器、笔记本电脑或构建流水线安装了 LiteLLM 1.107.0 版本?这个版本由攻击者发布,在 PyPI 上存在了大约两个小时,即利雅得时间 14:39 至 16:23,下载量约 49,000 次。它会窃取云密钥、AI 服务商密钥、数据库密码和 SSH 密钥。如果答案是肯定的,仅卸载是不够的:请从干净的镜像重建机器,并更换它能访问的所有密钥。安全版本是 1.106.2。

到底发生了什么?

LiteLLM 是一个开源库和网关,让一个应用通过统一接口与数十个 AI 模型对话,因此许多公司把它放在 AI 产品的核心位置。据 Chainguard 称,它在过去一个月里在 PyPI 上的下载量超过 1 亿次,另有超过 2,000 个软件包依赖它,所以许多团队在不知情的情况下安装了它。

根据 LiteLLM 的官方事件报告,攻击者获取了泄露到项目日志中的 GitHub 访问令牌。10 月 21 日 UTC 时间 10:08,他们利用一个具有特权的开发者凭据绕过分支保护,并修改发布流程,使其从一个名称相似的仓库构建:用「Berri-AI/litellm」代替「BerriAI/litellm」。UTC 时间 11:39,恶意文件上传到 PyPI;UTC 时间 11:46,带有 v1.107.0、latest、main-latest 和 main-stable 标签的被污染 Docker 镜像发布。PyPI 在 UTC 时间 13:23 前删除了该版本,Docker 标签在 UTC 时间 14:20 清理完毕,即利雅得时间 17:20。

这是该项目今年第二次遭到攻击。Chainguard 指出,2026 年 3 月曾有一个团伙使用被盗的 PyPI 令牌发布了 1.82.7 和 1.82.8 版本。

恶意版本会窃取什么?

危险之处在于,它不会等待你的应用使用 LiteLLM。该版本添加了 Python 启动文件,每次该机器上启动 Python 时都会运行,即使执行的是毫不相关的命令。根据 Wiz 的分析,窃取程序收集了:

  • 来自配置文件、环境变量和服务器元数据的 AWS、Google Cloud 和 Azure 云密钥。
  • OpenAI、Anthropic、Cohere 等 AI 服务商的 API 密钥,也就是你的账单和你的数据。
  • SSH 私钥、命令行历史,以及浏览器中保存的密码和 Cookie。
  • LiteLLM Proxy 数据库中存储的最多 500 个服务商凭据。

攻击者没有坐等。Wiz 观察到,被盗的 AWS 凭据在被窃取约 4.5 小时后就从构建服务器和 Kubernetes 节点上被测试使用。恶意软件还安装了一个每小时获取远程代码的第二阶段程序,因此即使删除了软件包,机器仍然处于被控制状态。

我的公司受影响了吗?

如果你的团队固定精确版本,并且在 10 月 21 日利雅得时间 14:39 至 17:20 之间没有进行任何更新,那么你很可能没有受到影响。如果存在以下任一情况,则可能受到影响:

  • 某台服务器或容器在未固定版本的情况下运行「pip install litellm」,或拉取 Docker 的「latest」标签。
  • 某条 CI/CD 流水线在那天下午重新构建过。
  • 某位开发者当天在笔记本电脑上试用过 LiteLLM。
  • 你的系统使用了另一个依赖 LiteLLM 的软件包。

LiteLLM 表示,其私有 Enterprise 版本的客户未受影响。

今天就要采取的五个步骤

  • 搜索:在锁定文件、构建日志和容器镜像中查找 1.107.0 版本,并在 Python 包目录中查找 cook.pth 和 sitecustomize.py 文件。
  • 重建:如果找到了,不要只是卸载。官方报告警告,在受感染的环境中运行 pip 可能再次触发恶意软件。请从干净的镜像重建机器或容器。
  • 更换所有密钥:包括该机器能访问的云密钥和角色、AI 服务商密钥、数据库密码和 SSH 密钥。请假定它们已落入攻击者手中。
  • 审查日志:检查自 10 月 21 日以来的云端活动,查找 GetCallerIdentity 等异常调用,并留意 AI 服务商账单中是否有你不认识的消费。
  • 固定版本:安装 litellm==1.106.2 或之后的官方修复版本,并用锁定文件固定每个库,而不是自动拉取「latest」。

如果你读过我们之前关于 AI 智能体代码中被遗忘的密钥 的文章,就会发现这是同一个教训的另一面:AI 密钥如今已是公司最有价值的机密之一,而它们集中存放的地方就会成为攻击目标。

Origami 的观点

这次并没有人入侵 LiteLLM 的代码本身。攻击者改变的是它的构建和发布方式,所以仅审查源代码是发现不了问题的。因此,保护 AI 产品与其说取决于选择哪个库,不如说取决于如何运营它:固定版本、每个环境使用独立且权限最小化的密钥、在每个 AI 服务商处设置消费上限,并清楚记录谁可以访问什么。在 Origami 为企业构建 AI 系统时,我们把模型网关视为系统中最敏感的部分,因为它掌握着所有的密钥。如果你希望针对此次事件检查贵公司的 AI 应用,或重新梳理其密钥和权限,请 联系我们。

来源