400电话
微信咨询
加入我们
咨询时间: 9:30-18:30
400-998-3555
感谢您访问本站!我们检测到您当前使用的是 IE 浏览器。由于微软已正式终止对 IE 浏览器的技术支持,本站现已不再兼容该浏览器,可能会导致页面显示异常或功能无法使用。为了获得最佳体验,建议您:使用 Chrome、Edge、Firefox 等现代浏览器访问。
x

开发者注意!Litellm遭遇供应链攻击 火绒已可全面拦截

  • 作者:火绒安全

  • 发布时间:2026-03-25

  • 阅读量:580

火绒安全团队于2026年3月24日发现并捕获了针对Python开源组件Litellm的恶意供应链攻击事件,本次攻击通过在组件安装包中植入恶意代码实现攻击,影响范围广泛,风险等级极高。目前,火绒安全产品可对上述被污染模块进行查杀、拦截。


查杀图.png

查杀图


拦截图1.png

拦截图


拦截图2.png

拦截图




一、事件概述

表1.png



二、攻击者

TeamPCP — 同期发起了多起供应链攻击(来源:[Endor Labs](参考链接1),[Wiz](参考链接2))

- 2026-03-19: Trivy (Aqua Security) 漏洞扫描器

- 2026-03-23: Checkmarx KICS GitHub Action

- 2026-03-24: Litellm



三、影响范围

Litellm是AI基础设施的核心组件:

- 统一接口:提供100+LLM providers的OpenAI兼容接口

- API Gateway:企业级LLM代理服务

- 月下载量 ~9500 万,GitHub Stars ~4 万(来源:[GitHub](参考链接3)、[Endor Labs](参考链接4))

