nah : Un garde d'autorisation contextuel pour Claude Code

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) → Autoriserrm ~/.bashrc(en dehors du projet) → Demandergit 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__*)
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
👀 See Also

Le Chef de Produit Partage Plus de 70 Compétences Claude pour Automatiser les Flux de Travail de Gestion de Produit
Un chef de produit avec 20 ans d'expérience a créé plus de 70 compétences Claude qui automatisent des tâches courantes de gestion de produit, incluant la génération de PRD, l'analyse d'entretiens utilisateurs, le profilage concurrentiel et la construction de feuilles de route. Les compétences sont disponibles sous forme de fichiers .md téléchargeables pour Claude Code.

SkyClaw ajoute une configuration de clé API chiffrée basée sur le chat pour les agents IA
SkyClaw met en œuvre l'ingestion de clés chiffrées AES-256-GCM via le chat, en interceptant les commandes de clés au niveau système pour que le LLM ne voie jamais les clés API, et en utilisant un chiffrement à clé unique pour que les plateformes de messagerie ne voient que du texte chiffré.

Remplacer les pipelines de récupération complexes par des commandes git simples pour les agents IA
Un développeur a remplacé son image Docker de 3 Go avec sentence-transformers, rank-bm25 et scikit-learn par un seul outil qui permet aux agents IA d'exécuter des commandes shell en lecture seule comme git log, grep et git diff directement sur leur référentiel de mémoire.

Compétence de Rédaction des PII Locaux pour OpenClaw Utilise le Modèle GLiNER
Une nouvelle compétence OpenClaw intercepte les réponses sortantes et les traite via le modèle local nvidia/gliner-PII pour détecter et masquer les informations sensibles comme les clés API et les PII, en les remplaçant par des étiquettes comme [API_KEY] et en ajoutant des avis de suppression.