Sécurité Claude Code : Permissions, Sandboxing et Utilisation Sûre
Claude Code dispose d'un système de permissions qui vous permet de contrôler exactement ce que l'IA peut et ne peut pas faire. Voici comment le configurer pour un développement sûr.
Claude Code exécute des commandes et édite des fichiers dans votre environnement. Cette puissance nécessite des garde-fous. Le système de permissions vous permet de définir exactement ce à quoi Claude Code peut accéder, ce qu'il peut modifier et quelles actions nécessitent votre approbation explicite.
Comment fonctionne le système de permissions de Claude Code ?
Claude Code dispose de trois modes de permissions qui contrôlent le degré d'autonomie de l'agent :
| Mode | Comportement | Idéal pour |
|---|---|---|
| Normal | Demande la permission pour chaque utilisation d'outil | Apprentissage, bases de code sensibles |
| Auto-Accept | Approuve les actions sûres, demande pour les risquées | Développement quotidien |
| Plan Mode | Planifie les changements, attend l'approbation avant d'exécuter | Revue de code, changements d'architecture |
Comment configurer les règles allow/deny ?
Les permissions granulaires sont définies dans settings.json. Utilisez des patterns glob pour contrôler quels fichiers et commandes Claude Code peut utiliser :
// .claude/settings.json
{
"permissions": {
"allow": [
"Read:**",
"Edit:src/**",
"Edit:tests/**",
"Bash:npm run *",
"Bash:git *"
],
"deny": [
"Edit:.env*",
"Edit:*.secret",
"Edit:credentials/**",
"Bash:rm -rf *",
"Bash:curl * | bash",
"Bash:git push --force*"
]
}
}Quels fichiers devez-vous toujours protéger ?
- +Fichiers .env et .env.* (clés API, identifiants de base de données)
- +credentials/, secrets/, ou tout répertoire contenant des données sensibles
- +Fichiers de configuration CI/CD (.github/workflows/, .gitlab-ci.yml)
- +Fichiers d'infrastructure (terraform/, docker-compose.prod.yml)
- +Configuration d'authentification (auth.config.ts, paramètres OAuth)
Comment fonctionne le sandboxing ?
Claude Code utilise le sandboxing du système de fichiers pour restreindre l'endroit où l'agent peut opérer. Par défaut, il ne peut accéder qu'aux fichiers dans le répertoire de votre projet. Vous pouvez renforcer cela avec des règles allow/deny.
# Claude Code fonctionne dans un bac à sable par défaut :
# ✅ Peut lire/écrire les fichiers dans le répertoire de votre projet
# ❌ Ne peut pas accéder aux fichiers en dehors du projet
# ❌ Ne peut pas accéder aux fichiers système
# ❌ Ne peut pas accéder aux répertoires home d'autres utilisateurs
# Ajoutez des répertoires supplémentaires si nécessaire :
claude --add-dir /chemin/vers/bibliothèque/partagéeQuelles sont les bonnes pratiques de sécurité pour Claude Code ?
- +Toujours protéger les fichiers .env avec des règles deny
- +Utiliser le mode Normal quand vous travaillez sur du code sensible pour la première fois
- +Vérifier le diff avant d'autoriser les commits (le Plan Mode est excellent pour cela)
- +Définir --max-budget-usd pour éviter les coûts incontrôlés
- +Utiliser allowed-tools dans les Skills pour limiter ce que chaque skill peut faire
- +Auditer les permissions de vos serveurs MCP (utiliser des connexions base de données en lecture seule)
- +Ne jamais utiliser --dangerously-skip-permissions en dehors du CI/CD
Le flag --dangerously-skip-permissions désactive toutes les vérifications de permissions. N'utilisez ceci que dans les pipelines CI/CD avec des entrées contrôlées. Ne l'utilisez jamais dans les sessions de développement local.