Bac à sable pour agents de codage IA. Exécute Copilot CLI, Claude Code, OpenCode, Gemini CLI, Antigravity, Pi, goose ou un shell simple dans un bac à sable au niveau du noyau, avec des garde-fous git et gh et une politique de bac à sable versionnée dans le dépôt.
Bac à sable appliqué par le noyau pour les agents de codage IA. cplt encapsule GitHub Copilot CLI, OpenCode, Gemini CLI, Antigravity CLI, Pi, Claude Code, goose, DeepSeek Harness, ou n'importe quel shell, afin que l'agent puisse écrire du code mais ne puisse pas voler des identifiants, pousser vers main, fusionner des PR, ou exfiltrer des secrets.
sandbox-exec
Les agents IA exécutent du code arbitraire. Un agent compromis, que ce soit par injection de prompt, attaque de la chaîne d'approvisionnement, ou serveur MCP malveillant, peut lire ~/.ssh, pousser vers main, fusionner des PR, ou exfiltrer votre code, à moins que l'OS lui-même ne dise non.
cplt vous offre une application au niveau du noyau avec une politique configurable par équipe :
.cplt.toml, versionnée dans le contrôle de version, donc infalsifiable et auditableDocumentation détaillée : Configuration · Proxy & filtrage de domaines · Garde de commande gh · Garde de commande git · Impacts connus · Détails de sécurité · Modèle de sécurité
brew install navikt/tap/cplt # macOS. On Debian or Ubuntu, see apt below
cplt --shell-install # make 'copilot' run sandboxed (persistent)
# --agent opencode for any other agent
cplt doctor # check your environment
cplt -- -p "fix the tests" # run Copilot in sandbox
Autres agents et commandes sandbox :
cplt --agent opencode # OpenCode (Copilot subscription)
cplt --agent opencode --pass-env ANTHROPIC_API_KEY # third-party provider
cplt --agent shell # interactive sandboxed shell (no AI)
cplt exec -- npm install # sandbox any command directly
cplt exec -c "npm install && npm test" # compound commands in sandbox
alias npm="cplt exec -- npm" # sandboxed npm for every invocation
# 1. Generate per-repo policy
cplt init --write
# 2. Developers approve on first run
cplt trust accept --all
# 3. Tune the command guards (both block by default)
cplt config set git_guard.protect_default_branch_only false # block every push, not just main
cplt config set git_guard.mode warn # observe instead of blocking
Le bac à sable bloque l'accès aux identifiants et aux secrets dans le noyau. Les gardes de commandes bloquent les opérations destructrices. Chaque restriction s'applique à l'agent et à chaque processus qu'il engendre.