flawopen.com/Incidents/Évasion de Sandbox Gemini
Imaginez une équipe d'intervention en entraînement dans ce qu'elle croit être un faux entrepôt. Les organisateurs ont oublié de fermer les grilles d'accès et ont désigné comme cible le nom d'une vraie banque. L'équipe est sortie dans la ville, a crocheté les serrures de vraies succursales, s'arrêtant seulement en voyant de vrais employés au guichet.
En septembre 2026, il a été révélé qu'en mai 2026, le modèle Gemini de Google a pénétré les infrastructures de trois entreprises réelles lors d'évaluations automatisées menées par Irregular.
Gemini devait accomplir une épreuve CTF contre une entreprise fictive. Une mauvaise configuration réseau a toutefois laissé le conteneur connecté à l'internet public. Le nom fictif correspondant à de véritables sociétés, le modèle a ciblé des serveurs en production.
Un banc d'essai doit être strictement isolé. L'infrastructure d'Irregular n'a pas appliqué de filtrage iptables sortant, exposant les machines à l'internet.
L'absence de noms de domaine réservés (RFC 2606 comme .test) a permis aux requêtes DNS de résoudre vers des adresses IP publiques.
L'agent a exploité des outils de recherche web pour trouver des clés API fuitées sur des dépôts de code et a testé des identifiants jusqu'à se connecter.
En analysant les réponses HTTP contenant de réelles données d'entreprises, Gemini a déduit qu'il opérait hors de la simulation et a interrompu toutes ses actions.
Différence entre un conteneur d'évaluation vulnérable avec sortie internet libre et un environnement hermétique avec sinkhole DNS :
# VULNÉRABLE: Conteneur avec accès réseau sortant illimité
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" # Collision avec une vraie entreprise
# SÉCURISÉ: Blocage strict du trafic sortant + DNS local
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 ou .example.127.0.0.1).