nah : Un garde d'autorisation contextuel pour Claude Code

✍️ OpenClawRadar📅 Publié: March 12, 2026🔗 Source
nah : Un garde d'autorisation contextuel pour Claude Code
Ad

Ce que fait nah

nah est un garde-permission basé sur Python qui s'intercale entre Claude Code et l'exécution des outils. Il répond aux limites du système de permission binaire autoriser-ou-refuser de Claude en ajoutant une prise de décision contextuelle. L'outil intercepte chaque appel d'outil avant son exécution et le classe en fonction de ce qu'il fait réellement.

Comment ça fonctionne

Chaque appel d'outil passe d'abord par un classifieur structurel déterministe (aucun LLM requis) qui s'exécute en millisecondes. Le classifieur associe les commandes à des types d'action comme :

  • filesystem_read
  • filesystem_delete
  • package_run
  • db_write
  • git_history_rewrite
  • lang_exec

Pour chaque type d'action, nah applique l'une des quatre politiques : autoriser, contexte (dépend de la cible), demander ou bloquer. La même commande reçoit des décisions différentes selon le contexte :

  • rm dist/bundle.js (dans le projet) → Autoriser
  • rm ~/.bashrc (en dehors du projet) → Demander
  • git push --force → Demander (réécriture de l'historique)
  • base64 -d | bash → Bloquer (décodage + pipe d'exécution)

Ce qu'il protège

nah vérifie différents aspects selon l'outil :

  • Bash : Classification structurelle des commandes — type d'action, composition des pipes, déballage du shell
  • Read : Détection des chemins sensibles (~/.ssh, ~/.aws, .env, ...)
  • Write : Vérification du chemin + limite du projet + inspection du contenu (secrets, exfiltration, charges destructives)
  • Edit : Vérification du chemin + limite du projet + inspection du contenu sur la chaîne de remplacement
  • Glob : Protège la recherche récursive dans les emplacements sensibles
  • Grep : Détecte les modèles de recherche d'identifiants en dehors du projet
  • MCP tools : Classification générique pour les serveurs d'outils tiers (mcp__*)
Ad

Installation et utilisation

Installez avec : pip install nah && nah install

Désinstallez avec : nah uninstall && pip uninstall nah

L'outil fonctionne immédiatement avec des paramètres par défaut raisonnables, sans nécessiter de configuration. Vous pouvez exécuter une démo de sécurité dans Claude Code avec : /nah-demo qui parcourt 25 cas en direct sur 8 catégories de menaces, y compris l'exécution de code à distance, l'exfiltration de données et les commandes obfusquées.

Options de configuration

Lorsque vous souhaitez personnaliser le comportement, vous pouvez configurer via :

  • ~/.config/nah/config.yaml (global)
  • .nah.yaml (par projet, ne peut que resserrer les permissions)

Exemple de configuration :

actions:
  filesystem_delete: ask  # toujours confirmer les suppressions
  git_history_rewrite: block  # jamais autoriser les force push
  lang_exec: allow  # faire confiance aux scripts inline

sensitive_paths: ~/.kube: ask ~/Documents/taxes: block

Couche LLM facultative

Pour les commandes que le classifieur déterministe ne peut pas résoudre, nah peut optionnellement consulter un LLM. Le flux est : Appel d'outil → nah (déterministe) → LLM (facultatif) → permissions de Claude Code → exécuter. La couche déterministe s'exécute toujours en premier — le LLM ne résout que les décisions "demander" restantes. Si aucun LLM n'est configuré ou disponible, la décision reste "demander" et l'utilisateur est invité. Les fournisseurs pris en charge incluent Ollama, OpenRouter, OpenAI, Anthropic et Snowflake Cortex.

Notes importantes

Les développeurs mettent spécifiquement en garde contre l'utilisation du drapeau --dangerously-skip-permissions de Claude Code. En mode contournement, les crochets se déclenchent de manière asynchrone — les commandes s'exécutent avant que nah puisse les bloquer. Au lieu de cela, ils recommandent d'autoriser des outils comme Bash, Read, Glob et Grep et de laisser nah les protéger.

📖 Read the full source: HN AI Agents

Ad

👀 See Also

Les entreprises qui réduisent leurs effectifs pour l'IA seront vaincues par celles qui ne l'ont pas fait.
Tools

Les entreprises qui réduisent leurs effectifs pour l'IA seront vaincues par celles qui ne l'ont pas fait.

Les réductions d'effectifs liées à l'IA sacrifient les connaissances institutionnelles à long terme pour des économies à court terme. Conserver les équipes et utiliser l'IA pour amplifier leurs capacités est la stratégie gagnante.

OpenClawRadar
Annuaire de Serveurs MCP Axé sur la Confidentialité Lance avec des Politiques Documentées de Gestion des Données
Tools

Annuaire de Serveurs MCP Axé sur la Confidentialité Lance avec des Politiques Documentées de Gestion des Données

Un nouveau répertoire sur toolora.dev/mcp-hub répertorie les serveurs MCP avec des politiques documentées de traitement des données, incluant la classification locale vs hébergée, les données que chaque outil transmet, et si des comptes sont requis. Le créateur fournit également une méthode de test navigateur pour vérifier les affirmations de confidentialité.

OpenClawRadar
Memento v1.0 : Mémoire persistante locale pour les agents d'IA de codage
Tools

Memento v1.0 : Mémoire persistante locale pour les agents d'IA de codage

Memento v1.0 est une couche de mémoire entièrement locale pour les agents d'IA de codage qui exécute les embeddings, le stockage et la recherche sur votre machine sans dépendances cloud. Il utilise des embeddings all-MiniLM-L6-v2, l'indexation HNSW et prend en charge plusieurs IDE avec 17 outils MCP.

OpenClawRadar
PocketBot : l'application iOS utilise Claude pour générer des automatisations JavaScript déterministes à partir du langage naturel.
Tools

PocketBot : l'application iOS utilise Claude pour générer des automatisations JavaScript déterministes à partir du langage naturel.

PocketBot est une application d'automatisation mobile iOS qui utilise Claude (via AWS Bedrock) pour transformer des requêtes en langage naturel en automations JavaScript déterministes. Les utilisateurs décrivent ce qu'ils veulent en langage simple, et Claude écrit un script JS autonome qui s'exécute selon un planning dans un environnement d'exécution isolé.

OpenClawRadar