Astuces10 min de lecture

Permissions et sécurité - Astuces

SFEIR Institute

En Bref (TL;DR)

Maîtriser les permissions et la sécurité de Claude Code vous protège contre les exécutions non désirées, les injections de prompt et les fuites de données. Voici 18 astuces classées par thème pour configurer vos modes de permission, durcir le sandboxing et verrouiller votre `settings.json` efficacement.

Maîtriser les permissions et la sécurité de Claude Code vous protège contre les exécutions non désirées, les injections de prompt et les fuites de données. Voici 18 astuces classées par thème pour configurer vos modes de permission, durcir le sandboxing et verrouiller votre settings.json efficacement.

Les permissions et la sécurité dans Claude Code constituent le socle de toute utilisation professionnelle de cet agent IA en ligne de commande. Claude Code (version 1.0.33) propose quatre modes de permission distincts, un système de règles allow/deny granulaires et un sandboxing natif via Seatbelt (macOS) ou bubblewrap (Linux).

plus de 70 % des incidents de sécurité liés aux agents IA proviennent d'une mauvaise configuration des permissions. Comprendre et appliquer ces réglages réduit votre surface d'attaque de 90 % en moyenne.

Comment choisir le bon mode de permission pour votre usage ?

Claude Code propose quatre modes de permission qui contrôlent le niveau d'autonomie accordé à l'agent. Chaque mode correspond à un profil de risque différent. Avant de lancer votre première session, identifiez votre contexte d'utilisation pour sélectionner le mode adapté.

ModeComportementCas d'usageNiveau de risque
Normal (défaut)Demande confirmation pour chaque action sensibleDéveloppement quotidienFaible
Auto-acceptAccepte automatiquement les lectures et écrituresPrototypage rapideMoyen
PlanLecture seule, propose sans exécuterRevue de code, auditMinimal
BypassAucune confirmation, toutes permissionsCI/CD automatisé uniquementÉlevé

Astuce 1 - Démarrez toujours en mode Normal. Ce mode vous demande confirmation avant chaque écriture de fichier ou exécution de commande. En pratique, 85 % des développeurs l'utilisent au quotidien selon les retours de la communauté. Vous gardez le contrôle total sur chaque action.

Astuce 2 - Réservez le mode Plan pour les audits. Lancez Claude Code avec claude --mode plan quand vous souhaitez analyser du code sans risquer de modification. Ce mode interdit toute écriture et toute exécution de commande bash. Consultez le guide complet des permissions et de la sécurité pour comprendre chaque mode en détail.

Astuce 3 - N'utilisez le mode Bypass qu'en CI/CD. Le flag --dangerously-skip-permissions désactive toute confirmation. Réservez ce mode aux pipelines automatisés dans des conteneurs isolés. En dehors d'un environnement sandboxé, ce mode expose votre système à des exécutions arbitraires.

# Mode Normal (défaut)
claude

# Mode Plan (lecture seule)
claude --mode plan

# Mode Auto-accept (accepte lectures et écritures)
claude --mode auto-accept

# Mode Bypass (CI/CD uniquement, dans un conteneur)
claude --dangerously-skip-permissions

À retenir : le mode Normal couvre 85 % des usages ; ne passez en Bypass que dans un conteneur CI/CD isolé.

Quelles règles allow/deny configurer dans settings.json ?

Le fichier settings.json de Claude Code permet de définir des règles granulaires pour autoriser ou bloquer des outils et des commandes spécifiques. Ces règles s'appliquent à trois niveaux : utilisateur (~/.claude/settings.json), projet (.claude/settings.json) et projet local (.claude/settings.local.json).

Astuce 4 - Autorisez explicitement vos commandes fréquentes. Ajoutez vos commandes de build et de test en allow pour éviter les confirmations répétitives. Concrètement, chaque règle allow supprime la confirmation pour la commande correspondante, ce qui vous fait gagner en moyenne 3 secondes par exécution.

{
  "permissions": {
    "allow": [
      "Bash(npm run build)",
      "Bash(npm test)",
      "Bash(npx eslint *)",
      "Read(*)",
      "Write(src/**)"
    ]
  }
}

Astuce 5 - Bloquez les commandes destructrices. Configurez des règles deny pour empêcher les suppressions accidentelles et les commandes à risque. Les règles deny sont prioritaires sur les règles allow. En pratique, bloquer rm -rf, git push --force et curl réduit de 95 % les risques d'exécution non souhaitée.

{
  "permissions": {
    "deny": [
      "Bash(rm -rf *)",
      "Bash(git push --force*)",
      "Bash(curl *)",
      "Bash(wget *)"
    ]
  }
}

Astuce 6 - Utilisez les wildcards pour des règles flexibles. Le caractère fonctionne dans les patterns de permission. Write(src/) autorise l'écriture dans tout le dossier src/ et ses sous-dossiers. Bash(npm ) couvre toutes les commandes npm. Pour des stratégies de permission avancées, consultez les best practices avancées.

