16 points par GN⁺ 2026-03-09 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • 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.

Aucun commentaire pour le moment.