- Outil permettant d’exécuter des agents de codage IA avec les privilèges complets du système tout en bloquant le risque d’endommager le répertoire personnel
- Les principaux CLI IA comme Claude Code, Codex, Gemini CLI, OpenCode sont préconfigurés et peuvent être lancés en mode « YOLO »
- Monte uniquement le répertoire du projet dans un conteneur Docker ou Podman, en excluant par défaut le répertoire personnel
- Fournit des privilèges sudo et des volumes persistants dans le conteneur afin de conserver les outils et les réglages entre les sessions
- Offre un environnement sandbox isolé pour permettre aux développeurs d’expérimenter en toute sécurité les fonctions d’automatisation par IA
Vue d’ensemble
- Yolobox est un outil qui exécute des agents de codage IA à l’intérieur d’un conteneur afin de protéger le système tout en leur accordant des privilèges d’exécution complets
- Même si l’IA exécute par erreur une commande destructive comme
rm -rf ~, le répertoire personnel n’est pas affecté
- Le répertoire du projet est monté sur
/workspace, tandis que le répertoire personnel n’est pas monté par défaut
- Les outils et réglages sont conservés entre les sessions grâce à des volumes persistants
Configuration et fonctionnalités principales
- À l’intérieur du conteneur, l’agent IA dispose des privilèges sudo et peut exécuter librement des commandes
- L’image de base inclut les éléments suivants
- CLI IA : Claude Code, Gemini CLI, OpenAI Codex, OpenCode (tous configurés en mode d’exécution automatique)
- Environnement de développement : Node.js 22, Python 3, make, cmake, gcc, Git, GitHub CLI
- Utilitaires : ripgrep, fd, fzf, jq, vim
- Si nécessaire, l’utilisateur peut installer lui-même des paquets supplémentaires avec sudo
Exécution et commandes
- Entrée dans le shell sandbox avec la commande
yolobox
- Exécution possible d’une commande unique avec
yolobox run
- Commandes de gestion disponibles :
yolobox upgrade, yolobox config, yolobox reset --force, yolobox version
- Principaux drapeaux
--runtime : choisir docker ou podman
--no-network : désactiver le réseau
--readonly-project : monter le projet en lecture seule
--claude-config : copier la configuration Claude de l’hôte dans le conteneur
Modèle de sécurité
- Utilise l’isolation du conteneur comme frontière de sécurité
- Le conteneur isole le système de fichiers, les processus et le réseau via les espaces de noms Linux
- L’IA dispose des privilèges root dans le conteneur, mais ne peut pas accéder au système extérieur
- Éléments protégés
- Répertoire personnel, clés SSH, identifiants, dotfiles, autres projets, fichiers système de l’hôte
- Éléments non protégés
- Répertoire du projet (accessible en lecture/écriture par défaut)
- Accès réseau (peut être bloqué en option)
- Vulnérabilités du noyau ou attaques d’évasion de conteneur
Étapes de renforcement de la sécurité
- Mode par défaut : isolation standard par conteneur
- Étape 2 : réduction de la surface d’attaque avec les options
--no-network --readonly-project
- Étape 3 : utilisation de Rootless Podman pour supprimer les privilèges root sur l’hôte
- Le root du conteneur est mappé à un utilisateur normal de l’hôte, ce qui minimise les dégâts en cas d’évasion
- Étape 4 : exécution dans une VM pour supprimer le partage du noyau
- Sur macOS : UTM, Parallels, Lima ; sur Linux : Podman machine ou une VM dédiée
Isolation réseau
- Rootless Podman utilise par défaut le réseau slirp4netns, isolé du réseau de l’hôte
- Le paramètre
allow_host_loopback=false permet de bloquer l’accès au réseau local
Licence et autres informations
- Distribué sous licence MIT
- Répartition des langages du dépôt : Go 75.9 %, Dockerfile 13.6 %, Shell 8.7 %, Makefile 1.8 %
- Le nom « Yolobox » vient de l’esprit « YOLO (You Only Live Once) » et désigne un environnement où l’on peut exécuter l’IA librement tout en restant isolé en toute sécurité
Aucun commentaire pour le moment.