LiteLLM遭供应链攻击,泄露凭证,引发依赖安全担忧
软件恐怖故事:litellm PyPI 供应链攻击。
只需 `pip install litellm` 就能泄露 SSH 密钥、AWS/GCP/Azure 凭据、Kubernetes 配置、git 凭据、环境变量(你所有的 API 密钥)、Shell 历史、加密钱包、SSL 私钥、CI/CD 密钥、数据库密码。
LiteLLM 本身每月有 9700 万次下载,这已经很糟糕了,但更糟的是,污染会蔓延到任何依赖 litellm 的项目。例如,如果你 `pip install dspy`(它依赖于 litellm>=1.64.0),你也会被黑。其他依赖 litellm 的大型项目也是如此。
据我所知,被投毒版本只存在了不到约 1 小时。攻击存在一个 bug 导致其被发现——Callum McMahon 在 Cursor 中使用了一个 MCP 插件,该插件将 litellm 作为传递依赖引入。当 litellm 1.82.8 安装时,他的机器内存耗尽并崩溃。所以如果攻击者没有 vibe code 这个攻击,它可能几天甚至几周都不会被发现。
像这样的供应链攻击基本上是现代软件中最可怕的事情。每次你安装任何依赖,都可能在其整个依赖树深处拉入一个被投毒的包。对于可能拥有大量依赖的大型项目来说,这尤其危险。每次攻击中被盗的凭据随后可用于接管更多账户并入侵更多包。
经典软件工程会让你相信依赖是好的(我们正在用砖块建造金字塔),但我认为这必须重新评估,这也是我越来越厌恶依赖的原因,更喜欢在足够简单且可能的情况下使用 LLM 来“夺取”功能。
只需 `pip install litellm` 就能泄露 SSH 密钥、AWS/GCP/Azure 凭据、Kubernetes 配置、git 凭据、环境变量(你所有的 API 密钥)、Shell 历史、加密钱包、SSL 私钥、CI/CD 密钥、数据库密码。
LiteLLM 本身每月有 9700 万次下载,这已经很糟糕了,但更糟的是,污染会蔓延到任何依赖 litellm 的项目。例如,如果你 `pip install dspy`(它依赖于 litellm>=1.64.0),你也会被黑。其他依赖 litellm 的大型项目也是如此。
据我所知,被投毒版本只存在了不到约 1 小时。攻击存在一个 bug 导致其被发现——Callum McMahon 在 Cursor 中使用了一个 MCP 插件,该插件将 litellm 作为传递依赖引入。当 litellm 1.82.8 安装时,他的机器内存耗尽并崩溃。所以如果攻击者没有 vibe code 这个攻击,它可能几天甚至几周都不会被发现。
像这样的供应链攻击基本上是现代软件中最可怕的事情。每次你安装任何依赖,都可能在其整个依赖树深处拉入一个被投毒的包。对于可能拥有大量依赖的大型项目来说,这尤其危险。每次攻击中被盗的凭据随后可用于接管更多账户并入侵更多包。
经典软件工程会让你相信依赖是好的(我们正在用砖块建造金字塔),但我认为这必须重新评估,这也是我越来越厌恶依赖的原因,更喜欢在足够简单且可能的情况下使用 LLM 来“夺取”功能。
LiteLLM 已被入侵,请勿更新。我们刚刚发现 LiteLLM pypi 版本 1.82.8。它已被入侵,包含 litellm_init.pth,其中包含 base64 编码的指令,用于将所有能找到的凭据发送到远程服务器 + 自我复制。链接如下