Aperçu
Claude Code dispose d’une isolation de sécurité native pour fournir un environnement plus sûr pour l’exécution des agents tout en réduisant le besoin de demandes de permission constantes. Au lieu de demander une permission pour chaque commande bash, l’isolation de sécurité crée des limites définies à l’avance où Claude Code peut travailler plus librement avec un risque réduit. L’outil bash en bac à sable utilise des primitives au niveau du système d’exploitation pour appliquer à la fois l’isolation du système de fichiers et du réseau.Pourquoi l’isolation de sécurité est importante
La sécurité basée sur les permissions traditionnelles nécessite une approbation constante de l’utilisateur pour les commandes bash. Bien que cela fournisse un contrôle, cela peut entraîner :- Fatigue d’approbation : Cliquer répétitivement sur « approuver » peut amener les utilisateurs à faire moins attention à ce qu’ils approuvent
- Productivité réduite : Les interruptions constantes ralentissent les flux de travail de développement
- Autonomie limitée : Claude Code ne peut pas travailler aussi efficacement en attendant les approbations
- Définissant des limites claires : Spécifiez exactement quels répertoires et hôtes réseau Claude Code peut accéder
- Réduisant les demandes de permission : Les commandes sûres dans le bac à sable ne nécessitent pas d’approbation
- Maintenant la sécurité : Les tentatives d’accès aux ressources en dehors du bac à sable déclenchent des notifications immédiates
- Permettant l’autonomie : Claude Code peut s’exécuter plus indépendamment dans les limites définies
Comment ça marche
Isolation du système de fichiers
L’outil bash en bac à sable restreint l’accès au système de fichiers à des répertoires spécifiques :- Comportement d’écriture par défaut : Accès en lecture et en écriture au répertoire de travail actuel et à ses sous-répertoires
- Comportement de lecture par défaut : Accès en lecture à l’ensemble de l’ordinateur, sauf certains répertoires refusés
- Accès bloqué : Impossible de modifier les fichiers en dehors du répertoire de travail actuel sans permission explicite
- Configurable : Définissez des chemins autorisés et refusés personnalisés via les paramètres
Isolation du réseau
L’accès au réseau est contrôlé via un serveur proxy s’exécutant en dehors du bac à sable :- Restrictions de domaine : Seuls les domaines approuvés peuvent être accédés
- Confirmation de l’utilisateur : Les nouvelles demandes de domaine déclenchent des demandes de permission
- Support de proxy personnalisé : Les utilisateurs avancés peuvent implémenter des règles personnalisées sur le trafic sortant
- Couverture complète : Les restrictions s’appliquent à tous les scripts, programmes et sous-processus générés par les commandes
Application au niveau du système d’exploitation
L’outil bash en bac à sable exploite les primitives de sécurité du système d’exploitation :- Linux : Utilise bubblewrap pour l’isolation
- macOS : Utilise Seatbelt pour l’application du bac à sable
Commencer
Activer l’isolation de sécurité
Vous pouvez activer l’isolation de sécurité en exécutant la commande slash/sandbox :
Configurer l’isolation de sécurité
Personnalisez le comportement du bac à sable via votre fichiersettings.json. Voir Paramètres pour la référence de configuration complète.
Claude Code inclut un mécanisme d’échappatoire intentionnel qui permet aux commandes de s’exécuter en dehors du bac à sable si nécessaire. Lorsqu’une commande échoue en raison des restrictions du bac à sable (comme des problèmes de connectivité réseau ou des outils incompatibles), Claude est invité à analyser l’échec et peut réessayer la commande avec le paramètre
dangerouslyDisableSandbox. Les commandes qui utilisent ce paramètre passent par le flux de permissions normal de Claude Code nécessitant la permission de l’utilisateur pour s’exécuter. Cela permet à Claude Code de gérer les cas limites où certains outils ou opérations réseau ne peuvent pas fonctionner dans les contraintes du bac à sable.Vous pouvez désactiver ce mécanisme d’échappatoire en définissant "allowUnsandboxedCommands": false dans vos paramètres de bac à sable. Lorsqu’il est désactivé, le paramètre dangerouslyDisableSandbox est complètement ignoré et toutes les commandes doivent s’exécuter en bac à sable ou être explicitement listées dans excludedCommands.Avantages de sécurité
Protection contre l’injection de prompt
Même si un attaquant manipule avec succès le comportement de Claude Code par injection de prompt, le bac à sable garantit que votre système reste sécurisé : Protection du système de fichiers :- Impossible de modifier les fichiers de configuration critiques tels que
~/.bashrc - Impossible de modifier les fichiers au niveau du système dans
/bin/ - Impossible de lire les fichiers refusés dans vos paramètres de permission Claude
- Impossible d’exfiltrer les données vers des serveurs contrôlés par l’attaquant
- Impossible de télécharger des scripts malveillants à partir de domaines non autorisés
- Impossible de faire des appels API inattendus vers des services non approuvés
- Impossible de contacter des domaines non explicitement autorisés
- Toutes les tentatives d’accès en dehors du bac à sable sont bloquées au niveau du système d’exploitation
- Vous recevez des notifications immédiates lorsque les limites sont testées
- Vous pouvez choisir de refuser, d’autoriser une fois ou de mettre à jour définitivement votre configuration
Surface d’attaque réduite
L’isolation de sécurité limite les dommages potentiels de :- Dépendances malveillantes : Packages NPM ou autres dépendances avec du code nuisible
- Scripts compromis : Scripts de construction ou outils avec des vulnérabilités de sécurité
- Ingénierie sociale : Attaques qui trompent les utilisateurs pour qu’ils exécutent des commandes dangereuses
- Injection de prompt : Attaques qui trompent Claude pour qu’il exécute des commandes dangereuses
Fonctionnement transparent
Lorsque Claude Code tente d’accéder aux ressources réseau en dehors du bac à sable :- L’opération est bloquée au niveau du système d’exploitation
- Vous recevez une notification immédiate
- Vous pouvez choisir de :
- Refuser la demande
- L’autoriser une fois
- Mettre à jour votre configuration de bac à sable pour l’autoriser définitivement
Limitations de sécurité
- Limitations de l’isolation du réseau : Le système de filtrage du réseau fonctionne en restreignant les domaines auxquels les processus sont autorisés à se connecter. Il n’inspecte pas autrement le trafic passant par le proxy et les utilisateurs sont responsables de s’assurer qu’ils n’autorisent que des domaines de confiance dans leur politique.
- Escalade de privilèges via les sockets Unix : La configuration
allowUnixSocketspeut accorder par inadvertance l’accès à des services système puissants qui pourraient entraîner des contournements du bac à sable. Par exemple, si elle est utilisée pour autoriser l’accès à/var/run/docker.sock, cela accorderait effectivement l’accès au système hôte en exploitant le socket docker. Les utilisateurs sont encouragés à examiner attentivement tous les sockets Unix qu’ils autorisent via le bac à sable. - Escalade de permissions du système de fichiers : Les permissions d’écriture du système de fichiers trop larges peuvent permettre les attaques d’escalade de privilèges. L’autorisation d’écritures dans les répertoires contenant des exécutables dans
$PATH, les répertoires de configuration système ou les fichiers de configuration du shell utilisateur (.bashrc,.zshrc) peut entraîner l’exécution de code dans différents contextes de sécurité lorsque d’autres utilisateurs ou processus système accèdent à ces fichiers. - Force du bac à sable Linux : L’implémentation Linux fournit une isolation forte du système de fichiers et du réseau mais inclut un mode
enableWeakerNestedSandboxqui lui permet de fonctionner à l’intérieur des environnements Docker sans espaces de noms privilégiés. Cette option affaiblit considérablement la sécurité et ne doit être utilisée que dans les cas où une isolation supplémentaire est autrement appliquée.
Utilisation avancée
Configuration de proxy personnalisée
Pour les organisations nécessitant une sécurité réseau avancée, vous pouvez implémenter un proxy personnalisé pour :- Déchiffrer et inspecter le trafic HTTPS
- Appliquer des règles de filtrage personnalisées
- Enregistrer toutes les demandes réseau
- Intégrer avec l’infrastructure de sécurité existante
Intégration avec les outils de sécurité existants
L’outil bash en bac à sable fonctionne aux côtés de :- Politiques IAM : Combinez avec les paramètres de permission pour une défense en profondeur
- Conteneurs de développement : Utilisez avec devcontainers pour une isolation supplémentaire
- Politiques d’entreprise : Appliquez les configurations du bac à sable via les paramètres gérés
Meilleures pratiques
- Commencez restrictif : Commencez avec des permissions minimales et développez selon les besoins
- Surveillez les journaux : Examinez les tentatives de violation du bac à sable pour comprendre les besoins de Claude Code
- Utilisez des configurations spécifiques à l’environnement : Différentes règles de bac à sable pour les contextes de développement par rapport à la production
- Combinez avec les permissions : Utilisez l’isolation de sécurité aux côtés des politiques IAM pour une sécurité complète
- Testez les configurations : Vérifiez que vos paramètres de bac à sable ne bloquent pas les flux de travail légitimes
Open source
Le runtime du bac à sable est disponible en tant que package npm open source pour une utilisation dans vos propres projets d’agent. Cela permet à la communauté plus large des agents IA de construire des systèmes autonomes plus sûrs et plus sécurisés. Cela peut également être utilisé pour mettre en bac à sable d’autres programmes que vous souhaitez exécuter. Par exemple, pour mettre en bac à sable un serveur MCP, vous pouvez exécuter :Limitations
- Surcharge de performance : Minimale, mais certaines opérations du système de fichiers peuvent être légèrement plus lentes
- Compatibilité : Certains outils qui nécessitent des modèles d’accès système spécifiques peuvent nécessiter des ajustements de configuration, ou même devront s’exécuter en dehors du bac à sable
- Support de plateforme : Supporte actuellement Linux et macOS ; le support Windows est prévu
Voir aussi
- Sécurité - Fonctionnalités de sécurité complètes et meilleures pratiques
- IAM - Configuration des permissions et contrôle d’accès
- Paramètres - Référence de configuration complète
- Référence CLI - Options de ligne de commande incluant
-sb