LiteLLM 遭供应链攻击,投递凭证窃取器和后门
- 浏览次数 268
- 喜欢 0
据 SafeDep、Socket、StepSecurity 和 Upwind 的报告,流行的 LiteLLM Python 包在一场软件供应链攻击中遭到入侵,投递了凭证窃取器和后门。
此次入侵影响通过 PyPI wheel 和 Docker 镜像分发的 LiteLLM 1.107.0。该 Python 包随后在 Python 包索引(PyPI)上被隔离,恶意 Docker 镜像已被移除。
LiteLLM 安全总监 Oliver Jensen 表示,对事件的调查仍在进行中,其仍在努力追踪威胁行为者发布恶意版本的原始攻击向量。
"我们已确认恶意操作是通过三名工程师的 GitHub 账户进行的,似乎是通过窃取的 GitHub CLI OAuth 令牌实现的,"Jensen 表示。"威胁行为者使用一名用户的账户触发 project-releaser 运行,并使用另一名用户的账户批准它。本次攻击中涉及的所有令牌均已撤销。"
"我们尚未确定威胁行为者获取相关令牌的机制,因此尚不能断言这些 GitHub 账户不再被进一步访问。作为临时缓解措施,我们已将除一名(未受影响)用户外的所有用户从我们的 GitHub 组织中移除。"
另外,LiteLLM 表示已更新公共注册表,移除任何指向其 GitHub 组织的受信任链接,以防止进一步发布恶意软件包。
对恶意版本的分析表明,它具备收集云凭证、私钥、浏览器数据以及 AI 开发工具身份验证文件的能力。以下 wheel 受影响——
- litellm-1.107.0-cp310-abi3-macosx_10_12_x86_64.whl
- litellm-1.107.0-cp310-abi3-macosx_11_0_arm64.whl
- litellm-1.107.0-cp310-abi3-manylinux_2_28_aarch64.whl
- litellm-1.107.0-cp310-abi3-manylinux_2_28_x86_64.whl
- litellm-1.107.0-cp310-abi3-musllinux_1_2_aarch64.whl
- litellm-1.107.0-cp310-abi3-musllinux_1_2_x86_64.whl
- litellm-1.107.0-cp310-abi3-win_amd64.whl
- litellm-1.107.0.tar.gz(不含载荷文件,但含有被篡改的 pyproject.toml)
"第一个载荷是一个自称 privcollect 的凭证窃取器,"StepSecurity 表示。"第二个载荷派生一个后台守护进程,每小时检查一次 GitHub 死信箱并运行攻击者提供的任意 Python 代码。"
该恶意软件通过一个路径文件("cook.pth")在 LiteLLM 被导入之前就由 Python 启动,该文件旨在解释器启动时自动执行代码。值得注意的是,今年 3 月作为 TeamPCP 供应链攻击一部分的 LiteLLM 入侵中也观察到了相同的行为。
"cook.pth"文件包含一行"import cook",进而启动凭证收集载荷。这包括收集云令牌、开发者账户和私钥、AI 工具凭证 JSON 文件、与 Chromium 和 Firefox 相关的浏览器数据以及环境变量。
该恶意软件还能针对 LiteLLM 部署,旨在提取代理保存的凭证和模型配置。收集的数据被打包成 GZIP 压缩的 TAR 归档,并通过 HTTP POST 请求发送到"litellm[.]dev/healthcheck"。
此外,该恶意软件还设计为读取位于 GitHub 仓库("github[.]com/letters9813")中的文本文件("domain.txt")的内容,检查其中是否含有一个域名,若有则运行相同的窃取器,最后对"<domain>/codepy"发起 HTTP GET 请求并执行响应内容。该 GitHub 仓库目前返回 404 错误。
建议下载了恶意版本的用户在干净环境中撤销并替换暴露的凭证,并按摘要固定使用 1.106.2 版本。