Exécution en bac à sable pour les agents de code
N’exécutez jamais du code généré par un modèle sur votre hôte : utilisez des bacs à sable gVisor, Firecracker ou E2B.
Exécution en bac à sable pour les agents de code est une leçon AI Agents gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Agents, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Agents comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Pourquoi utiliser une Sandbox ?
Les agents de code (Devin, Claude Code, OpenDevin) exécutent du code généré par un modèle. Si vous exécutez ce code sur votre hôte, le modèle peut :
- Lire vos secrets et vos clés d’API
- Supprimer des fichiers
- Effectuer des appels réseau sortants
- Miner des cryptomonnaies
Sandbox = environnement isolé qui limite les dégâts.
Niveaux d’isolation
| Niveau | Outil | Utilisation |
|---|---|---|
| Processus | subprocess + chroot | Sécurité faible, développement uniquement |
| Conteneur | Docker | Valeur par défaut correcte |
| VM / microVM | Firecracker, gVisor | Isolation renforcée |
| Sandbox hébergée | E2B, Daytona | Production la plus simple |
Docker Sandbox Basics
docker run \
--rm \
--network=none \
--memory=512m \
--cpus=0.5 \
--read-only \
--user=nobody \
-v /tmp/work:/work:rw \
python:3.11-slim \
python /work/script.pyIsolation réseau
--network=none désactive le trafic sortant. Pour certaines tâches, vous avez besoin d’un accès Internet limité : utilisez un proxy de sortie qui autorise uniquement certains hôtes.
Limites de ressources
Les plafonds empêchent une consommation incontrôlée du CPU et de la mémoire :
--memory— plafond de RAM--cpus— partage du CPU--pids-limit— nombre de processus--ulimit— descripteurs de fichiers
Firecracker / gVisor
Pour une isolation plus forte qu’avec Docker :
- Firecracker — microVM d’AWS, utilisée par Lambda
- gVisor — noyau en espace utilisateur de Google, utilisable directement avec Docker
- Kata Containers — expérience Docker avec isolation par VM
Sandbox hébergée E2B
E2B (e2b.dev) vous fournit une Sandbox distante via une API :
# pip install e2b
import e2b
sandbox = e2b.Sandbox(template='python', api_key='...')
result = sandbox.run_code('print(2 + 2)')
print(result.stdout) # '4'
sandbox.close()Daytona
Daytona offre des fonctionnalités de Sandbox hébergée similaires, orientées vers les espaces de travail de développement.
Sandbox du système de fichiers
Montez uniquement ce dont l’agent a besoin en lecture-écriture ; tout le reste en lecture seule ou masqué :
docker run -v ${PWD}/workdir:/workdir:rw \
-v ${PWD}/readonly:/readonly:ro ...Limites de temps
Limitez le temps réel d’exécution pour éviter les boucles infinies :
docker run --rm --stop-timeout 30 ... \
python -c 'import resource; resource.setrlimit(resource.RLIMIT_CPU, (30, 30)); exec(open("/work/script.py").read())'Journalisation
Capturez chaque commande, chaque sortie et chaque modification de fichier. Pour les agents à forts enjeux, consignez dans un journal d’audit l’intégralité de la session Sandbox.
Sandboxes multi-locataires
Les Sandboxes par utilisateur empêchent les utilisateurs d’altérer l’état des autres. Créez une Sandbox vierge pour chaque session, puis supprimez-la à la fin.
Coût ou sécurité
Une isolation plus forte implique un coût supérieur (surcharge par VM). Adaptez le niveau au risque :
- Tutoriel ou fonctionnalité Sandbox pour les utilisateurs : Docker convient
- Code de production qui accède à des secrets : Firecracker / E2B
Verrouillage du réseau
Comment empêcher un agent de code d’effectuer des appels réseau sortants ?
Récapitulatif
N’exécutez jamais de code généré par un modèle sur votre hôte. Choisissez le niveau d’isolation selon le risque : Docker pour le développement, gVisor / Firecracker / E2B pour la production. Limitez le CPU, la mémoire, la durée et le réseau.
Questions Fréquemment Posées
La leçon « Exécution en bac à sable pour les agents de code » est-elle gratuite ?
Oui — le texte complet de « Exécution en bac à sable pour les agents de code » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Agents, passe à CoddyKit PRO. Le cours AI Agents comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Exécution en bac à sable pour les agents de code » ?
N’exécutez jamais du code généré par un modèle sur votre hôte : utilisez des bacs à sable gVisor, Firecracker ou E2B. Tu pratiques AI Agents avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer AI Agents ?
Aucune expérience préalable n'est requise. AI Agents sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Exécution en bac à sable pour les agents de code » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon AI Agents ?
Oui. Chaque leçon AI Agents inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Protections contre l’injection de prompt
- Filtrage des sorties (Llama Guard, NeMo)
- Exécution en bac à sable pour les agents de code
- Contrôle d’accès aux outils