AI 工具包被植入后门:LiteLLM 安装包为何能偷密钥
你没有调用 AI,甚至没有导入 LiteLLM,密钥也可能处在风险中。SafeDep 对 PyPI 上 LiteLLM 1.107.0 的分析,把问题指向了软件安装包和发布链路,而不是公开仓库里的代码。今天由小听与虚构嘉宾陈砚,一起拆解这条信任链。

你没有调用 AI,甚至没有导入 LiteLLM,密钥也可能处在风险中。SafeDep 对 PyPI 上 LiteLLM 1.107.0 的分析,把问题指向了软件安装包和发布链路,而不是公开仓库里的代码。今天由小听与虚构嘉宾陈砚,一起拆解这条信任链。
本文由 AI 基于 SafeDep 原文整理。嘉宾“陈砚 · 软件供应链安全研究员”为虚构人设,非真人采访;插图为艺术化示意。HN 抓取时 425 分(2026-10-22),分数会变化。采集能力、调查推断与已确认损失分别表述,不将攻击目标视为已证实泄漏。
小听: 今天这件事,最反常的是什么?
陈砚: 你可以不调用 AI,甚至不在程序里导入 LiteLLM,恶意代码也可能运行。SafeDep 的 Kunal Singh 分析发现,PyPI 上的 LiteLLM 1.107.0 发行包带有凭据窃取器和后门。七个 wheel 安装包覆盖 Linux、macOS 和 Windows,都带有植入。注意,这是特定版本的供应链事件,不是说 LiteLLM 的所有版本都恶意。
小听: LiteLLM 是做什么的,为什么值得关注?
陈砚: 它是连接不同大模型服务的工具,也可以作为模型代理。这样的软件经常出现在开发机、服务端和自动化环境里,周围可能有模型 API 密钥、云账号凭据和部署权限。供应链攻击看中的,正是一个工具能接触到多少权限,而不只是它自己的功能。
小听: 开源项目不是能看代码吗?
陈砚: 这次恰恰说明,看代码和验证安装包是两回事。报告指出,上游公开 GitHub 源码没有这些植入文件,但发布到 PyPI 的包包含它们。攻击者不一定要在大家都盯着的主分支里留下一段坏代码;发布和构建环节同样是信任链的一部分。源码可信,不能自动推出下载到的成品可信。
小听: 不导入 LiteLLM,它怎么启动?
陈砚: 安装包多出三个文件:cook.pth、cook.py 和 sitecustomize.py。前者和后者利用 Python 的正常启动机制,把窃取器和后门带起来。这里的准确边界是:在安装了这些文件的 Python 环境中,常规启动会加载它们,不需要显式导入 LiteLLM。不能夸张成这台机器上所有隔离环境、所有启动方式都一定触发。

不是等你调用 AI 才执行,而是借用了受影响环境的 Python 启动入口;画面为艺术化示意。
小听: 它要偷的只是大模型 API key 吗?
陈砚: 不止。报告列出的目标包括 SSH 密钥、云凭据、CI/CD 秘密、AI 开发工具令牌、浏览器保存的凭据,以及 LiteLLM 代理数据库里的模型服务密钥。是否能读到,仍然受进程权限、文件可访问性和配置影响。我们知道的是恶意程序的采集目标,不能把它直接说成每个用户都已经丢了所有这些资料。
小听: 偷一次就结束了吗?
陈砚: 还有后门。报告描述的后台程序每小时尝试获取指挥地址,再重复运行窃取逻辑、下载并执行后续代码。到研究者观察时,用来提供地址的 GitHub 账号和仓库已经返回 404;他们也没恢复出后续服务器地址。因此,是否下载过第二阶段代码、影响了多少用户,都不能下定论。
小听: 地址删了,包也下架了,那是不是没事了?
陈砚: 不是。下架主要阻止继续从那个版本安装;删除地址来源,只让被观察到的回连路径暂时失效。它们不会撤回已经泄漏的凭据,也不会替你删除落在环境里的启动文件或结束已有后台进程。受影响环境仍需要按安全事件处理。
小听: 是维护者账号被盗,还是 PyPI 自己出了问题?
陈砚: SafeDep 的判断是,以中到高置信度倾向于私有发布流水线从被修改过的源码构建了这些包。依据包括跨平台构建特征、正常构建工具的痕迹,以及没有公开 GitHub Actions 运行与这次发布对应。但这仍是调查推断,最终需要 BerriAI 的流水线日志确认。不能把“维护者账号被盗”或“PyPI 平台被攻破”写成已经坐实的事实。
小听: 那装过这个版本的人该做什么?
陈砚: 先隔离受影响机器或运行环境,保存必要日志和证据,避免继续在它上面使用敏感凭据。再从干净设备轮换可能暴露的密钥和令牌,重建环境,审查 CI、出站访问和账号活动。只卸载一个软件包,不足以证明机器干净。报告称 1.106.2、1.107.0rc1 和 rc2 未发现这次植入,但那不是对这些版本永久安全的担保;恢复版本要参考维护方最新通告和自身审计。

下架不等于清理完毕:在干净设备上轮换凭据,和处理受影响环境同样重要。
小听: 给普通开发者一句总结?
陈砚: AI 工具的便利来自它能连接你的模型、代码和工作环境,风险也会沿着同一条权限链放大。锁定版本、检查构建来源、验证发布产物、限制工具权限、减少开发机和 CI 里长期有效的密钥,都比只盯着仓库主分支更完整。可信源码,不等于可信安装包。
原文:Kunal Singh / SafeDep — Compromised LiteLLM 1.107.0 on PyPI Installs a Credential Stealer and Backdoor(2026-10-21)。
HN 讨论:https://news.ycombinator.com/item?id=50181114
本文截至 2026-10-22 的原文信息:1.107.0 已从 PyPI 移除;实际受影响人数、第二阶段执行情况和最终入侵根因仍未由该报告确认。安全建议是防守性整理,不替代组织的事件响应流程。