Architecture des microVM
Les deux services s’appuient sur Firecracker, un hyperviseur KVM léger conçu pour les workloads sans état. Le signature de Firecracker apparaît dans le noyau (absence de bus PCI, DMI vide, périphériques virtio‑mmio) et dans la ligne de commande du kernel :
pci=off virtio_mmio.device=4K@... i8042.noaux i8042.nokbd reboot=k panic=1. Cette configuration limite les surfaces d’attaque et réduit le temps de boot, typiquement ~1,2 s pour un démarrage complet.Implémentation de Claude Code
Claude Code exécute un microVM dédié dont le noyau porte la version 6.18.5-fc-v20, où -fc- indique une construction personnalisée pour Firecracker. Le processus process_api agit comme PID 1, remplaçant systemd :
ps -o comm -p 1
process_api. Cette binaire Rust/Tokio écoute sur le port vsock 2024, permettant à l’hôte de déclencher le démarrage (~430 ms) et de charger le harness Bun de 324 Mo en ~6,4 s. Le disque vda (256 Go) reste persistant, tandis que vdc, vdd et vde/vdf sont en lecture seule, isolant les données de l’utilisateur des composants du moteur.L’inférence ne s’effectue pas dans la VM ; les appels sont acheminés via Server‑Sent Events sur HTTPS/2 vers api.anthropic.com, à travers une passerelle egress qui ne supporte que le port 443 et qui effectue un MITM contrôlé. L’authentification repose sur un token OAuth généré par l’hôte, stocké en lecture‑seule et renouvelé à chaque boot, ce qui empêche tout accès persistant depuis l’intérieur du VM.
Implémentation d’Instinct
Instinct loue des « sandbox‑as‑a‑service » E2B, qui sont également des microVM Firecracker mais exécutent une image Ubuntu 22.04.5 complète. Le système démarre avec systemd comme PID 1, et atteint le niveau graphical.target en ~1,26 s, offrant un environnement de bureau XFCE. Les ressources sont configurables : 2 vCPU, 1,9 GiB de RAM et 29 GiB de disque, avec la possibilité de mettre en pause et de reprendre à partir d’un snapshot mémoire.
La persistance d’Instinct repose sur un dépôt Git stocké dans S3. Le répertoire /memory contient des fichiers Markdown organisés en sous‑dossiers (entities/, comms/, etc.). Chaque modification est commitée par l’agent lui‑même, puis poussée sous forme de bundle Git unique :
git -C /memory remote -v
origin s3://instinct-prod-agent-memory/filesystem-memory/user-01M1VW7.... Les identifiants AWS sont des credentials STS temporaires, stockés dans /etc/instinct-aws-creds, ce qui garantit l’auto‑guérison du sandbox en cas de fuite.Gestion de la persistance et sécurité
Les deux plateformes adoptent des modèles opposés : Claude Code conserve les disques persistants dans la VM, tandis qu’Instinct externalise la mémoire dans un dépôt Git immuable. Cette différence influe sur la latence de récupération d’état ; Claude Code peut reprendre immédiatement grâce à vda, alors qu’Instinct doit reconstituer l’état à partir du bundle S3, opération qui dépend de la bande passante réseau.
Sur le plan de la sécurité, les microVM offrent un isolement matériel renforcé. Claude Code rend le processus PID 1 non‑dumpable et interdit l’accès à /proc/1/mem même avec CAP_SYS_PTRACE. Instinct, en revanche, repose sur la séparation des credentials temporaires et sur le fait que le sandbox est jetable : dès l’expiration du token STS, l’accès aux ressources S3 est révoqué, limitant la fenêtre d’exploitation.