
nah v1.4.0
una guardia che blocca azioni catastrofiche degli agenti
gli errori costosi si fermano qui
una guardia che blocca le azioni catastrofiche degli agenti
nahguard.ai • cosa blocca • come si confronta • 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 non approva mai nulla: tutto il resto passa ai normali permessi del 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.
48 guardie, 30 attive per impostazione predefinita, che coprono otto classi di disastro: dirottamenti dell'esecuzione, furto di segreti, distruzione del filesystem, disastri git, smantellamento di infrastrutture, storage e backup, accesso di rete a host simili, operazioni sui registri 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, e caratteri nascosti nei comandi. |
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, inclusi i contenuti dalla cronologia Git, 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, incluse le letture di contenuti dalla cronologia Git; eliminazione o spostamento di chiavi private; letture di metadati o valori del portachiavi di macOS. |
secrets-exfil | Un flusso visibile da una sorgente sensibile a una fase di rete. |
secrets-store-delete | Eliminazione rimanente di archivi di segreti esaminata con semantica recuperabile o dipendente dal contesto. Disattivata per impostazione predefinita. |
secrets-store-destroy | Distruzione permanente dimostrata di archivi di segreti: rimozione di versione/metadati/motore di Vault, eliminazione forzata di AWS e SSM, eliminazione dell'intero segreto di Google, purge di Azure, eliminazione di progetto/configurazione di Doppler e eliminazione del vault di 1Password. |
secrets-store-read | Letture di valori esaminate attraverso le comuni CLI dei gestori di segreti. |
fs-system-tree | Eliminazione, spostamento dimostrato di voci radice, modifiche ricorsive dei permessi o sovrascrittura di ogni file, selezionando la radice del filesystem o un albero di sistema. |
fs-home | Eliminazione, modifiche ricorsive dei permessi o sovrascrittura di ogni file, selezionando la radice home. |
fs-outside-workspace-delete | Eliminazione ricorsiva al di fuori del progetto attivo, tranne che sotto radici temporanee esaminate. Disattivata per impostazione predefinita. |
fs-permission-weaken | Modalità chmod che concedono dimostrabilmente permessi di scrittura per tutti o setuid/setgid. Disattivata per impostazione predefinita. |
fs-project-root | Eliminazione ricorsiva concreta con ambito di progetto, modifiche ricorsive dei permessi note o sovrascrittura di ogni file, selezionando la radice esatta del progetto o i suoi pattern esatti *, .* o {*,.*} a livello di radice. find -delete senza un percorso di partenza esplicito non ha un target modellato. |
fs-raw-device | Scritture visibili su, e distruzione dell'intero dispositivo di, dispositivi di archiviazione grezzi, e il trigger sysrq. |
fs-volume-destroy | Distruzione definita di volumi logici, pool di archiviazione e dataset ZFS attivi. |
fs-forkbomb | Pattern di fork-bomb della shell riconosciuti strutturalmente. |
fs-auth-identity | Modifica o eliminazione di file esaminati di autenticazione, identità e policy dei privilegi dell'host, inclusa l'eliminazione ricorsiva delle loro directory padre. |
fs-shell-profile | Modifiche ai percorsi esaminati dei profili shell dell'utente. Disattivata per impostazione predefinita. |
fs-startup-management | Comandi esaminati di gestione persistente di systemctl, launchctl e crontab. Disattivata per impostazione predefinita. |
fs-startup-persistence | Modifiche ai percorsi esaminati di avvio di servizi, pianificazioni, login, avvio automatico e loader. |
git-clean-force | Un git clean forzato effettivo che seleziona la radice del progetto. |
git-force-push | Push forzati di Git senza protezione lease e push forzati con lease che prendono di mira esplicitamente main o master. |
git-hard-reset | Hard reset di Git. |
git-history-rewrite | Riscritture selezionate non forzate della cronologia Git, inclusi rebase, filtering, scadenza del recupero, garbage collection aggressiva o con pruning e push forzati 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 eliminazione 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 | Cancellazione dell'intera collezione di stash o distruzione immediata a livello di repository della cronologia di recupero di Git. |
git-ref-delete | Eliminazione esaminata di ref locali e remote, voci di stash, worktree e worktree di sottomoduli. Disattivata per impostazione predefinita. |
git-remote-repo-delete | Eliminazione esatta dell'intero repository su GitHub e GitLab tramite le loro CLI e rotte REST. |
git-remote-resource-delete | Eliminazione di risorse ospitate su GitHub e GitLab con target statico tramite comandi CLI esaminati 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. |
db-destroy | Drop, truncate, flush, reset o sovrascrittura di dati di database attivi, ed eliminazione di database gestiti. Disattivata per impostazione predefinita. |
infra-container-reset | Comandi Podman che resettano lo stato completo locale o selezionato del runtime. |
infra-container-volume-delete | Pulizia ampia di volumi inutilizzati tramite comandi prune esaminati di Docker e Podman, e rimozione di volumi Compose down -v/rm -v. Disattivata per impostazione predefinita. |