你正在使用普通网络(clearnet)。 这里列出的地址只能在 tor 网络内部打开 - 在此下载 tor 浏览器 »
AlphaBay.Market
ZH
最近检查: 8 分钟前 已收录 260 个 onion
首页 / 新闻 / 安全
23 十月 2026 安全 1 分钟阅读

LiteLLM 发布管道再度被劫持:信息窃取器伪装成 v1.107.0 登上 PyPI 和 Docker Hub

2026 年 10 月 21 日上午,一个恶意版本的 LiteLLM 登上了 PyPI,并进入了项目的官方 Docker 镜像。1.107.0 版本携带的不再是维护者编写的代码,而是一个凭据窃取器和一个远程代码加载器。根据 LiteLLM 自己的安全通告,这次失陷的是发布管道本身,攻击者利用了从项目开发者账户泄露的 GitHub 凭据。恶意 wheel 包在 PyPI 上停留了不到两小时,受污染的 Docker 标签则存续了一整个下午。在一个充满自动化构建和固定依赖的生态里,这段时间足以造成实际伤害。

干净的标签,被投毒的构建

这份披露读起来就像一份清单,说明包信任有多脆弱。LiteLLM 表示,攻击者从三个开发者账户获取了 GitHub CLI OAuth 令牌——它们显然被记录在一个暴露在互联网上的内部 LiteLLM 部署的日志中;其中一个账户属于 GitHub 组织所有者。凭借这些凭据,分支保护被绕过,一处 workflow 更改被强制推送,发布管道被指向一个仿真仓库:Berri-AI/litellm——与真正的 BerriAI/litellm 仅差一个连字符。v1.107.0 的官方 git 标签保持干净;恶意构件是从这个冒牌仓库编译出来的。
"该版本包含编译型恶意软件,会窃取凭据并加载远程代码执行工具。" —— LiteLLM 安全通告,2026 年 10 月 21 日
至少,检测是快的。正如 BleepingComputer 所报道,包括 Socket 和 Endor Labs 在内的安全公司在约六分钟内就标记了该版本,PyPI 在 13:23 UTC 前移除了 wheel 包,Docker Hub 也在当天下午完成清理。LiteLLM 表示,其私有企业版仓库的客户未受影响。但当该包每月下载量约达 9200 万次,且据 BleepingComputer 统计,NVIDIA、Netflix、Okta 等公司都在其用户之列时,六分钟仍然举足轻重。

窃取器在搜刮什么

载荷的运行机制解释了应对指引为何如此直白。wheel 包向 Python 的 site-packages 目录投放了三个文件——cook.pth、cook.py 和 sitecustomize.py。Python 在解释器每次启动时都会执行这类文件,因此机器上任何 Python 进程都会运行恶意代码,哪怕从未导入过 LiteLLM。Datadog Security Labs 的技术分析补充说,卸载 litellm 包并不会移除这些文件,必须手动删除。Kodem 的事件分析记录了这个窃取器被设计来收集的目标:
  • 云与基础设施凭据:AWS、Azure、GCP 密钥(包括实例元数据令牌),以及 Kubernetes、Docker、Terraform 机密
  • AI 专属材料:LLM 提供商 API 密钥、存于 LiteLLM 代理数据库中的凭据,以及 AI 编程工具的会话文件
  • 开发者与仓库令牌:Git 凭据,GitHub、npm、PyPI 令牌,SSH、GPG、TLS 密钥
  • 本地机密:.env 文件、环境变量、shell 与数据库历史记录
  • 浏览器数据:保存的密码、Cookie 和自动填充条目
窃得的数据用 AES-256-CBC 加密、密钥经 RSA-4096 封装,随后发送到仿真域名 litellm[.]dev,伪装成健康检查请求。第二个组件每小时轮询一个托管在 GitHub 上的指针文件以获取更多代码——实际上是一个用于远程访问工具的加载器。Kodem 的 IOC 清单还涵盖固定的 X-Token 请求头、Internet Explorer 7 用户代理,以及 /tmp 下可供防御者检索的标记文件。

一年之内第二次管道事件

这是 LiteLLM 在 2026 年第二次被投毒的版本。3 月,代号 TeamPCP 的威胁行为者在攻破项目 CI/CD 管道中的 Trivy 扫描器并窃取一个 PyPI 令牌后,在 1.82.7 和 1.82.8 版本中植入后门。Datadog 仅以目标相同来关联两起事件:两个行为者之间的关联尚未确立。令人不安的是这种模式——一个位于数千个 AI 技术栈中央、掌握着提供商密钥和云凭据的网关,在八个月内两次遭遇分发渠道被污染。

按 runbook 执行的第一小时

Kodem 为其指标配上了一份第一小时响应 runbook,而 LiteLLM 的通告同样直白。共同的核心:
  • 在包代理处封锁 litellm 1.107.0,停止部署 latest 等浮动标签,并按哈希固定最后一个干净版本 1.106.2——镜像按摘要固定
  • 在清理完成前,不要在受影响主机上运行 python 或 pip,因为解释器每次启动都会重新执行载荷
  • 隔离主机与容器,然后手动删除 cook.pth、cook.py、sitecustomize.py 及其编译出的 .pyc 文件
  • 从干净机器轮换:云角色、代理数据库中存储的提供商密钥、LiteLLM master 与 virtual 密钥、数据库密码、镜像仓库与 GitHub 令牌
  • 检查云审计日志,查找 10 月 21 日 11:39 UTC 以来的 GetCallerIdentity 调用以及来自意外基础设施的凭据使用
这个故事之所以也属于一个关注地下市场的网站,还有一层原因。窃取器的赃物不会原地不动:从开发者机器上搜刮来的云密钥、Kubernetes 机密和 AI API 密钥,正流入同一批按批发售卖浏览器 Cookie 的日志市场——也就是我们在takedown 浪潮之后的 stealer 日志市场一文中讨论过的生态。一把仍然有效的云密钥或一个已认证的会话,正是那些货架最看重的库存;而 LiteLLM 的覆盖面意味着潜在收成会波及企业,而不只是个人用户。 该包已被隔离,通告称事件已得到控制,修复指引也已发布。更耐久的教训比本周的头条更古老:像怀疑链接一样怀疑构件。按哈希固定版本,按摘要拉取镜像,把发布管道——任何人的发布管道——当作目标,而不是水电管线。对于一个以保管他人密钥为业的网关来说,管线本身就是目标。

更多笔记

全部新闻 ›