Retour aux mises à jour
New releaseSep 2, 2026

nah v1.4.0

un garde-fou qui bloque les actions catastrophiques des agents

Partager

nah

les erreurs coûteuses s'arrêtent ici
un garde-fou qui bloque les actions catastrophiques des agents

nahguard.ai • ce qu'il bloque • comment il se compare • comment il décide • installation • extension • modèle de menace

claude code · codex · cursor · pi · + 11 autres

nah est un garde-fou qui se place dans le chemin des hooks de votre agent de codage et lit les appels d'outils avant leur exécution. Il bloque les appels dont il peut prouver qu'ils sont des désastres et n'approuve jamais rien : tout le reste passe par les permissions normales de votre runtime.

nah n'est qu'un seul binaire Rust : un verdict est déterministe et ne nécessite aucun LLM. Les extensions ne sont que des programmes. Indiquez à votre agent la documentation de nah et demandez-lui de construire un garde-fou nah personnalisé.

Il reconnaît un désastre quand il en voit un.

48 garde-fous, 30 activés par défaut, couvrant huit classes de désastre : détournements d'exécution, vol de secrets, destruction du système de fichiers, désastres Git, démantèlement d'infrastructure, de stockage et de sauvegardes, accès réseau à des hôtes sosies, opérations sur les registres de paquets, et actions d'extinction et d'arrêt de services de l'hôte.

Garde-fouBloque
exec-remoteL'exécution d'une charge utile visiblement obtenue depuis le réseau.
exec-decodedUne exécution atteinte depuis une étape de décodage visible.
exec-obfuscatedUne exécution encodée, sélectionnée par motif ou non résolue, et les caractères cachés dans les commandes.
exec-network-shellLes shells attachés à une connexion réseau, y compris netcat, socat et la redirection de shell.
secrets-envLes lectures de fichiers .env et de noms de base sensibles, y compris le contenu issu de l'historique Git, ainsi que la sortie directe de variables d'environnement d'identifiants cataloguées.
secrets-credentialsLes lectures ou écritures de chemins de clés privées et de magasins d'identifiants, y compris les lectures de contenu depuis l'historique Git ; la suppression ou le déplacement de clés privées ; les lectures de métadonnées ou de valeurs du trousseau macOS.
secrets-exfilUn flux visible d'une source sensible vers une étape réseau.
secrets-store-deleteLa suppression restante de magasins de secrets examinée, avec une sémantique récupérable ou dépendante du contexte. Désactivé par défaut.
secrets-store-destroyLa destruction permanente prouvée de magasins de secrets : suppression de version/métadonnées/moteur Vault, suppression forcée AWS et SSM, suppression de secret entier Google, purge Azure, suppression de projet/configuration Doppler, et suppression de coffre 1Password.
secrets-store-readLes lectures de valeurs examinées à travers les CLI courantes de gestionnaires de secrets.
fs-system-treeLa suppression, la relocalisation prouvée d'entrées racines, les changements récursifs de permissions, ou l'écrasement de chaque fichier, en sélectionnant la racine du système de fichiers ou une arborescence système.
fs-homeLa suppression, les changements récursifs de permissions, ou l'écrasement de chaque fichier, en sélectionnant la racine du répertoire personnel.
fs-outside-workspace-deleteLa suppression récursive en dehors du projet actif, sauf sous des racines temporaires examinées. Désactivé par défaut.
fs-permission-weakenLes modes chmod qui accordent de manière prouvable la permission d'écriture pour tous ou setuid/setgid. Désactivé par défaut.
fs-project-rootLa suppression récursive concrète à l'échelle du projet, les changements récursifs de permissions connus, ou l'écrasement de chaque fichier, en sélectionnant la racine exacte du projet ou ses motifs exacts *, .* ou {*,.*} à l'échelle de la racine. find -delete sans chemin de départ explicite n'a pas de cible modélisée.
fs-raw-deviceLes écritures visibles vers, et la destruction complète de, périphériques de stockage bruts, ainsi que le déclencheur sysrq.
fs-volume-destroyLa destruction certaine de volumes logiques, de pools de stockage et de jeux de données ZFS actifs.
fs-forkbombLes motifs de fork-bomb shell structurellement reconnus.
fs-auth-identityLa modification ou la suppression de fichiers examinés d'authentification, d'identité et de politique de privilèges de l'hôte, y compris la suppression récursive de leurs répertoires parents.
fs-shell-profileLes modifications de chemins examinés de profils de shell utilisateur. Désactivé par défaut.
fs-startup-managementLes commandes examinées de gestion persistante systemctl, launchctl et crontab. Désactivé par défaut.
fs-startup-persistenceLes modifications de chemins examinés de démarrage de services, de planification, de connexion, de démarrage automatique et de chargeur.
git-clean-forceUn git clean forcé effectif sélectionnant la racine du projet.
git-force-pushLes push forcés Git sans protection par lease et les push forcés avec lease ciblant explicitement main ou master.
git-hard-resetLes réinitialisations dures Git.
git-history-rewriteLes réécritures d'historique Git non forcées sélectionnées, y compris les rebases, le filtrage, l'expiration de récupération, le ramasse-miettes agressif ou avec élagage, et les push forcés avec lease, y compris les refspecs statiques explicites ciblant main ou master. Désactivé par défaut.
git-rewrite-forceLa réécriture d'historique qui contourne explicitement les vérifications de sécurité ou de sauvegarde.
git-metadataLes écritures destructrices ou la suppression sélectionnant des métadonnées durables de l'historique Git.
git-path-discardLes checkout, restore et écrasements git show sur le même chemin, de chemins nommés définis. Désactivé par défaut.
git-protected-pushLes push dont le refspec statique explicite cible main ou master. Les push nus restent en dehors de ce garde-fou. Désactivé par défaut.
git-recovery-destroyL'effacement de la collection complète de stash ou la destruction immédiate à l'échelle du dépôt de l'historique de récupération Git.
git-ref-deleteLa suppression examinée de refs locales et distantes, d'entrées de stash, de worktrees et de worktrees de sous-modules. Désactivé par défaut.
git-remote-repo-deleteLa suppression exacte de dépôt entier GitHub et GitLab via leurs CLI et routes REST.
git-remote-resource-deleteLa suppression ciblée statiquement de ressources hébergées GitHub et GitLab via des commandes CLI et routes REST examinées. Désactivé par défaut.
git-worktree-discardLe checkout ou restore à l'échelle du projet, les changements de branche forcés prouvés, et la suppression forcée de worktree ou la désinitialisation de sous-module.
db-destroyLe drop, truncate, flush, reset ou écrasement de données de base de données actives, et la suppression de bases de données gérées. Désactivé par défaut.
infra-container-resetLes commandes Podman qui réinitialisent l'état complet du runtime local ou sélectionné.

Catégories