- Un outil qui isole les agents IA locaux via le sandbox natif de macOS afin d’empêcher toute modification en dehors du système autorisé
- Tous les agents s’exécutent dans un environnement sandbox indépendant, sans accès au répertoire personnel de l’utilisateur ni aux autres projets
- Application d’un modèle d’accès deny-first, où seuls les répertoires explicitement autorisés peuvent être lus ou modifiés
- L’installation se fait avec un unique script Bash, exécutable immédiatement sans build ni dépendances supplémentaires
- Une fonction de génération de profil basée sur un LLM permet d’automatiser la configuration
sandbox-exec selon le principe du moindre privilège
Vue d’ensemble
- Agent Safehouse est un système de sandboxing dédié à macOS qui protège les fichiers du système contre les dommages potentiels causés par des agents IA exécutés en local
- « Go full
--yolo. We've got you. » « Move fast, break nothing »
- Il bloque les risques d’exécution de commandes imprévues liés au caractère probabiliste des LLM
- Tous les principaux agents fonctionnent intégralement dans le sandbox, sans effet sur le système extérieur
- Il adopte un modèle d’accès deny-first : tous les accès sont bloqués par défaut, et seuls les chemins explicitement autorisés sont accessibles
- Exemple :
~/my-project est autorisé en lecture/écriture, tandis que ~/.ssh, ~/.aws, ~/other-repos sont refusés
Installation et exécution
- L’installation se fait en téléchargeant un unique script shell
- Le script est récupéré avec la commande
curl, enregistré dans ~/.local/bin/safehouse, puis rendu exécutable
- L’agent souhaité peut ensuite être lancé avec la commande
safehouse
- Exemple :
safehouse claude --dangerously-skip-permissions
- Par défaut, Safehouse accorde les droits de lecture/écriture au répertoire de travail courant (racine git), et un accès en lecture seule au répertoire de la toolchain
Exemples de validation du sandbox
- L’accès aux fichiers sensibles est bloqué au niveau du noyau
- L’exécution de
safehouse cat ~/.ssh/id_ed25519 provoque l’erreur « Operation not permitted »
- Les autres répertoires de projet (
~/other-project) ne sont pas visibles
- Le répertoire du projet en cours reste accessible normalement
Automatisation et génération de profils
- En ajoutant une fonction shell, tous les agents peuvent être exécutés par défaut dans Safehouse
- Exemple : définir une fonction
safe() dans .zshrc ou .bashrc pour sandboxer automatiquement les commandes claude, codex, amp, gemini
- Pour lancer un agent sans sandbox, il suffit d’utiliser la forme
command claude
- Une fonction de génération de profils basée sur un LLM est fournie
- Des modèles comme Claude, Codex ou Gemini analysent les templates Safehouse afin de générer un profil
sandbox-exec à privilèges minimaux
- Le profil est enregistré dans
~/.config/sandbox-exec.profile à partir des informations sur le répertoire personnel et la toolchain
- Il inclut les droits d’accès au répertoire de travail courant ainsi que des raccourcis de commande propres à chaque agent
Sécurité et intérêt pratique
- Il empêche les agents locaux basés sur des LLM de supprimer des fichiers ou de modifier le système de manière involontaire
- Il fournit un environnement d’exécution sûr par défaut en s’appuyant sur le contrôle d’accès au niveau du noyau de macOS
- Basé sur un script unique, il peut être facilement intégré au workflow des développeurs
Aucun commentaire pour le moment.