0Pricing
AI Agents · Leçon

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

NiveauOutilUtilisation
Processussubprocess + chrootSécurité faible, développement uniquement
ConteneurDockerValeur par défaut correcte
VM / microVMFirecracker, gVisorIsolation renforcée
Sandbox hébergéeE2B, DaytonaProduction 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.py

Isolation 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

  1. Protections contre l’injection de prompt
  2. Filtrage des sorties (Llama Guard, NeMo)
  3. Exécution en bac à sable pour les agents de code
  4. Contrôle d’accès aux outils
← Retour à AI Agents