
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 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 coding 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 è solo un singolo 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 creare 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 e arresto dei servizi dell'host.
| Guard | 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 tramite 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 di base sensibili, inclusi i contenuti dalla cronologia Git, oltre all'output diretto delle variabili d'ambiente delle 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 residua di archivi di segreti esaminata con semantica recuperabile o dipendente dal contesto. Disattivato per impostazione predefinita. |
secrets-store-destroy | Distruzione permanente dimostrata di archivi di segreti: rimozione di versione/metadati/motore di Vault, eliminazione forzata AWS e SSM, eliminazione dell'intero segreto su Google, purge su Azure, eliminazione di progetto/configurazione Doppler ed eliminazione di vault 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 o una cartella personale come ~/Documents. |
fs-outside-workspace-delete | Eliminazione ricorsiva al di fuori del progetto attivo, eccetto che sotto radici temporanee esaminate. Disattivato per impostazione predefinita. |
fs-permission-weaken | Modalità chmod che concedono dimostrabilmente permessi di scrittura per tutti o setuid/setgid. Disattivato per impostazione predefinita. |
fs-project-root | Eliminazione ricorsiva concreta con ambito Project, note modifiche ricorsive dei permessi che possono bloccare l'accesso al proprietario, o sovrascrittura di ogni file, selezionando la radice esatta del progetto o i suoi pattern esatti 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 distruzione dell'intero dispositivo, e il trigger sysrq. |
fs-volume-destroy | Distruzione certa 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. Disattivato per impostazione predefinita. |
fs-startup-management | Comandi esaminati di gestione persistente systemctl, launchctl e crontab. Disattivato per impostazione predefinita. |
fs-startup-persistence | Modifiche ai percorsi esaminati di avvio di servizi, pianificazioni, login, autostart e loader. |
git-clean-force | Un'operazione Git clean forzata effettiva che seleziona la radice del progetto. |
git-force-push | Push forzati Git senza protezione lease e push forzati con lease che puntano esplicitamente a main o master. |
git-hard-reset | Reset hard 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 puntano a main o master. Disattivato 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 tramite git show sullo stesso percorso, definite e con percorso nominato. Disattivato per impostazione predefinita. |
git-protected-push | Push il cui refspec statico esplicito punta a main o master. I push senza refspec restano al di fuori di questa guardia. Disattivato per impostazione predefinita. |
git-recovery-destroy | Cancellazione dell'intera collezione di stash o distruzione immediata a livello di repository della cronologia di recupero Git. |
git-ref-delete | Eliminazione verificata di ref locali e remoti, voci di stash, worktree e worktree di sottomoduli. Disattivato per impostazione predefinita. |
git-remote-repo-delete | Eliminazione esatta dell'intero repository su GitHub, GitLab e Azure DevOps tramite le rispettive CLI e rotte REST. |
git-remote-resource-delete | Eliminazione mirata staticamente di risorse ospitate su GitHub, GitLab e Azure DevOps tramite comandi CLI e rotte REST verificati. Disattivato per impostazione predefinita. |
git-worktree-discard | Checkout o ripristino a livello di progetto, modifiche forzate di branch comprovate e rimozione forzata di worktree o deinizializzazione di sottomoduli. |
db-destroy | Eliminazione, troncamento, svuotamento, ripristino o sovrascrittura di dati di database in uso, ed eliminazione di database gestiti. Disattivato per impostazione predefinita. |
infra-container-reset | Comandi Podman che ripristinano lo stato completo del runtime locale o selezionato. |