Python 生态中的 litellm 包遭遇严重级的供应链攻击,仅需执行 pip install litellm,即可导致开发者核心资产被全量窃取(含 SSH 密钥、AWS/GCP/Azure 凭证、K8s 配置、Git 凭证、所有环境变量/API Key、Shell 历史、加密钱包、SSL 私钥、CI/CD 机密及数据库密码)。
litellm 每月下载量高达 9700 万次,攻击具有传染性,任何依赖它的上层大型开源项目(如 dspy,要求 litellm>=1.64.0)都会被连带攻破。
投毒版本(1.82.8)在线上存活了不到 1 小时,其败露纯属巧合。
攻击者的恶意代码存在 Bug。Callum 在 Cursor 中使用 MCP 插件时(该插件作为隐性依赖拉取了 litellm),因为该 Bug 导致内存耗尽并死机,从而让攻击浮出水面。若非攻击者代码写得太拉胯,此后门潜伏期可能长达数周。
Karpathy 感慨:像这样的供应链攻击,基本上是现代软件领域,能想象到的最可怕的事情。
每次你安装任何依赖项时,都有可能从整个依赖树深处的某个角落,拉取到一个被投毒的包。
对于可能存在海量依赖项的大型项目来说,这种风险尤为突出。
每次攻击中被盗取的凭证,随后又能被用来接管更多账户、给更多的软件包投毒。
必须重新评估已有的观念,不要盲目引入依赖,只要功能足够简单且条件允许,不如让 LLM 把功能自己实现一下。
##