Qu'est-ce que l'exécution sandboxée E2B et pourquoi votre agent IA en a-t-il besoin ?
Exécution sandboxée d'E2B expliquée : comment des conteneurs isolés rendent l'exécution du code AI sécurisée. Plongée technique.
Qu’est-ce que l’exécution sandboxée E2B
Lorsqu’un agent IA génère du code et l’exécute, ce code doit s’exécuter quelque part. La question est où — et avec quel niveau d’accès.
E2B (abréviation de “Environment to Binary”) est une infrastructure open-source pour exécuter du code généré par IA dans des sandboxes cloud. Au lieu d’exécuter le code sur votre machine locale avec vos permissions utilisateur, vos fichiers et votre accès réseau, E2B crée un conteneur cloud isolé. Le code s’exécute à l’intérieur de ce conteneur. Lorsqu’il a terminé, le conteneur est détruit.
Le concept est simple : traiter chaque exécution de code comme non fiable. Donnez-lui un environnement jetable. Laissez-le faire son travail. Prenez les résultats. Jetez l’environnement.
C’est le même principe qui sous-tend le fonctionnement des systèmes CI/CD cloud. GitHub Actions n’exécute pas vos scripts de construction sur un serveur partagé où un projet peut lire les secrets d’un autre projet. Chaque exécution obtient un conteneur frais. E2B applique ce même modèle à l’exécution de code d’agent IA.
Comment fonctionne le cycle de vie du conteneur
Le cycle de vie d’une sandbox E2B suit un schéma prévisible.
Lorsque votre agent IA a besoin d’exécuter du code, la plateforme demande un nouveau conteneur à E2B. Ce conteneur est un environnement Linux léger — pensez à une machine virtuelle minimale qui démarre en moins d’une seconde. Il a son propre système de fichiers, son propre arbre de processus, son propre espace de noms réseau.
Le conteneur reçoit uniquement ce dont il a besoin : le code à exécuter, les fichiers de travail pertinents pour la tâche, et toutes les dépendances spécifiées dans la demande d’exécution. Il ne reçoit pas vos clés SSH. Il ne reçoit pas vos fichiers .env. Il n’a pas accès à votre réseau local.
Le code s’exécute. S’il produit des fichiers de sortie, ces fichiers sont extraits et sauvegardés dans votre espace de travail persistant. S’il plante, il plante à l’intérieur du conteneur — votre système n’est pas affecté. S’il essaie de faire une requête réseau à localhost:5432 espérant atteindre votre base de données, cette requête ne va nulle part.
Lorsque l’exécution est terminée — ou lorsque le délai expire — le conteneur est terminé et son système de fichiers est effacé. Il n’y a pas d’état résiduel. La tâche suivante commence avec un conteneur frais, pas un recyclé avec des artefacts restants d’une exécution précédente.
Pourquoi c’est important : l’alternative est pire que vous ne le pensez
Pour comprendre pourquoi l’exécution sandboxée est importante, regardez ce qui se passe sans elle.
OpenClaw — le framework d’agent IA open-source qui a atteint 150 000 étoiles sur GitHub en 10 semaines — exécute du code généré par IA directement sur votre machine. L’agent IA a un accès shell complet. Il peut lire et écrire n’importe quel fichier auquel votre compte utilisateur peut accéder. Il peut faire des requêtes réseau à n’importe quel service que votre machine peut atteindre. Il peut installer des paquets, modifier des configurations système et exécuter des commandes arbitraires.
La recherche en sécurité qui a suivi n’était pas encourageante. Les chercheurs de Snyk ont documenté des problèmes de sécurité répandus dans le marché ClawHub, y compris la distribution de logiciels malveillants et l’injection de prompt.
Au-delà du marché, l’architecture elle-même est le problème. La plateforme stocke les identifiants en texte clair, et plusieurs organisations de sécurité ont publié des avertissements concernant l’architecture.
Ce n’est pas un risque théorique. C’est ce qui se passe lorsque du code généré par IA s’exécute sans sandbox.
Ce que permet l’exécution sandboxée
Une fois que l’exécution du code est isolée dans un conteneur, plusieurs choses deviennent possibles qui étaient auparavant trop risquées.
Exécution de code sécurisée depuis n’importe quel modèle. Lorsque votre agent IA écrit un script Python pour traiter vos données, vous n’avez pas besoin de passer en revue chaque ligne avant de l’exécuter. Le script s’exécute dans une sandbox. S’il fait quelque chose d’inattendu, le rayon d’explosion est nul. C’est la différence entre “J’espère que ce code est sûr” et “peu importe si ce code est sûr, car il ne peut atteindre rien d’important.”
Traitement des données sans risque de fuite. Vous pouvez passer des données sensibles dans une sandbox pour traitement — dossiers financiers, listes de clients, métriques internes — en sachant que les données n’existent que dans le conteneur pendant la durée de la tâche. Elles ne sont pas écrites sur un système de fichiers partagé. Elles ne sont pas accessibles à d’autres utilisateurs sur la même plateforme. Lorsque le conteneur est détruit, les données sont perdues.
Isolation multi-locataire. Sur une plateforme avec plusieurs utilisateurs, le sandboxing signifie que l’exécution de code d’un utilisateur ne peut pas interférer avec celle d’un autre. Il n’y a pas d’état partagé entre les conteneurs. C’est un minimum pour toute plateforme cloud sérieuse, mais cela fait complètement défaut aux outils d’agent IA locaux.
Environnements reproductibles. Chaque exécution commence à partir d’un état connu. Pas de problèmes de “ça fonctionne sur ma machine”. Pas d’état accumulé des exécutions précédentes causant un comportement inattendu. Si une tâche fonctionne une fois, elle fonctionne à chaque fois, car l’environnement est identique à chaque fois.
Pour un aperçu plus approfondi sur pourquoi le sandboxing est la direction vers laquelle toute l’industrie des agents IA se dirige, consultez notre article sur pourquoi les agents IA sandboxés sont l’avenir. Et si vous voulez voir l’exécution sandboxée en pratique, le cas d’utilisation de l’exécution de code passe en revue des flux de travail réels.
Performance : l’exécution cloud n’est pas le goulet d’étranglement que vous attendez
Une hypothèse courante est que l’exécution de code dans un conteneur distant doit être plus lente que de l’exécuter localement. Pour de nombreuses charges de travail, c’est le contraire qui est vrai.
Votre ordinateur portable exécute un navigateur, un client de chat, un IDE, des synchronisations en arrière-plan, et tout ce que vous avez ouvert. Lorsque l’agent IA exécute un script intensif en CPU localement, il doit rivaliser avec tout cela pour les ressources. Un conteneur cloud obtient des ressources dédiées. Il ne partage pas le CPU avec votre Spotify.
Pour les tâches qui bénéficient du parallélisme — traitement de plusieurs fichiers, exécution d’opérations par lots, exécution de suites de tests — les conteneurs cloud peuvent se lancer en parallèle. Cinq conteneurs traitant cinq ensembles de données simultanément finiront plus vite qu’un seul ordinateur portable les traitant séquentiellement.
L’installation de dépendances est un autre avantage. Une configuration locale nécessite que vous installiez des paquets Python, des modules Node ou des bibliothèques système sur votre machine. Un conteneur cloud peut utiliser une image pré-construite avec des dépendances courantes déjà installées. Pas d’attente pour pip install. Pas de conflits de version avec votre environnement existant.
Le surcoût de latence d’envoyer une tâche vers le cloud et de recevoir les résultats est réel, mais il est généralement mesuré en millisecondes à quelques secondes — négligeable par rapport au temps d’exécution de la plupart des tâches significatives.
Limitations : ce que l’exécution sandboxée ne peut pas faire
Être honnête sur les limites est plus important que de surestimer la capacité.
Accès au niveau système. Si votre tâche nécessite de modifier des configurations système, d’interagir avec du matériel local (dispositifs USB, imprimantes, GPU attachés à votre machine), ou de lire des fichiers qui n’existent que sur votre système de fichiers local et ne peuvent pas être téléchargés, une sandbox cloud ne peut pas aider. Ces tâches nécessitent une exécution locale par définition.
Interactions à latence extrêmement basse. Pour les tâches qui nécessitent des temps de réponse inférieurs à une milliseconde ou une intégration étroite avec la boucle d’événements d’une application locale, le temps de trajet réseau vers un conteneur cloud ajoute une latence qui peut ne pas être acceptable. Cela s’applique à un ensemble restreint de cas d’utilisation — traitement audio en temps réel, scripting de moteur de jeu, boucles de contrôle matériel — mais c’est une contrainte réelle.
Modifications système persistantes. Si votre objectif est d’installer des logiciels sur votre machine, de modifier votre configuration shell, ou de changer votre environnement de développement local, une sandbox qui est détruite après l’exécution est le mauvais outil. La sandbox est conçue pour produire des sorties, pas pour modifier l’hôte.
Pour la grande majorité des tâches d’agent IA — exécution de code, traitement de données, génération de fichiers, interactions API, opérations par lots, analyses — l’exécution sandboxée n’est pas seulement adéquate. Elle est meilleure. Vous obtenez la même capacité d’exécution de code sans aucun risque.
Comment LikeClaw utilise E2B
LikeClaw exécute chaque tâche d’exécution de code dans une sandbox E2B. Ce n’est pas un paramètre de sécurité optionnel. C’est l’architecture.
Lorsque votre agent IA a besoin d’exécuter du code, un conteneur est créé. Vos fichiers de travail sont montés en lecture seule, sauf si la tâche nécessite un accès en écriture. Vos clés API sont stockées de manière chiffrée et injectées en tant que variables d’environnement au moment de l’exécution — jamais écrites sur disque à l’intérieur du conteneur, jamais stockées en texte clair. Le code s’exécute. Les résultats reviennent. Le conteneur est détruit.
C’est ainsi que vous obtenez la puissance des agents IA autonomes — véritable exécution de code, véritable traitement de fichiers, véritable automatisation — sans le modèle de sécurité qui a conduit Kaspersky, Cisco et Snyk à émettre des avertissements.
L’exécution sandboxée n’est pas une fonctionnalité. C’est la fondation.
Le cycle de vie du sandbox
Cinq phases, de la demande à la nettoyage. Chaque tâche suit ce chemin.
- 1
Tâche demandée
Votre agent IA reçoit une tâche qui nécessite l'exécution de code — traitement de données, exécution de scripts, génération de fichiers. La plateforme identifie qu'un sandbox est nécessaire.
- 2
Conteneur créé
Un conteneur E2B isolé se déploie dans le cloud. Il dispose de son propre système de fichiers, de son propre espace de noms réseau et de ses propres limites de ressources. Aucun accès à la machine hôte ou à d'autres conteneurs.
- 3
Le code s'exécute en isolation
Le code généré par l'IA s'exécute à l'intérieur du conteneur avec uniquement les fichiers et dépendances nécessaires. Si le code essaie d'accéder à quelque chose en dehors du sandbox, la demande est refusée. S'il plante, rien d'autre n'est affecté.
- 4
Résultats renvoyés à l'espace de travail
Les fichiers de sortie, les journaux et les résultats sont extraits du conteneur et enregistrés dans votre espace de travail persistant. Vous voyez les résultats. Le sandbox ne voit rien d'autre.
- 5
Conteneur détruit
Le conteneur est terminé et son système de fichiers est effacé. Pas de données résiduelles, pas de processus restants, pas de connexions réseau persistantes. La prochaine tâche commence sur une base propre.
Avant
Exécution de code sans sandboxing
- Les scripts générés par l'IA s'exécutent avec vos autorisations utilisateur.
- Accès à l'ensemble du système de fichiers, y compris les identifiants.
- Accès réseau aux services internes
- Modifications persistantes de votre système
Après
Exécution de code avec le sandboxing E2B
- Les scripts s'exécutent dans un conteneur isolé sans accès à l'hôte.
- Seulement les fichiers de l'espace de travail disponibles, les identifiants sont chiffrés.
- Réseau isolé, pas d'accès à vos services internes
- Conteneur détruit après exécution, risque de persistance nul
Questions fréquentes sur l'exécution en sandboxed
L'exécution en mode sandbox est-elle plus lente ?
Pour la plupart des charges de travail, non. Les conteneurs cloud se lancent en moins d'une seconde, et l'exécution se fait sur une infrastructure dédiée — pas sur ton ordinateur portable qui partage ses ressources avec un navigateur, Slack et Spotify. Pour les tâches qui tirent parti du parallélisme (traitement de données, opérations par lots, analyse multi-fichiers), l'exécution cloud en sandbox peut être nettement plus rapide que localement. La surcharge est mesurée en millisecondes. Le gain de performance est mesuré en fonction des cœurs CPU et de la mémoire que tu ne partages pas.
Les conteneurs sandbox peuvent-ils accéder à Internet ?
Cela dépend de la configuration de la tâche. Par défaut, l'accès réseau sortant est restreint. Pour les tâches qui nécessitent de récupérer des données depuis des APIs ou de télécharger des packages, l'accès réseau peut être activé de manière sélective avec des permissions spécifiques — le conteneur peut atteindre uniquement les points de terminaison spécifiques dont il a besoin, pas l'ensemble de votre réseau interne. Les connexions entrantes vers le conteneur ne sont jamais autorisées.
Quelles langues sont prises en charge ?
Les conteneurs E2B prennent en charge n'importe quel langage qui fonctionne sur Linux. Python, JavaScript/Node.js, Go, Rust, Java, Ruby, scripts shell — si ça se compile ou s'interprète dans un environnement Linux, ça tourne dans le sandbox. Les images de conteneurs préconstruites incluent des runtimes et des gestionnaires de paquets courants, donc l'installation des dépendances est rapide.
Quelle taille peuvent avoir les conteneurs sandbox ?
Les conteneurs peuvent être configurés avec différentes allocations de CPU, de mémoire et de disque en fonction de la tâche. Les tâches standard s'exécutent avec des valeurs par défaut raisonnables. Les charges de travail plus importantes — traitement de données, inférence ML, grandes bases de code — peuvent demander plus de ressources jusqu'aux limites de votre niveau de plan. Le conteneur s'adapte à la tâche, et non l'inverse.
E2B est-il open source ?
Oui. E2B est une infrastructure open-source (github.com/e2b-dev/e2b) avec une communauté de développeurs active. La technologie de sandboxing est transparente et auditable. LikeClaw utilise E2B comme couche d'exécution, ajoutant notre propre gestion des espaces de travail, cryptage des identifiants, orchestration multi-modèles et marché de compétences vérifiées par-dessus. Vous bénéficiez des avantages en matière de sécurité du sandboxing open-source avec la commodité d'une plateforme gérée.