LiteLLM 复盘:入侵起点是一个拿着组织所有者令牌、自动提 PR 的 agent
10 月 23 日,LiteLLM 公布了 v1.107.0 被投毒发布的完整攻击链,根因是这个月最贴合 agent 主题的一起安全事件。不是什么高明的零日漏洞,就是一个 agent 拿着人类的钥匙。复盘原文:https://docs.litellm.ai/blog/security-incident-oct-21-2026-attack-chain
关键过程是这样的。5 月 27 日,LiteLLM-Labs 一个公开仓库里提交的配置文件,带着 LiteLLM 自家 agent 平台某个部署的主密钥。这个平台是一个实验性的自托管云端 agent,会自己提 pull request。那次提交后来被 force-push 覆盖掉了,但密钥一直没吊销。而这个 agent 平台配置的是组织所有者本人的 GitHub CLI OAuth 令牌,不是服务账号,也没收窄权限。10 月 10 日,攻击者用泄露的密钥把这个令牌取了出来,拿到所有仓库的 owner 权限。复盘里特别提到,CLI 令牌会绕过 GitHub sudo 模式的 2FA 二次验证。之后攻击者又拿到更多令牌,包括两位维护者的,一次受保护分支的合并没通过审查,就直接用 owner 令牌关掉保护,推出了有问题的版本。LiteLLM 现在正在吊销所有内部和供应商系统上的全部令牌。
同一周 Railway 发布的初步事故报告,补上了这一波针对 AI 基础设施攻击的动机:这场攻击是冲着 AI 服务商的 API 密钥去的,用来做蒸馏,攻击方手里有去除安全限制的模型和不少算力。https://blog.railway.com/p/preliminary-report-october-security-incident
不舒服的地方在这里:几乎每份编程 agent 的配置教程都教你跑一下 gh auth login,然后让 agent 去开 PR。这次出事的正是这个姿势,而且发生在一个以做 AI 基础设施为生的团队身上。能提 PR 的 agent 必须有自己的身份和自己的窄权限,这样密钥泄露的时候(这件事说明一定会泄露),漏出去的只是一个能在单个仓库开草稿 PR 的机器人,别的什么都干不了。这周 1Password 和 Google 都开始卖 agent 的凭证托管,LiteLLM 刚好替它们写好了案例。
← 返回所有文章
关键过程是这样的。5 月 27 日,LiteLLM-Labs 一个公开仓库里提交的配置文件,带着 LiteLLM 自家 agent 平台某个部署的主密钥。这个平台是一个实验性的自托管云端 agent,会自己提 pull request。那次提交后来被 force-push 覆盖掉了,但密钥一直没吊销。而这个 agent 平台配置的是组织所有者本人的 GitHub CLI OAuth 令牌,不是服务账号,也没收窄权限。10 月 10 日,攻击者用泄露的密钥把这个令牌取了出来,拿到所有仓库的 owner 权限。复盘里特别提到,CLI 令牌会绕过 GitHub sudo 模式的 2FA 二次验证。之后攻击者又拿到更多令牌,包括两位维护者的,一次受保护分支的合并没通过审查,就直接用 owner 令牌关掉保护,推出了有问题的版本。LiteLLM 现在正在吊销所有内部和供应商系统上的全部令牌。
同一周 Railway 发布的初步事故报告,补上了这一波针对 AI 基础设施攻击的动机:这场攻击是冲着 AI 服务商的 API 密钥去的,用来做蒸馏,攻击方手里有去除安全限制的模型和不少算力。https://blog.railway.com/p/preliminary-report-october-security-incident
不舒服的地方在这里:几乎每份编程 agent 的配置教程都教你跑一下 gh auth login,然后让 agent 去开 PR。这次出事的正是这个姿势,而且发生在一个以做 AI 基础设施为生的团队身上。能提 PR 的 agent 必须有自己的身份和自己的窄权限,这样密钥泄露的时候(这件事说明一定会泄露),漏出去的只是一个能在单个仓库开草稿 PR 的机器人,别的什么都干不了。这周 1Password 和 Google 都开始卖 agent 的凭证托管,LiteLLM 刚好替它们写好了案例。
评论