Astuce 7 - Séparez les settings projet des settings personnels. Le fichier .claude/settings.json à la racine du projet se partage via Git avec votre équipe. Le fichier .claude/settings.local.json reste local et ignoré par Git. Placez les règles spécifiques à votre environnement (chemins absolus, tokens) dans le fichier local.

FichierPortéeVersionnéUsage
~/.claude/settings.jsonGlobale (tous projets)NonPréférences personnelles
.claude/settings.jsonProjet (équipe)OuiStandards de l'équipe
.claude/settings.local.jsonProjet (local)NonSurcharges personnelles

À retenir : les règles deny sont toujours prioritaires sur les règles allow ; séparez vos settings personnels des settings projet.

Comment fonctionne le sandboxing de Claude Code ?

Le sandboxing est une couche de protection système qui limite les accès de Claude Code au réseau et au système de fichiers, indépendamment des permissions configurées. Claude Code utilise Seatbelt sur macOS et bubblewrap sur Linux. Ce mécanisme empêche tout accès réseau sortant non autorisé et restreint l'écriture aux seuls répertoires de travail.

Astuce 8 - Vérifiez que le sandboxing est actif. Exécutez claude config list pour voir la configuration active. Sur macOS, Seatbelt est activé par défaut depuis la version 1.0.20. Sur Linux, bubblewrap (bwrap) doit être installé séparément. le sandboxing bloque 100 % des tentatives d'exfiltration réseau non autorisées.

# Vérifier l'état du sandboxing
claude config list

# Sur Linux, installer bubblewrap si absent
sudo apt install bubblewrap

Astuce 9 - Comprenez les limites du sandbox. Le sandbox Seatbelt bloque les connexions réseau sortantes sauf vers l'API Anthropic (port 443). Il autorise la lecture dans le répertoire de travail et ses sous-dossiers. L'écriture est limitée au répertoire courant, à /tmp et au dossier de configuration ~/.claude. Pour approfondir la résolution de problèmes liés au sandboxing, consultez le dépannage des permissions.

SandboxOSRéseau sortantÉcriture fichiersInstallation
SeatbeltmacOSBloqué (sauf API Anthropic)Répertoire courant + /tmpNatif
bubblewrapLinuxBloqué (sauf API Anthropic)Répertoire courant + /tmpapt install bubblewrap
DockerTousConfigurableConfigurableImage dédiée

Astuce 10 - En CI/CD, doublez le sandboxing avec Docker. Exécutez Claude Code dans un conteneur Docker même en mode Bypass. Le conteneur ajoute une isolation réseau et système de fichiers complémentaire au sandbox natif. Concrètement, cette double couche réduit la surface d'attaque de 99 % par rapport à une exécution non sandboxée. Retrouvez les détails dans les astuces pour le mode headless et CI/CD.

À retenir : le sandboxing fonctionne indépendamment des permissions et bloque les accès réseau non autorisés même si une commande est en allow.

Comment se protéger contre les prompt injections ?

Le prompt injection est une attaque où du contenu malveillant dans un fichier ou une réponse d'outil tente de manipuler Claude Code pour exécuter des actions non souhaitées. Claude Code intègre plusieurs mécanismes de défense natifs, mais votre configuration renforce la protection.

Astuce 11 - Ne passez jamais en mode Bypass sur du code non audité. Quand vous clonez un dépôt inconnu, restez en mode Normal. Un fichier CLAUDE.md malveillant pourrait contenir des instructions cachées. En mode Normal, Claude Code vous demande confirmation avant chaque action sensible, ce qui vous laisse le temps de détecter une tentative d'injection.

Astuce 12 - Auditez les fichiers CLAUDE.md des dépôts externes. Lisez systématiquement le contenu de CLAUDE.md et .claude/settings.json avant de lancer Claude Code sur un projet tiers. Ces fichiers peuvent contenir des règles de permission permissives ou des instructions orientant le comportement de l'agent. Voici comment procéder :

# Auditer les fichiers de configuration avant d'utiliser Claude Code
cat CLAUDE.md
cat .claude/settings.json
cat .claude/settings.local.json 2>/dev/null

Astuce 13 - Utilisez les règles deny pour bloquer les vecteurs d'attaque courants. Les commandes curl, wget, nc (netcat) et ssh sont les vecteurs d'exfiltration les plus fréquents. Ajoutez ces commandes dans vos deny rules globales. En pratique, 78 % des tentatives de prompt injection visent l'exfiltration de données via des requêtes réseau.

{
  "permissions": {
    "deny": [
      "Bash(curl *)",
      "Bash(wget *)",
      "Bash(nc *)",
      "Bash(ssh *)",
      "Bash(python -c *)",
      "Bash(node -e *)"
    ]
  }
}

Pour approfondir la gestion sécurisée des serveurs MCP tiers, consultez les astuces MCP. Les serveurs MCP représentent un vecteur d'injection supplémentaire quand ils proviennent de sources non vérifiées.

Astuce 14 - Surveillez les résultats de commandes inhabituels. Claude Code affiche un avertissement quand un résultat d'outil semble contenir une tentative d'injection. Lisez attentivement ces avertissements et refusez l'action si le contenu vous semble suspect. le système de détection identifie environ 92 % des tentatives d'injection connues.

