没用任何漏洞,25分钟拿下130亿AI平台核心代码库

没用任何漏洞,25分钟拿下130亿AI平台核心代码库

安全AI供应链DevOps

数据源:Strix 事故复盘

2026年,安全公司评估估值 130 亿美元的 AI 平台 Baseten。仅用 25 分钟,他们便拿到了内部核心代码仓库的管理员权限。这场近乎畅通无阻的入侵过程,从头到尾没有使用哪怕一个软件漏洞。

翻找公开镜像记录,摸走系统最高权限

Strix 是一家研发自主渗透代理的安全公司。决定移交数据前,他们对 Baseten 进行了不带凭证的常规扫描。侦察的起点是一个容器镜像仓库,这相当于存放软件打包文件的货柜。仓库内的一个项目向所有人完全公开。任何人无需密码就能列出文件清单,甚至申请匿名令牌下载数据。

致命的破绽印在名为「构建历史」的记录单上。Docker 打包软件时,会把每条构建命令刻在历史记录中,宛如一张带时间戳的收据。其中一步配置命令,将一个名为 GITHUB_TOKEN 的变量直接以明文展示出来。

开发者用这串令牌来代替密码,本意是为了让系统在拉取代码时更加顺畅。官方文档明确警告过构建参数会被记录。但工程师为了图方便,直接把变量写进了命令。安全规范在开发速度面前让步,行业已知的红线也被轻易跨过。

构建历史里的 token 图:Docker 构建历史里的 token 与 GitHub 返回的账号信息。来源:Strix 事故复盘

三年未换的令牌,送出核心仓库管理权

顺着这条暴露在外的线索,Strix 拿到了归属 Baseten 内部组织的活跃令牌。这串令牌赋予他们访问七个内部仓库的权限。其中三个高危区更附带管理员和推送代码最高权力。这三个节点,构成了从代码开发到客户部署的完整供应链。

产品主仓一旦沦陷,入侵者就可以悄悄在运行 AI 模型的代码里塞入恶意逻辑。GitOps 仓库是直通生产环境的高速公路。里面甚至按客户名字分类建立了子目录。分发工具链一旦被控,等同于在所有使用该工具的开发者电脑上打开了后门。

记录的时间戳停留在 2023 年 3 月 3 日。直到 2026 年 7 月被发现,这枚令牌依然畅通无阻。一枚超期服役三年的凭证,其杀伤力远超精心编写的木马程序。企业斥巨资采购防火墙拦截外部攻击。对内部常年不更新的权限却视而不见。

GitHub 返回的 token scope 图:GitHub 返回的 token scope 与所属组织。来源:Strix 事故复盘

130亿美元教训,一次本地检查就能防住

收到报告后,Baseten 的安全团队响应迅速,次日下午便轮换令牌并锁定公开项目。130 亿美元估值的公司,在阻断灾难蔓延上展现了应有的果断。凭证已泄露在构建历史中。此时修改构建文件无法收回已被下载的镜像。唯一的补救是在源头吊销它。

事故直接起因,是工程师用 git config 命令将带令牌的网址写入全局配置。规范做法是利用临时挂载加密凭证完成认证。令牌必须「阅后即焚」,绝不留在硬盘和历史记录中。

防住这种级别的凭证泄露,只需要在代码上线前,在本地运行一次简单的关键词匹配过滤。开发流程中缺失强制审查环节,低级失误就会一路畅通无阻地抵达生产环境。

系统防线溃败,源于工程师日常习惯

防御者容易放松警惕的区域,往往是被遗忘的历史角落。团队盯着核心应用和最新代码仓库。往往忘掉一个早已不在维护期的容器镜像。就算扫描了镜像的内容文件,漏查它的构建历史,那串致命令牌依然会逍遥法外。

入侵利用了三个全由人类配置的破绽。公开可读的仓库、错误记录的参数,还有三年未换的令牌。没有摧枯拉朽的未知技术,只有守门人自己敞开的大门。

AI 供应链的安全短板,往往藏在工程师最基本的配置和卫生习惯里。25 分钟拿走 130 亿公司底牌的实证,给出了最直白的安全底线。再昂贵的系统防护,也挡不住一次被省掉的排查命令。

参考链接:

  • Strix 事故复盘