
nah v0.11.0
Dovresti mettere in sandbox i tuoi agenti. Questo è per quando non lo fai.
gli errori costosi si fermano qui
una guardia che blocca le azioni catastrofiche degli agenti
nahguard.ai • cosa blocca • come decide • installazione • estendere • modello di minaccia
claude code · codex · cursor · pi · + altri 11
nah è una guardia che si colloca nel percorso degli hook del tuo agente di codifica e legge le chiamate agli strumenti prima che vengano eseguite. Blocca le chiamate di cui può dimostrare che sono disastri e lascia tutto il resto al tuo runtime.
nah è un solo binario Rust: un verdetto è deterministico e non richiede alcun LLM. Le estensioni sono semplicemente programmi. Indica al tuo agente la documentazione di nah e chiedigli di costruire una guardia nah personalizzata.
Riconosce un disastro quando lo vede.
46 guardie, 29 attive per impostazione predefinita, che coprono sette classi di disastro: dirottamenti dell'esecuzione, furto di segreti, distruzione del filesystem, disastri git, smantellamento di infrastruttura, storage e backup, operazioni sul registro dei pacchetti, e azioni di spegnimento dell'host e arresto dei servizi.
| Guardia | Blocca |
|---|---|
exec-remote | Esecuzione di un payload ottenuto visibilmente dalla rete. |
exec-decoded | Esecuzione raggiunta da una fase di decodifica visibile. |
exec-obfuscated | Esecuzione codificata, selezionata da pattern o non risolta. |
exec-network-shell | Shell collegate a una connessione di rete, inclusi netcat, socat e reindirizzamento della shell. |
secrets-env | Letture di file .env e nomi base sensibili, più l'output diretto di variabili d'ambiente di credenziali catalogate. |
secrets-credentials | Letture o scritture di percorsi di chiavi private e archivi di credenziali. |
secrets-exfil | Un flusso visibile da una sorgente sensibile a una fase di rete. |
secrets-store-delete | Cancellazione rimanente di secret-store revisionata con semantica recuperabile o dipendente dal contesto. Disattivata per impostazione predefinita. |
secrets-store-destroy | Distruzione permanente dimostrata di secret-store: rimozione di versione/metadati/engine di Vault, cancellazione force e SSM di AWS, cancellazione dell'intero segreto di Google, purge di Azure e cancellazione della configurazione di Doppler. |
secrets-store-read | Letture di valori revisionate attraverso le comuni CLI dei gestori di segreti. |
secrets-store-read | Letture di valori revisionate attraverso le comuni CLI dei gestori di segreti. |
fs-system-tree | Cancellazione, ricollocazione dimostrata di voci radice o modifiche ricorsive dei permessi che selezionano la radice del filesystem o un albero di sistema. |
fs-home | Cancellazione o modifiche ricorsive dei permessi che selezionano la radice della home. |
fs-outside-workspace-delete | Cancellazione ricorsiva al di fuori del progetto attivo, tranne che sotto radici temporanee revisionate. Disattivata per impostazione predefinita. |
fs-permission-weaken | Modalità chmod che dimostrabilmente concedono permessi di scrittura globale o setuid/setgid. Disattivata per impostazione predefinita. |
fs-project-root | Cancellazione ricorsiva concreta con ambito Project o modifiche ricorsive note dei permessi che selezionano l'esatta radice del progetto o i suoi esatti pattern a livello di radice *, .* o {*,.*}. find -delete senza un percorso di partenza esplicito non ha un target modellato. |
fs-raw-device | Scritture visibili su dispositivi di archiviazione grezzi e sul trigger sysrq. |
fs-volume-destroy | Distruzione definita di volumi logici, pool di storage e dataset ZFS attivi. |
fs-forkbomb | Pattern di fork-bomb della shell riconosciuti strutturalmente. |
fs-auth-identity | Modifica o cancellazione di file revisionati di autenticazione, identità e policy dei privilegi dell'host, inclusa la cancellazione ricorsiva delle loro directory padre. |
fs-shell-profile | Modifiche ai percorsi revisionati del profilo shell dell'utente. Disattivata per impostazione predefinita. |
fs-startup-management | Comandi revisionati di gestione persistente di systemctl, launchctl e crontab. Disattivata per impostazione predefinita. |
fs-startup-persistence | Modifiche ai percorsi revisionati di avvio di servizi, pianificazioni, login, autostart e loader. |
git-clean-force | Un Git clean forzato effettivo che seleziona la radice del progetto. |
git-force-push | Git force push senza protezione lease e force push con lease che prendono di mira esplicitamente main o master. |
git-hard-reset | Git hard reset. |
git-history-rewrite | Riscritture selezionate non forzate della cronologia Git, inclusi rebase, filtering, scadenza del recupero, garbage collection aggressiva o con pruning, e force push con lease, inclusi refspec statici espliciti che prendono di mira main o master. Disattivata per impostazione predefinita. |
git-rewrite-force | Riscrittura della cronologia che aggira esplicitamente i controlli di sicurezza o di backup. |
git-metadata | Scritture distruttive o cancellazione che selezionano metadati durevoli della cronologia Git. |
git-path-discard | Checkout, restore e sovrascritture git show sullo stesso percorso, definiti e con nome. Disattivata per impostazione predefinita. |
git-protected-push | Push il cui refspec statico esplicito prende di mira main o master. I push nudi restano fuori da questa guardia. Disattivata per impostazione predefinita. |
git-recovery-destroy | Svuotamento dell'intera collezione di stash o distruzione immediata a livello di repository della cronologia di recupero Git. |
git-ref-delete | Cancellazione revisionata di ref locali e remoti, voci di stash, worktree e worktree di sottomoduli. Disattivata per impostazione predefinita. |
git-remote-repo-delete | Cancellazione esatta dell'intero repository su GitHub e GitLab tramite le loro CLI e rotte REST. |
git-remote-resource-delete | Cancellazione di risorse ospitate su GitHub e GitLab con target statico tramite comandi CLI revisionati e rotte REST. Disattivata per impostazione predefinita. |
git-worktree-discard | Checkout o restore a livello di progetto, cambi di branch forzati dimostrati e rimozione forzata di worktree o deinizializzazione di sottomoduli. |
infra-container-reset | Comandi Podman che azzerano lo stato completo del runtime locale o selezionato. |
infra-container-volume-delete | Pulizia ampia di volumi inutilizzati tramite comandi prune revisionati di Docker e Podman. Disattivata per impostazione predefinita. |
infra-iac-destroy | Distruzione completamente visibile di interi stack Terraform, OpenTofu e Pulumi. Disattivata per impostazione predefinita. |
infra-k8s-delete | Cancellazione statica di namespace, risorse cluster revisionate e risorse con namespace in blocco revisionate tramite kubectl. Disattivata per impostazione predefinita. |
storage-backup-destroy | Cancellazione completa del repository di backup o di tutti i backup tramite comandi revisionati di Borg, Restic e Velero. |
storage-recursive-delete | Cancellazione remota ampia e sincronizzazione che cancella la destinazione tramite CLI cloud e di sincronizzazione revisionate. Disattivata per impostazione predefinita. |