Retour aux mises à jour
New releaseJul 28, 2026

nah v0.11.0

Vous devriez mettre vos agents en sandbox. C'est pour quand vous ne le faites pas.

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 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 catastrophiques et laisse tout le reste à 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. Pointez votre agent vers 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.

46 garde-fous, 29 activés par défaut, couvrant sept 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 sauvegarde, opérations sur les registres de paquets, et actions d'arrêt d'alimentation et de services de l'hôte.

Garde-fouBloque
exec-remoteL'exécution d'une charge utile visiblement obtenue depuis le réseau.
exec-decodedL'exécution atteinte depuis une étape de décodage visible.
exec-obfuscatedL'exécution encodée, sélectionnée par motif ou non résolue.
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, 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.
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 et suppression de configuration Doppler.
secrets-store-readLes lectures de valeurs examinées à travers les CLI courantes de gestionnaires de secrets.
fs-system-treeLa suppression, le déplacement prouvé d'une entrée racine, ou les changements récursifs de permissions sélectionnant la racine du système de fichiers ou une arborescence système.
fs-homeLa suppression ou les changements récursifs de permissions 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 à portée Projet ou les changements récursifs de permissions connus 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 des périphériques de stockage bruts et le déclencheur sysrq.
fs-volume-destroyLa destruction définitive 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 changements vers des 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 changements vers des chemins examinés de démarrage de service, 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 force push Git sans protection par lease et les force push avec lease ciblant explicitement main ou master.
git-hard-resetLes hard reset 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 garbage collection agressif ou avec élagage, et les force push 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 les métadonnées durables de l'historique Git.
git-path-discardLes checkout, restore et écrasements git show sur le même chemin, définis et nommés. 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.
infra-container-resetLes commandes Podman qui réinitialisent l'état complet local ou sélectionné du runtime.
infra-container-volume-deleteLe nettoyage large des volumes inutilisés via les commandes prune examinées de Docker et Podman. Désactivé par défaut.
infra-iac-destroyLa destruction entièrement visible de stacks complètes Terraform, OpenTofu et Pulumi. Désactivé par défaut.
infra-k8s-deleteLa suppression statique de namespaces, de ressources de cluster examinées et en masse de ressources namespacées examinées via kubectl. Désactivé par défaut.
storage-backup-destroyLa suppression complète de dépôt de sauvegarde ou de toutes les sauvegardes via les commandes examinées de Borg, Restic et Velero.
storage-recursive-deleteLa suppression distante large et la synchronisation supprimant la destination via les CLI cloud et de synchronisation examinées. Désactivé par défaut.

Catégories