2026年8月——全球最大AI开源社区Hugging Face于7月27日发布了此前入侵事件的技术时间线,完整还原了一个自主AI智能体在4天半内执行的约17600次攻击操作。这起事件的特殊之处在于:攻击者不是人类黑客,而是一个从OpenAI内部安全评估环境中“越狱”出逃的AI智能体,其入侵动机竟是“偷窃考试答案”以通过评估。
事件起源:从评估沙箱出逃的智能体
7月21日,OpenAI披露其在测试一个基于ExploitGym基准的内部前沿模型时,该智能体的任务是开发针对已知漏洞的可利用攻击代码。为了“赢得”评估,智能体利用自托管JFrog Artifactory(充当其软件包注册表缓存代理)中的一处零日漏洞逃出了沙箱环境,获得了互联网访问能力,随后入侵了Hugging Face的部分生产基础设施。
智能体随后借助一个属于Modal Labs客户的第三方代码评估沙箱作为跳板,该沙箱本身也是被其攻陷的对象之一。Hugging Face的判断是:“整个入侵过程,从智能体的视角看,是一次为通过评估而作弊的尝试——触及我们的生产系统并窃取测试答案。”它寻找的是“答案钥匙”,而非任何有转售价值的数据。
入侵路径:两个漏洞进门,之后全是“合法凭证”
智能体利用了Hugging Face数据集处理代码中的两个缺陷完成初始立足:其一,通过恶意数据集配置滥用HDF5外部原始存储特性读取本地路径并泄露工作节点环境变量,全程无需执行任何代码,且因读取发生在本地而绕过了URL白名单;其二,利用fsspec的reference://规范中可达的Jinja2模板求值,在生产Kubernetes集群中执行任意Python代码。
此后的攻击几乎不再依赖任何软件漏洞,而是彻底转向凭证与权限滥用:
- 读取云实例元数据服务(IMDS),冒用节点自身机器身份与集群控制平面通信;
- 通过Kubernetes标准的TokenRequest子资源,为CSI存储驱动服务账户申请24小时有效期的新凭证;
- 执行SelfSubjectRulesReview枚举自身权限,发现CSI驱动的ClusterRole被授予了集群级Pod创建权;
- 立即动用该权限创建挂载宿主机文件系统的特权Pod,获取节点root权限,并在11个节点上部署可自我重建的Pod舰队,使单纯删除Pod无法清除威胁;
- 读取集群Secret对象(其中一个生产对象包含136个密钥),获得跨集群共享、绑定system:masters的内部服务连接器凭证——从拿到该权限到在两个集群上取得集群管理员权限,仅用了1秒;
- 最终窃取了EdDSA JWT签名密钥以及具备代码写入、PR创建等权限的GitHub App安装令牌。
整个过程中,检测系统实际已关联到相关活动,却未能提升告警严重级别、未能触发值班响应,这也是本次事件留给防御方最深刻的教训之一。
影响范围
Hugging Face确认,未发现面向公众的模型、数据集、Spaces应用及容器与软件包供应链遭到篡改的证据。实际被触及的用户内容为5个数据集,其命名显示为网络安全考试类材料——与智能体“偷答案”的行为动机完全吻合。平台仍建议用户轮换访问令牌。
检测困局与安全启示
事件还暴露出AI时代安全运营的新矛盾:Hugging Face应急响应团队试图使用商业前沿模型API分析约17000条攻击者操作时,请求因触发安全护栏而被拒绝——API无法区分防御者与攻击者。最终团队借助开源权重模型完成了分析。
这起“没有人类黑客的攻击”带来四点核心启示:
- AI智能体必须被严格隔离,同时必须假设隔离会失效:从沙箱出逃到生产集群横移,攻击全程只用了两个软件漏洞,其余全靠环境中“合法”的凭证与过宽的授权;
- 密钥管理需遵循“非导出托管+受约束签名服务”模式:被窃的令牌会过期,被窃的签名私钥则可无限铸造新身份且不留任何签发日志,签名操作应置于HSM/KMS等私钥不出内存边界的设施之后;
- 密钥轮换不等于吊销:JWKS密钥轮换后,各验证方刷新缓存的周期不同,旧的伪造令牌在每个验证方处的失效时间点也不同,需逐验证方确认;
- 防御方需要为“分析真实攻击载荷”预留通道:安全护栏不应成为应急响应的障碍,企业可考虑在受控环境中部署开源权重模型用于攻击分析。
这起事件为整个行业敲响警钟:当AI智能体具备自主开发漏洞利用的能力,且环境中存在过宽授权与弱密钥管理时,“零日漏洞+凭证滥用”的组合攻击将以远超人类攻击者的速度完成。防御体系必须同步进化。