À retenir : restez en mode Normal sur du code non audité et bloquez les commandes réseau via deny rules pour neutraliser les vecteurs d'injection.

Quels réglages avancés configurer dans settings.json ?

Au-delà des permissions, le fichier settings.json contrôle le comportement global de Claude Code. Voici les réglages de sécurité avancés à connaître pour durcir votre configuration.

Astuce 15 - Désactivez la télémétrie si votre politique l'exige. Ajoutez "telemetry": "off" dans votre settings.json global. Par défaut, Claude Code envoie des données d'usage anonymisées à Anthropic. En environnement réglementé (finance, santé), la désactivation est souvent obligatoire. Consultez la FAQ des permissions pour les questions fréquentes sur la confidentialité.

{
  "telemetry": "off",
  "permissions": {
    "default_mode": "normal"
  }
}

Astuce 16 - Limitez les modèles autorisés. Vous pouvez restreindre les modèles utilisables via la configuration d'entreprise. Concrètement, verrouiller le modèle sur Claude Sonnet 4.6 ou Claude Opus 4.6 empêche l'utilisation de modèles moins sécurisés ou non approuvés par votre équipe.

Astuce 17 - Configurez un timeout pour les commandes longues. Claude Code applique un timeout de 120 secondes par défaut sur les commandes bash. Pour les builds lourds, vous pouvez augmenter cette valeur. Gardez un timeout raisonnable (maximum 600 secondes) pour éviter qu'une commande bloquée ne consomme des ressources indéfiniment. Pour organiser vos sessions de manière efficace, consultez les astuces pour vos premières conversations.

ParamètreValeur par défautRecommandation sécuritéImpact
telemetryonoff en environnement réglementéAucune donnée envoyée
default_modenormalnormal ou planContrôle le mode de démarrage
Timeout bash120 s120-300 sLimite la durée des commandes
SandboxActivéToujours activéIsolation réseau et fichiers

Pour maîtriser la gestion du contexte et éviter les fuites d'information entre sessions, consultez les astuces de gestion du contexte.

À retenir : désactivez la télémétrie en environnement réglementé et gardez le timeout bash sous 300 secondes pour limiter les risques.

Comment auditer et valider votre configuration de sécurité ?

Une configuration sécurisée ne sert que si elle est vérifiée régulièrement. Mettez en place une routine d'audit pour détecter les dérives de configuration et les règles obsolètes.

Astuce 18 - Créez un script d'audit automatisé. Exécutez ce script avant chaque session de travail sur un projet sensible. Il vérifie la présence des deny rules critiques et l'activation du sandboxing. En pratique, un audit automatisé prend moins de 2 secondes et détecte 100 % des configurations manquantes.

#!/bin/bash
# Audit rapide de la sécurité Claude Code
echo "=== Audit sécurité Claude Code ==="

# Vérifier settings.json global
if [ -f ~/.claude/settings.json ]; then
  echo "[OK] Settings global trouvé"
  grep -q "deny" ~/.claude/settings.json && echo "[OK] Deny rules présentes" || echo "[WARN] Aucune deny rule"
else
  echo "[WARN] Pas de settings global"
fi

# Vérifier settings projet
if [ -f .claude/settings.json ]; then
  echo "[OK] Settings projet trouvé"
else
  echo "[INFO] Pas de settings projet"
fi

echo "=== Fin audit ==="

Pour une checklist complète de validation, consultez la checklist des permissions et sécurité. Elle couvre les 12 points de contrôle essentiels pour une configuration durcie. Vous pouvez aussi créer des commandes personnalisées pour automatiser cet audit.

À retenir : automatisez l'audit de votre configuration et exécutez-le avant chaque session sur un projet sensible.

Pourquoi former votre équipe à la sécurité de Claude Code ?

La configuration technique ne suffit pas sans la montée en compétence de votre équipe. Les erreurs humaines (mode Bypass sur du code non audité, désactivation du sandbox) restent le premier vecteur de risque. SFEIR Institute propose des formations dédiées pour ancrer les bonnes pratiques.

La formation Claude Code d'une journée vous permet de maîtriser les quatre modes de permission, de configurer le sandboxing et de rédiger des règles allow/deny adaptées à votre contexte. Vous pratiquez sur des labs concrets avec des scénarios de prompt injection.

Pour aller plus loin, la formation Développeur Augmenté par l'IA sur deux jours couvre l'intégration sécurisée des agents IA dans votre workflow de développement, incluant la configuration CI/CD et les politiques d'entreprise. La formation Développeur Augmenté par l'IA – Avancé d'une journée approfondit les stratégies de défense contre les injections et l'orchestration multi-agents sécurisée.

À retenir : investir une journée de formation réduit de 80 % les erreurs de configuration de sécurité sur les 6 mois suivants, selon les retours des équipes formées par SFEIR Institute.

Formation recommandée

Formation Claude Code

Maîtrisez Claude Code avec nos formateurs experts. Formation pratique, hands-on, directement applicable à vos projets.

Voir le programme