1. 事件背景与影响范围
LiteLLM作为当前AI基础设施领域的重要组件,近期遭遇了严重的供应链攻击事件。这次攻击的特殊性在于,黑客不仅成功污染了开源项目本身,还利用Kubernetes的容器编排特性实现了横向扩散,形成了典型的"投毒+扩散"复合型攻击链。
根据公开情报分析,攻击者首先通过伪造贡献者身份向LiteLLM项目提交了含有恶意代码的PR。由于该项目维护团队审核流程存在漏洞,恶意代码被合并到主分支并打包发布。当用户通过pip安装受污染的版本(1.0.0-1.2.0之间多个版本受影响)时,恶意负载就会在部署环境中激活。
关键发现:恶意代码会检测运行环境是否为Kubernetes集群。如果是,则自动尝试获取集群RBAC权限,并通过K8s API进行横向移动。这种针对云原生环境的自动化攻击手段,使得影响范围呈指数级扩大。
受影响用户主要包括:
- 使用官方推荐方式
pip install litellm部署的项目 - 基于受污染版本构建容器镜像的AI服务
- 在Kubernetes集群中运行LiteLLM服务的环境
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 攻击技术深度解析
2.1 供应链投毒实现方式
攻击者在代码库中植入了精心设计的恶意模块,主要利用Python的__import__钩子机制实现后门驻留。具体表现为:
python复制# 伪代码展示攻击逻辑
def malicious_import(name, *args):
if name == "kubernetes":
inject_k8s_payload() # 注入K8s攻击模块
return original_import(name, *args)
__builtins__.__import__ = malicious_import
这种手法使得任何导入kubernetes模块的操作都会触发攻击代码,而该模块在云原生环境中几乎必然会被加载。
2.2 Kubernetes横向移动技术
攻击者在获取集群访问权限后,会执行以下典型动作序列:
- 查询当前命名空间:
kubectl get ns - 寻找高权限ServiceAccount:
kubectl get serviceaccounts -A - 窃取凭据信息:
