LiteLLM 供应链投毒震动 AI 基础设施:恶意 .pth 启动文件波及 2500+ 企业、43.4 万 CI/CD 流水线

事件概述

2026 年 8 月,攻击者通过入侵 Aqua Security 旗下开源漏洞扫描器 Trivy 的发布流水线,将含恶意代码的 Trivy 包投递到 LiteLLM 的构建环境,LiteLLM 构建流程未锁定经过哈希校验的依赖版本,导致被污染的代码在 8 月 12 日发布至 PyPI 的 LiteLLM 1.82.7 与 1.82.8 两个版本中。CloudSEK 将该活动归属于 TeamPCP,并指出在两个版本约 40 分钟的暴露窗口内,可能有多达 2500 个组织与 43.4 万次 CI/CD 流水线运行接触过该恶意包。被窃凭据长期有效的风险使短期事件升级为跨组织应急响应。

技术细节

LiteLLM 1.82.8 在安装时会植入 .pth 文件作为 Python 启动钩子,这意味着只要进程再次启动 Python 解释器,恶意代码无需应用显式 import 即可执行。载荷 CloudSEK 命名为 SANDCLOCK,会在 CI/CD Runner 上尝试提权并搜索 SSH 密钥、云凭据、Kubernetes 令牌、环境文件、进程内存中的秘密以及 LLM API 密钥与网关设置。窃取后的数据先被加密再外送至攻击者控制的仿冒域名;外送失败时,载荷会在受害者的 GitHub 账户下创建公开仓库,并以 Release Asset 形式上传数据,使外送行为更难被网络层检测。

影响范围

CloudSEK 重构的数据集关联出的潜在受影响组织包括 NVIDIA、AWS、Samsung、Cisco、Salesforce、Siemens、FedEx、Volkswagen、Zscaler、伦敦证券交易所集团等。需要强调的是,这是按暴露路径的高置信度关联,并非对每家公司均确认存在数据外送或指令执行。但被窃凭据可能在包下架后仍长期有效,触发对受影响环境的凭据轮换是必要的即时反应。Trivy 与 LiteLLM 之外,存在第三家工具也通过同一未撤销的发布令牌接入同一攻击链,使单一凭据泄漏转化为生态级别的暴露。

延伸观察

从治理角度看,本事件延续了 LiteLLM 团队 7 月 23 日披露的 TeamPCP 初次活动,但本次把 Trivy 直接列入攻击链并借助 .pth 启动钩子绕过了传统的”导入型”检测范式。报告作者认为 AI 控制平面本身已经成为高价值节点:模型网关、编排器与 SDK 都同时承担了数据、身份与算力的访问聚合。对企业而言,单一凭据泄漏造成的扩散面已经能够跨多个项目和上下游业务范围,需要把”AI 工具供应链”与传统开源软件供应链作为同等优先级审视,包含依赖固定哈希、构建前 SBOM 验证、CI Runner 出向白名单等基线动作。

修复与检测建议

  • 立即识别生产环境中 LiteLLM 1.82.7 与 1.82.8 的安装位置,将相关 Runner、主机、容器镜像与缓存隔离。
  • 对受影响进程可访问的全部凭据执行轮换,包括云密钥、代码仓库令牌、容器注册表密钥、Kubernetes Service Account 与 LLM API 密钥;轮换必须先于进一步调查完成,避免给攻击者保留二次利用窗口。
  • 审查 CI/CD 日志、容器注册表日志、Kubernetes 审计日志与源码仓库活动,搜索异常 Token 使用、新建 Service Account、可疑出向连接与意外仓库。
  • 将依赖、GitHub Actions、镜像 tag 锁定到经哈希校验的版本,避免流水线再次被上游污染包替换。
  • 在 EDR/SIEM 中对 .pth 启动钩子、GitHub 账户下预期外仓库 Release Asset 上传、非业务域名加密出向流量添加专项检测。

参考来源