受影响场景(来源:[GitHub Issue #24512](参考链接5))

- 本地开发机器

- CI/CD 流水线

- Docker 容器

- 生产服务器

- Litellm Proxy 用户(风险最高):持有所有 LLM provider 的 API keys



四、恶意代码位置

1.82.7版本(来源:[Endor Labs](参考链接6))

- 文件:`litellm/proxy/proxy_server.py` 第 128-139 行

- 注入方式:12行base64混淆代码插入在REALTIME_REQUEST_SCOPE_TEMPLATE字典和showwarning函数之间

- 触发方式:import litellm 时执行

- GitHub 源码对应位置不含恶意代码,注入发生在wheel构建/发布阶段


1.82.8版本(更危险)(来源:[GitHub Issue #24512](参考链接7),[Endor Labs](参考链接8),[FutureSearch](参考链接9))

- 文件 1:litellm/proxy/proxy_server.py(同 1.82.7,payload 在第 130 行)

- 文件 2:litellm_init.pth(34,628 bytes)

- 触发方式:任何Python启动自动执行,无需import

- 绕过 GitHub release:未打tag,直发PyPI

- 附带 bug:.pth的subprocess.Popen 会触发子进程再次执行 .pth,形成指数级 fork bomb,曾导致中招机器崩溃(来源:[FutureSearch](参考链接10))



五、技术分析:三阶段攻击

Stage 1: 信息收集

目标列表(332行Python代码,来源:[Endor Labs](参考链接11))

- 系统信息:hostname, whoami, uname, IP, route

- 环境变量:printenv(所有 API keys、secrets、tokens)

- SSH keys:id_rsa, id_ed25519, id_ecdsa, id_dsa, authorized_keys, known_hosts, config

- Git 凭据:.gitconfig, .git-credentials

- 云凭证:

- AWS: ~/.aws/credentials, IMDS role credentials, Secrets Manager, SSM

- GCP: application_default_credentials.json, gcloud configs

- Azure: ~/.azure/ 目录树

- Kubernetes: ~/.kube/config, /etc/kubernetes/*.conf, 全 namespace secrets

- Docker configs:~/.docker/config.json

- 数据库:.pgpass, my.cnf, redis.conf, .mongorc.js

- 加密货币:Bitcoin (wallet.dat), Ethereum keystores, Solana validator keypairs, Cardano signing/verification keys, Litecoin, Dogecoin, Zcash, Dash, Monero, Ripple + 各币种 config 文件

- SSL/TLS 私钥:/etc/ssl/private/,Let's Encrypt .pem 和 .key 文件

- CI/CD:terraform.tfvars, .gitlab-ci.yml, Jenkinsfile, .drone.yml

- Shell 历史:bash, zsh, mysql, postgres, redis

- .env 文件:递归搜索 /home, /root, /opt, /srv, /var/www, /app, /data 等目录,深度 6 层


Stage 2: 加密与外泄

(来源:[GitHub Issue #24512](参考链接12),[Endor Labs](参考链接13))

1. 收集数据 → 临时文件

2. openssl rand → 生成 32-byte AES-256 session key

3. openssl enc -aes-256-cbc -pbkdf2 → 加密数据

4. openssl pkeyutl -encrypt → 用 RSA-4096 公钥加密 AES key

5. 打包为 tpcp.tar.gz

6. POST 到 https://models.litellm.cloud/(注意:非 litellm.ai 官方域名)


Stage 3: 持久化与横向移动

(来源:[Endor Labs](参考链接14),[FutureSearch](参考链接15))

本地持久化:

- 后门:`~/.config/sysmon/sysmon.py`

- 服务:`~/.config/systemd/user/sysmon.service`

- 显示名:"System Telemetry Service"

- C2:`https://checkmarx.zone/raw`(每 50 分钟轮询,time.sleep(3000))

- Kill switch:响应包含 "youtube.com" 则停止

- 初始延迟:5 分钟(time.sleep(300))

- 二进制路径:/tmp/pglog(伪装成 PostgreSQL 进程)


Kubernetes 横向移动:

- 检测到 /var/run/secrets/kubernetes.io/serviceaccount/token 时触发

- 枚举集群所有节点

- 每个节点创建 privileged alpine:latest pod

- Pod 名称:`node-setup-{node_name}`

- 部署到 kube-system namespace

- 请求 hostPID、hostNetwork,privileged: true

- 挂载整个 host 根文件系统到 /host

- Pod 内 chroot 到 host 并安装同样的持久化后门



六、C2 服务器

(来源:[Endor Labs](参考链接16))

表2.png



七、IOC 指标

文件(来源:[GitHub Issue #24512](参考链接17))

表3.png

持久化路径(来源:[Endor Labs](参考链接18),[FutureSearch](参考链接19))

- 本地:`~/.config/sysmon/sysmon.py` + `~/.config/systemd/user/sysmon.service`

- Kubernetes Pod 内:`/root/.config/sysmon/sysmon.py`(chroot 后安装)

- `/tmp/.pg_state`(状态文件)

- `/tmp/pglog`(C2 下载的二进制)



八、修复步骤

1. 检查

```bash
pip show litellm | grep Version
find ~/.local -name "litellm_init.pth" 2>/dev/null
find / -name "sysmon.py" 2>/dev/null
```


2. 清除

```bash
pip uninstall litellm -y
find $(python3 -c "import site; print(':'.join(site.getsitepackages()))") \
  -name "litellm_init.pth" -delete 2>/dev/null
rm -rf ~/.config/sysmon/
pip cache purge
rm -rf ~/.cache/uv
```


3. 降级

```bash
pip install litellm==1.82.6
```


4. 轮换凭据(必须)

- 所有 LLM API keys

- SSH keys

- 云服务凭据

- 数据库密码

- Kubernetes configs



九、防范建议

1. 锁定版本:`litellm>=1.82.0,<1.82.7`

2. 使用 lock文件

3. 定期审计pth文件:任何 >1KB 的 .pth 文件都可疑

4. 启用PyPI安全通知

5. 网络层拦截:阻止对 models.litellm.cloud 和 checkmarx.zone 的出站连接

6. 源码 vs wheel 比对:PyPI wheel 的 SHA256 应与源码构建产物一致


综上所述,此次攻击事件不同于常规恶意程序的单点破坏,它可直接锚定企业AI业务的核心枢纽,借助开源组件的超高普及率实现大范围触达,能批量窃取企业核心的大模型API密钥、云服务凭证、集群配置等核心资产,造成不可逆损失。同时,本次事件也暴露了当前AI开源生态中供应链安全防护的核心短板——攻击者通过安装包构建环节的代码注入,能绕过常规的源码审计,触达数千万终端与服务器,其隐蔽性、扩散性与破坏性,远高于常规网络攻击。


火绒安全在此提醒广大用户:及时更新火绒安全软件病毒库并开启实时防护,切勿使用来源不明的组件安装包;日常开发与运维中,严格锁定开源依赖的安全版本,做好依赖包的完整性校验,杜绝盲目更新未经安全审计的版本;核心业务场景需定期轮换各类密钥与凭证,落实最小权限管控,建立常态化的开源组件安全审计机制,从源头筑牢供应链攻击的防护防线。


参考资料:

参考链接1:https://www.endorlabs.com/learn/teampcp-isnt-done

参考链接2:https://www.wiz.io/blog/teampcp-attack-kics-github-action

参考链接3:https://github.com/BerriAI/litellm

参考链接4:https://www.endorlabs.com/learn/teampcp-isnt-done)

参考链接5:https://github.com/BerriAI/litellm/issues/24512

参考链接6:https://www.endorlabs.com/learn/teampcp-isnt-done

参考链接7:https://github.com/BerriAI/litellm/issues/24512

参考链接8:https://www.endorlabs.com/learn/teampcp-isnt-done

参考链接9:https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/

参考链接10:https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/

参考链接11:https://www.endorlabs.com/learn/teampcp-isnt-done

参考链接12:https://github.com/BerriAI/litellm/issues/24512

参考链接13:https://www.endorlabs.com/learn/teampcp-isnt-done

参考链接14:https://www.endorlabs.com/learn/teampcp-isnt-done

参考链接15:https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/

参考链接16:https://www.endorlabs.com/learn/teampcp-isnt-done

参考链接17:https://github.com/BerriAI/litellm/issues/24512

参考链接18:https://www.endorlabs.com/learn/teampcp-isnt-done

参考链接19:https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/



安全无忧,一键开启

全面提升您的系统防护