Gérer les permissions et la sécurité
Découvrez le système de permissions de Claude Code, l’accès aux outils et les mesures de sécurité.
Claude Code utilise un système de permissions à plusieurs niveaux pour équilibrer puissance et sécurité :
Type d’outil | Exemple | Approbation requise | Comportement “Oui, ne plus demander” |
---|---|---|---|
Lecture seule | Lectures de fichiers, LS, Grep | Non | N/A |
Commandes Bash | Exécution shell | Oui | Permanent par répertoire de projet et commande |
Modification de fichiers | Édition/écriture de fichiers | Oui | Jusqu’à la fin de la session |
Outils disponibles pour Claude
Claude Code a accès à un ensemble d’outils puissants qui l’aident à comprendre et modifier votre base de code :
Outil | Description | Permission requise |
---|---|---|
Agent | Exécute un sous-agent pour gérer des tâches complexes en plusieurs étapes | Non |
Bash | Exécute des commandes shell dans votre environnement | Oui |
Glob | Trouve des fichiers basés sur la correspondance de motifs | Non |
Grep | Recherche des motifs dans le contenu des fichiers | Non |
LS | Liste les fichiers et répertoires | Non |
Read | Lit le contenu des fichiers | Non |
Edit | Effectue des modifications ciblées sur des fichiers spécifiques | Oui |
Write | Crée ou écrase des fichiers | Oui |
NotebookEdit | Modifie les cellules du notebook Jupyter | Oui |
NotebookRead | Lit et affiche le contenu du notebook Jupyter | Non |
WebFetch | Récupère du contenu depuis une URL spécifiée | Oui |
Les règles de permission peuvent être configurées en utilisant /allowed-tools
ou dans les paramètres de permission.
Protection contre l’injection de prompts
L’injection de prompts est une technique où un attaquant tente de contourner ou de manipuler les instructions d’un assistant IA en insérant du texte malveillant. Claude Code inclut plusieurs protections contre ces attaques :
- Système de permissions : Les opérations sensibles nécessitent une approbation explicite
- Analyse contextuelle : Détecte les instructions potentiellement dangereuses en analysant la requête complète
- Assainissement des entrées : Empêche l’injection de commandes en traitant les entrées utilisateur
- Liste noire de commandes : Bloque les commandes risquées qui récupèrent du contenu arbitraire depuis le web comme
curl
etwget
Bonnes pratiques pour travailler avec du contenu non fiable :
- Examiner les commandes suggérées avant approbation
- Éviter de rediriger directement du contenu non fiable vers Claude
- Vérifier les modifications proposées aux fichiers critiques
- Signaler les comportements suspects avec
/bug
Bien que ces protections réduisent significativement les risques, aucun système n’est complètement immunisé contre toutes les attaques. Maintenez toujours de bonnes pratiques de sécurité lorsque vous travaillez avec un outil d’IA.
Configurer l’accès réseau
Claude Code nécessite l’accès à :
- api.anthropic.com
- statsig.anthropic.com
- sentry.io
Ajoutez ces URLs à la liste blanche lors de l’utilisation de Claude Code dans des environnements conteneurisés.
Implémentation de référence du conteneur de développement
Claude Code fournit une configuration de conteneur de développement pour les équipes qui ont besoin d’environnements cohérents et sécurisés. Cette configuration devcontainer préconfigurée fonctionne parfaitement avec l’extension Remote - Containers de VS Code et des outils similaires.
Les mesures de sécurité renforcées du conteneur (isolation et règles de pare-feu) vous permettent d’exécuter claude --dangerously-skip-permissions
pour contourner les invites de permission en fonctionnement sans surveillance. Nous avons inclus une implémentation de référence que vous pouvez personnaliser selon vos besoins.
Bien que le devcontainer fournisse des protections substantielles, aucun système n’est complètement immunisé contre toutes les attaques. Maintenez toujours de bonnes pratiques de sécurité et surveillez les activités de Claude.
Fonctionnalités principales
- Node.js prêt pour la production : Basé sur Node.js 20 avec les dépendances de développement essentielles
- Sécurité par conception : Pare-feu personnalisé limitant l’accès réseau aux services nécessaires uniquement
- Outils adaptés aux développeurs : Inclut git, ZSH avec des améliorations de productivité, fzf, et plus
- Intégration transparente avec VS Code : Extensions préconfigurées et paramètres optimisés
- Persistance des sessions : Conserve l’historique des commandes et les configurations entre les redémarrages du conteneur
- Fonctionne partout : Compatible avec les environnements de développement macOS, Windows et Linux
Démarrage en 4 étapes
- Installer VS Code et l’extension Remote - Containers
- Cloner le dépôt de l’implémentation de référence Claude Code
- Ouvrir le dépôt dans VS Code
- Lorsque vous y êtes invité, cliquez sur “Rouvrir dans le conteneur” (ou utilisez la Palette de commandes : Cmd+Shift+P → “Remote-Containers: Rouvrir dans le conteneur”)
Détail de la configuration
La configuration devcontainer se compose de trois composants principaux :
- devcontainer.json : Contrôle les paramètres du conteneur, les extensions et les montages de volumes
- Dockerfile : Définit l’image du conteneur et les outils installés
- init-firewall.sh : Établit les règles de sécurité réseau
Fonctionnalités de sécurité
Le conteneur implémente une approche de sécurité multicouche avec sa configuration de pare-feu :
- Contrôle d’accès précis : Restreint les connexions sortantes aux domaines en liste blanche uniquement (registre npm, GitHub, API Anthropic, etc.)
- Politique de refus par défaut : Bloque tout autre accès réseau externe
- Vérification au démarrage : Valide les règles du pare-feu lors de l’initialisation du conteneur
- Isolation : Crée un environnement de développement sécurisé séparé de votre système principal
Options de personnalisation
La configuration devcontainer est conçue pour être adaptable à vos besoins :
- Ajouter ou supprimer des extensions VS Code selon votre flux de travail
- Modifier les allocations de ressources pour différents environnements matériels
- Ajuster les permissions d’accès réseau
- Personnaliser les configurations shell et les outils de développement
Was this page helpful?