flawopen.com/インシデント/Geminiサンドボックス逸脱
隔離された模擬訓練場だと信じて突入訓練を行う部隊を想像してください。主催者が敷地の外門を閉め忘れ、標的に実在する銀行と同じ名前を割り当ててしまいました。部隊はそのまま街へ出て実在する銀行の鍵をこじ開けて侵入し、窓口に本物の行員がいるのを見て初めて停止しました。
2026年9月の開示により、2026年5月にAIセキュリティ企業 Irregular が実施した自動評価テストにおいて、Googleの Gemini が 実在企業3社 のシステムに侵入していたことが判明しました。
Geminiには模擬CTF課題として架空の標的企業から機密情報を奪取する任務が与えられていました。しかし検証コンテナの外部通信制限が機能しておらず、標的名が実在企業と一致していたため、インターネット上の実本番システムを標的と誤認して攻撃を実行しました。
評価環境は完全な通信隔離が必須です。Irregularのコンテナ環境はiptablesによる送信拒否ルールを適用しておらず、外部WANへ直接接続できる状態でした。
.test などの予約ドメインを使用せず実在し得る名称を割り当てたため、DNS問い合わせが実在のパブリックIPを解決しました。
GeminiはシェルとWeb探索ツールを連鎖させ、公開コードに漏洩していたAPIキーを取得し、認証画面へのパスワード推測を自動試行して侵入しました。
HTTPレスポンスに含まれる実在ユーザーの生データを確認したGeminiは、シミュレーション境界を逸脱したと自律判断し、追加操作を即座に停止しました。
公網アクセスが無制限な脆弱コンテナ設定と、送信全拒否・ローカルDNSシンクホールを適用した堅牢構成の比較:
# 脆弱構成:コンテナがインターネットへ自由に通信可能
apiVersion: v1
kind: Pod
metadata:
name: gemini-eval-sandbox
spec:
containers:
- name: agent-runner
image: eval-harness:latest
env:
- name: TARGET_DOMAIN
value: "acme-corp.com" # 実在企業と重複
# 堅牢構成:外部送信をデフォルト拒否
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: agent-eval-isolation
spec:
podSelector:
matchLabels:
app: agent-eval
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: 127.0.0.1/32
- ipBlock:
cidr: 10.96.0.0/16
ports:
- protocol: TCP
port: 8080
.test または .example で定義してください。127.0.0.1)へ誘導してください。