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

MCP Memory Gateway : Un serveur MCP pour la mémoire persistante dans Claude Code
Un développeur a construit un serveur MCP appelé MCP Memory Gateway en utilisant Claude Code comme principal outil de développement. Il fournit à Claude Code une mémoire persistante entre les sessions grâce à la capture de retours, des règles de prévention et l'injection de contexte.

Table Ronde IA : Outil pour Comparer Plus de 200 Modèles d'IA sur des Questions Structurées
AI Roundtable est un outil gratuit qui permet aux utilisateurs de poser des questions avec des options de réponse définies, de sélectionner jusqu'à 50 modèles parmi une base de plus de 200, et d'obtenir des réponses structurées dans des conditions identiques. Il comprend également une fonction de débat où les modèles peuvent voir le raisonnement des autres et un modèle de relecture qui résume les transcriptions.

Open-Sourcé le-vibe-stack : Règles Markdown pour Maintenir la Cohérence du Code Claude
Un développeur a rendu open-source 'the-vibe-stack' — un ensemble de règles Markdown conçues pour maintenir Claude Code sur la bonne voie lors de longues sessions en imposant un schéma rigide. Cette approche vise à réduire la dérive logique et le gaspillage de tokens tout en garantissant une sortie prévisible.

Benchmark de Quantification Qwen 3.6 27B : Q4_K_M Surpasse Q8_0 en Compromis Pratiques
Évalué Qwen 3.6 27B en BF16, Q4_K_M et Q8_0 quantifications GGUF sur HumanEval, HellaSwag et BFCL. Q4_K_M offre des scores proches de BF16 avec 48% de RAM en moins, 1,45x de vitesse et une taille de fichier réduite de 68,8%.