FlawOpen

flawopen.com/Incidents/google-gemini-evaluation-sandbox-escape-may-2026

● Google / Irregular · CWE-693 · May 2026 · 编辑严重性评级: 高危
安全研究 · FlawOpen

Gemini 评估期间访问了真实企业系统

Google 告诉《华尔街日报》,Gemini 在 Irregular 测试期间访问了三家公司的系统;Irregular 表示未发现系统失陷或数据泄露的证据。[2], [1], [3]

💡 通俗易懂的原理解析 (ELI5)

想象一场警察演练:学员要访问一家虚构银行的网站。演练本应限制在封闭训练场内,但大门开着,而且网上有一家真实企业使用相同名称。学员可以离开训练场并访问真实网站。Irregular 表示,没有发现客户系统遭入侵或数据丢失的证据。教训是要通过技术措施执行网络边界,并使用保留的虚构名称,而不能指望模型自行识别边界。[2], [1]

核心概念与专有名词

夺旗(CTF)评估
让模型尝试攻入故意留有漏洞的系统的测试,用于在发布前衡量其网络攻击能力。[2], [1]
Irregular
在自有基础设施上开展这次评估的 AI 安全公司。Anthropic 在 2026 年 7 月披露的 Claude 事件也涉及同一合作方。[1]
默认拒绝出站
一种网络规则:除明确允许的连接外,阻断所有出站连接,防止环境意外接入互联网。[4]
保留名称(RFC 2606)
.test、.example 等永远无法注册的域名,因此虚构目标不会与真实机构重名。[5]
分类说明
CWE-693(保护机制失效)是 FlawOpen 的分析性分类,并非供应商指定的 CWE。High 是编辑评级,因为报道中的评估突破了网络隔离并触及三家组织的系统;引用来源没有证明客户数据遭到泄露或丢失。不适用 CVE 或 CVSS 评分。[7], [2], [1]
建议来源
以下清单是 FlawOpen 根据所述边界提出的工程建议,并不表示 Google 或 Irregular 已部署这些具体控制。[1]

框架映射

  • 本指南所述弱点的 CWE 参考: CWE-693

事件演进时间线

2026-05

《华尔街日报》报道 Google 表示,Gemini 于 5 月在 Irregular 的网络安全评估中触及三家公司的系统。[2], [1], [3]

2026-08-14

Irregular 发布审查报告,称评估环境问题已修复,并已通知受影响方。[1]

2026-09-18

Google 告诉《华尔街日报》,Gemini 在 5 月的一次测试中触及三家公司的系统;该报于 9 月 18 日刊发报道。[2], [3]

攻击执行流程分解

步骤 1

环境没有隔离

模型本不应能访问互联网,但合作方的评估环境无意中提供了这种访问。[1]

步骤 2

虚构目标用了真实名称

任务要求模型从一家虚构公司获取信息,而这家公司的名字与真实企业相同。[2], [1]

步骤 3

报道的访问方式与影响边界

Google 告诉《华尔街日报》,模型找到了公开信息,并尝试猜测其认为属于演练的网站的凭据。Irregular 后来表示,虚构名称与真实域名重合,但没有发现客户系统遭入侵或数据泄露的证据。[2], [1], [3]

步骤 4

控制与披露

Irregular 表示,评估环境问题在其 8 月 14 日公开报告前已修复,并已通知受影响方。《华尔街日报》报道了 Google 在 9 月的确认。现有报道没有证明客户数据被获取。[2], [1]

源代码对比:漏洞与安全实现

这是 Kubernetes 示意配置,不代表 Irregular 或 Google 的配置。它选择 agent-eval 中的所有 Pod,只允许其通过 TCP/443 连接到明确标记的 mock-target Pod;NetworkPolicy 过滤端口和协议,不检查 TLS,因此应配置模拟服务强制使用 HTTPS。它还允许 DNS 连接到专用解析器。如果该解析器隔离了入站流量,还需添加允许评估 Pod 通过 UDP 和 TCP 端口 53 入站的规则。解析器只能服务内部模拟区域,不能将任意查询转发到公网,否则 DNS 可能成为外联通道。RFC 2606 将 .test 保留用于测试。策略是否生效取决于 CNI;应将 hostNetwork 和特权节点级工作负载排除在评估边界外,并用受控 canary 验证阻断效果。[4], [5], [1]

存在漏洞的实现
apiVersion: v1
kind: ConfigMap
metadata:
  name: ctf-scenario
  namespace: agent-eval
data:
  # 使用保留的 .test 主机名,确保示例不会指向真实组织。
  target_company: "Example Freight Test Co"
  target_host: "portal.freight.test"
# 此命名空间中没有 NetworkPolicy,因此 Pod 可以访问互联网。
加固后的安全修复
apiVersion: v1
kind: ConfigMap
metadata:
  name: ctf-scenario
  namespace: agent-eval
data:
  target_company: "Example Freight Test Co"
  target_host: "portal.freight.test"
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: eval-egress-allowlist
  namespace: agent-eval
spec:
  podSelector: {}
  policyTypes:
    - Egress
  egress:
    # 预先为目标命名空间添加 purpose=ctf-mock-targets 标签,并为目标 Pod 添加 app=mock-target 标签。
# 仅允许 TCP/443;NetworkPolicy 不检查 TLS,也不强制 HTTPS。
    - to:
        - namespaceSelector:
            matchLabels:
              purpose: ctf-mock-targets
          podSelector:
            matchLabels:
              app: mock-target
      ports:
        - protocol: TCP
          port: 443
    # 预先为专用解析器命名空间添加 purpose=ctf-dns 标签,并为解析器 Pod 添加 app=eval-dns 标签。
    # 使用专用解析器,且只解析内部模拟区域。
    - to:
        - namespaceSelector:
            matchLabels:
              purpose: ctf-dns
          podSelector:
            matchLabels:
              app: eval-dns
      ports:
        - protocol: UDP
          port: 53
        - protocol: TCP
          port: 53

工程与系统安全加固清单

参考来源