Python 库 litellm 供应链投毒事件研究报告

一、事件概述

近期,Python 库litellm(一款用于统一调用多家大模型 API 的工具,GitHub 星数超 4 万,月下载量超 9500 万次)遭遇严重供应链投毒攻击。攻击者在其 PyPI 仓库的1.82.71.82.8版本中植入恶意代码,可窃取用户机器上的 SSH 密钥、云服务凭证(如 AWS、GCP)、Kubernetes 密钥、数据库密码、加密货币钱包、.env文件及 Shell 操作历史等敏感信息,并通过 AES 加密、RSA 封装后发送至攻击者控制的域名。

二、攻击技术细节

(一)恶意功能模块

  1. 信息窃取
    • SSH 密钥与云凭证:窃取 AWS、GCP、Azure 等云服务的 SSH 密钥和云凭证。
    • Kubernetes 密钥:收集 Kubernetes 所有命名空间的Secret
    • 敏感文件与操作记录:获取.env文件、数据库密码、加密货币钱包、SSL 私钥、CI/CD 密钥及 Shell 操作历史。
  2. 隐蔽执行1.82.8版本中,攻击者利用 Python 的.pth文件机制(位于site-packages目录下的.pth文件会在 Python 解释器启动时自动执行),实现无需import库、无需调用函数即可在后台静默触发窃取操作。
  3. 数据加密与外发窃取的所有数据经 AES 加密、RSA 公钥封装后,发送至攻击者控制的仿冒域名models.litellm.cloud

(二)攻击链传导

Python 库 litellm 供应链投毒事件研究报告

攻击者组织TeamPCP在 5 天内横跨 5 个生态系统(GitHub Actions、DockerHub、NPM、OpenVSX、PyPI),通过以下步骤实施攻击:

  1. 先攻破安全工具Trivy,获取其 CI/CD 流水线凭证。
  2. 利用上述凭证窃取litellm的 PyPI 发布令牌。
  3. 向 PyPI 推送带毒版本1.82.71.82.8

三、事件影响

(一)影响范围

  • 直接影响:安装litellm 1.82.71.82.8版本的用户,其敏感信息面临泄露风险。
  • 间接影响:litellm被 2000 多个 Python 包依赖,且存在于 36% 的云环境中,依赖链深处的用户可能在不知情的情况下受影响。

(二)发现契机

此次攻击因攻击者代码中的ForkBomb漏洞被意外发现 —— 恶意代码触发无限创建 Python 子进程,导致机器内存被撑爆,从而暴露了攻击行为。

四、应对与防范建议

(一)紧急处置(针对已安装受影响版本的用户)

  1. 立即检查litellm版本,若为1.82.71.82.8,需假设所有敏感凭证已泄露。
  2. 轮换所有 SSH 密钥、云服务凭证、数据库密码等敏感信息。
  3. 审查受影响环境中发布的所有产物,从已知安全的镜像重建系统。若涉及 Kubernetes,需排查横向扩散风险。

(二)长期防范

  1. 依赖管理
    • 锁定依赖版本,使用版本号 “等于” 而非 “大于等于” 进行依赖声明。
    • 审计完整依赖链,而非仅关注直接引入的包。
  2. CI/CD 安全:最小化 CI/CD 环境权限,避免赋予构建流水线超出必要的权限。
  3. 开发理念:参考 Karpathy 的建议,优先选择大模型直接生成简单功能代码,减少对未知依赖的引入,重新评估依赖的安全风险成本。

原创文章,作者:产品大法师VIP Plus,如若转载,请注明出处:https://www.pmtemple.com/python/18366/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
产品研究院深度研究报告:AI编程狂热下的行业乱象——降本增效幻象与系统性危机
上一篇 3天前
生死警钟!国产大模型的“蒸馏投毒”陷阱:我们正在用抄袭,养肥一场数字特洛伊战争
下一篇 13小时前

相关推荐

发表回复

登录后才能评论
微信公众号
微信公众号
edgesensor_high 小程序
小程序
分享本页
返回顶部