Docker Sandboxes : sbx isole les agents IA en microVM

Isoler un agent de code IA ne veut plus dire lui confier un simple conteneur : Docker le fait désormais tourner dans sa propre machine virtuelle, avec son propre noyau.

Qu'est-ce que Docker Sandboxes (sbx) ?

Docker Sandboxes est publié par Docker Inc. sous la forme d'un CLI autonome nommé sbx, qui lance un agent de code IA (Claude Code, Codex, GitHub Copilot, Gemini CLI, OpenCode ou Cursor) dans une microVM à noyau (kernel) et Docker Engine propres. Sur Claude Code, sbx lance par défaut claude --dangerously-skip-permissions, l'option qui supprime les demandes de confirmation avant chaque action de l'agent.

Docker fournit 12 variantes d'images docker/sandbox-templates:*, basées sur Ubuntu, avec un utilisateur agent non-root disposant de sudo. Les variantes -docker embarquent un Docker Engine complet dans la microVM, avec un volume de 10 Go sparse : le conteneur d'agent y tourne en mode privilégié, pour héberger ce moteur, mais seulement à l'intérieur de la microVM.

Que garantit l'isolation par microVM, et que ne garantit-elle pas ?

La séparation de noyau et de Docker Engine empêche un agent d'agir directement sur la machine hôte. Deux zones restent hors de cette isolation : les serveurs MCP (Model Context Protocol, le standard qui permet à un agent IA d'appeler des outils externes) qui communiquent en local via stdio tournent sur l'hôte, et le store de skills partagé entre sandboxes est monté en lecture-écriture. Autre point de vigilance : sbx template save capture le système de fichiers, secrets compris. Côté configuration, ~/.claude n'est pas importé et les liens symboliques vers l'hôte ne sont pas suivis ; sbx skills import rapatrie des skills explicitement.

Comment le réseau est-il contrôlé dans une sandbox ?

Au niveau réseau, UDP et ICMP (utilisé par des outils de diagnostic comme ping) sont bloqués sans option de déblocage par politique. Le TCP non-HTTP, comme SSH, reste autorisable via une règle de type myhost:22. Trois presets réseau sont proposés : Open, Balanced et Locked Down.

Les clés d'API et les credentials entrent-ils dans la sandbox ?

Le transfert d'agent SSH (SSH agent forwarding, le mécanisme qui permet d'utiliser une clé privée locale sans la copier dans l'environnement distant) est activé par défaut : la clé ne quitte jamais l'hôte. Les secrets pris en charge sont injectés en en-tête HTTP par un proxy hôte, avec une valeur sentinelle proxy-managed côté sandbox. Pour le reste, sbx secret set-custom déclare un couple domaine et variable.

Sur quels systèmes sbx fonctionne-t-il ?

Système Prérequis
macOS macOS 14 ou supérieur, puce Apple Silicon
Windows Windows 11, Hypervisor Platform activé
Linux Ubuntu 24.04 ou supérieur, KVM, utilisateur dans le groupe kvm

Un compte Docker est obligatoire. La télémétrie CLI, activée par défaut, se désactive via SBX_NO_TELEMETRY=1 ; prompts et code de l'agent en sont exclus.

Quelles versions ont marqué sbx depuis juillet 2026 ?

Version Date Changement principal
0.35.0 10/07/2026 Les variables d'environnement de l'hôte ne servent plus à l'authentification ; refonte de sbx policy ; transport SOCKS5
0.37.0 24/07/2026 Accès SSH aux sandboxes (expérimental) ; skills partagées
0.37.1 29/07/2026 SSH ne transmet plus par défaut les clés ANTHROPIC_API_KEY, OPENAI_API_KEY et GH_TOKEN
0.38.0 06/08/2026 Kit de spécification v2 ; gestion MCP de première classe via une passerelle intégrée ; option --deny-network ; correction de CVE-2026-17106

CVE-2026-17106 (Common Vulnerabilities and Exposures, le registre public des failles de sécurité logicielles) touchait le copy-out de sbx cp, le sens sandbox vers hôte de la commande de copie de fichiers : une vulnérabilité d'échappement de destination, corrigée en 0.38.0.

Notre analyse

Cette synthèse s'appuie sur la documentation officielle et l'historique des versions, sans exécution du CLI. Pour nous, le déplacement de la frontière d'isolation vers l'hyperviseur change concrètement la donne pour qui lance des agents avec les confirmations désactivées : un agent compromis reste enfermé dans son propre noyau, pas dans un espace de noms partagé avec l'hôte. Cela ne dispense pas de lire les exceptions : MCP stdio qui reste sur l'hôte, un store de skills partagé en lecture-écriture, et jusqu'au template save qui embarque les secrets à la sauvegarde.

À suivre : sbx a gagné une gestion MCP de première classe, via une passerelle intégrée, en version 0.38.0. Les serveurs MCP distants restent aujourd'hui hors du périmètre de l'isolation par microVM.

Sources

Victor Langlois

Victor Langlois

Expert DevOps & IA · Architecte Cloud

10+ ans d'automatisation — du secret défense aux agents IA. Ex-ITSF (Xavier Niel), Gouvernement de Monaco. Je construis des systèmes qui libèrent les équipes tech des tâches répétitives.