cleankoda logo

Configuration de Sandbox

cleankoda accorde une importance capitale à la sécurité et à la traçabilité. Grâce au bac à sable intégré, les commandes shell potentiellement destructrices, les tests ou les processus de compilation ne sont pas exécutés de manière incontrôlée sur votre système hôte, mais isolés et encapsulés dans un conteneur Docker dédié.

Modèle d’isolation et de sécurité

Lorsqu’un bac à sable est activé, des mécanismes de protection stricts sont appliqués :

  • Exécution de commandes isolée : Toutes les commandes Bash de l’agent de développement s’exécutent exclusivement dans le conteneur Docker du bac à sable.

  • Liaison au système de fichiers : Le répertoire du projet actuel est monté dans le conteneur.

  • Aucun accès au système hôte : Les opérations sur les fichiers telles que la lecture, l’écriture et l’affichage du répertoire sont strictement limitées au répertoire du projet actuel. L’agent n’a aucun accès aux dossiers parents, à votre répertoire utilisateur ni à aucune autre zone sensible de votre ordinateur.

  • Contrôle du bac à sable (/sandbox)

Le bac à sable est géré directement via le terminal à l’aide de la commande :

/sandbox

Cette commande ouvre une boîte de dialogue de sélection permettant de choisir parmi les environnements préconfigurés :

  • Python + uv : Optimisé pour les projets Python modernes, avec une gestion rapide des outils et des dépendances via uv.

  • Java + Maven : Conçu pour les applications Java avec des builds Maven et des environnements JDK standard.

  • Node.js : Fourni pour le développement JavaScript et TypeScript avec npm, yarn ou pnpm.

Désactivation du bac à sable

Si vous souhaitez exécuter des commandes directement sur votre machine de développement, vous pouvez désactiver le bac à sable à tout moment :

  • Via la commande directe :
/sandbox off
  • Ou via la boîte de dialogue de sélection /sandbox en sélectionnant l’option host.

Remarque : En mode hôte, les commandes s’exécutent directement dans votre shell local, sans isolation Docker.

Persistance dans config.json

Votre sélection est automatiquement enregistrée dans le fichier de configuration global :

~/.config/cleankoda/config.json

Exemple de structure :

{
  "provider": "anthropic",
  "model": "claude-3-7-sonnet-20250219",
  "sandbox": "python-uv"
}

Au prochain lancement de cleankoda dans le répertoire du projet, le sandbox sélectionné sera automatiquement restauré et initialisé.