
nah v0.11.0
eine Schutzvorrichtung, die katastrophale Agentenaktionen blockiert
teure Fehler enden hier
ein Wächter, der katastrophale Agent-Aktionen blockiert
nahguard.ai • was es blockiert • wie es entscheidet • Installation • erweitern • Bedrohungsmodell
claude code · codex · cursor · pi · + 11 weitere
nah ist ein Wächter, der im Hook-Pfad deines Coding-Agents sitzt und Tool-Aufrufe liest, bevor sie ausgeführt werden. Es blockiert die Aufrufe, die es als Katastrophen beweisen kann, und überlässt alles andere deiner Runtime.
nah ist nur eine einzige Rust-Binary: ein Urteil ist deterministisch und benötigt kein LLM. Erweiterungen sind einfach Programme. Verweise deinen Agent auf nahs Dokumentation und bitte ihn, einen benutzerdefinierten nah-Guard zu bauen.
Es erkennt eine Katastrophe, wenn es eine sieht.
46 Guards, 29 standardmäßig aktiviert, die sieben Katastrophenklassen abdecken: Ausführungs-Hijacks, Secret-Diebstahl, Dateisystem-Zerstörung, Git-Katastrophen, Infrastruktur-, Speicher- und Backup-Abbau, Package-Registry-Operationen und Host-Power- und Service-Stop-Aktionen.
| Guard | Blockiert |
|---|---|
exec-remote | Ausführung einer Nutzlast, die sichtbar aus dem Netzwerk bezogen wurde. |
exec-decoded | Ausführung, die von einer sichtbaren Decode-Stufe erreicht wird. |
exec-obfuscated | Kodierte, musterselektierte oder unaufgelöste Ausführung. |
exec-network-shell | Shells, die an eine Netzwerkverbindung angehängt sind, einschließlich netcat, socat und Shell-Umleitung. |
secrets-env | Lesen von .env-Dateien und sensiblen Basisnamen sowie direkte Ausgabe katalogisierter Credential-Umgebungsvariablen. |
secrets-credentials | Lesen oder Schreiben von Private-Key- und Credential-Store-Pfaden. |
secrets-exfil | Ein sichtbarer Fluss von einer sensiblen Quelle zu einer Netzwerkstufe. |
secrets-store-delete | Verbleibende geprüfte Secret-Store-Löschung mit wiederherstellbarer oder kontextabhängiger Semantik. Standardmäßig deaktiviert. |
secrets-store-destroy | Bewiesene dauerhafte Secret-Store-Zerstörung: Vault-Version-/Metadaten-/Engine-Entfernung, AWS-Force- und SSM-Löschung, Google-Ganz-Secret-Löschung, Azure-Purge und Doppler-Konfigurationslöschung. |
secrets-store-read | Geprüfte Wert-Lesevorgänge über gängige Secret-Manager-CLIs. |
fs-system-tree | Löschung, bewiesene Root-Eintrag-Verschiebung oder rekursive Berechtigungsänderungen, die das Dateisystem-Root oder einen Systembaum auswählen. |
fs-home | Löschung oder rekursive Berechtigungsänderungen, die das Home-Root auswählen. |
fs-outside-workspace-delete | Rekursive Löschung außerhalb des aktiven Projekts, außer unter geprüften temporären Roots. Standardmäßig deaktiviert. |
fs-permission-weaken | chmod-Modi, die nachweislich World-Write- oder setuid/setgid-Berechtigung gewähren. Standardmäßig deaktiviert. |
fs-project-root | Konkrete projektbezogene rekursive Löschung oder bekannte rekursive Berechtigungsänderungen, die genau das Projekt-Root oder dessen exakte *-, .*- oder {*,.*}-Root-weite Muster auswählen. find -delete ohne expliziten Startpfad hat kein modelliertes Ziel. |
fs-raw-device | Sichtbare Schreibvorgänge auf Raw-Storage-Geräte und den sysrq-Trigger. |
fs-volume-destroy | Definite Zerstörung von Logical Volumes, Storage Pools und Live-ZFS-Datasets. |
fs-forkbomb | Strukturell erkannte Shell-Fork-Bomb-Muster. |
fs-auth-identity | Änderung oder Löschung geprüfter Host-Authentifizierungs-, Identitäts- und Privilegienrichtlinien-Dateien, einschließlich rekursiver Löschung ihrer übergeordneten Verzeichnisse. |
fs-shell-profile | Änderungen an geprüften Benutzer-Shell-Profilpfaden. Standardmäßig deaktiviert. |
fs-startup-management | Geprüfte persistente systemctl-, launchctl- und crontab-Verwaltungsbefehle. Standardmäßig deaktiviert. |
fs-startup-persistence | Änderungen an geprüften Service-, Schedule-, Login-, Autostart- und Loader-Startpfaden. |
git-clean-force | Ein effektives erzwungenes Git-Clean, das das Projekt-Root auswählt. |
git-force-push | Git-Force-Pushes ohne Lease-Schutz und geleaste Force-Pushes, die explizit auf main oder master abzielen. |
git-hard-reset | Git-Hard-Resets. |
git-history-rewrite | Ausgewählte unerzwungene Git-History-Rewrites, einschließlich Rebases, Filtering, Recovery-Expiry, aggressiver oder prunender Garbage Collection und geleaster Force-Pushes, einschließlich expliziter statischer Refspecs, die auf main oder master abzielen. Standardmäßig deaktiviert. |
git-rewrite-force | History-Rewriting, das explizit Sicherheits- oder Backup-Prüfungen umgeht. |
git-metadata | Destruktive Schreibvorgänge oder Löschung, die dauerhafte Git-History-Metadaten auswählen. |
git-path-discard | Definite Checkout-, Restore- und Same-Path-git show-Überschreibungen benannter Pfade. Standardmäßig deaktiviert. |
git-protected-push | Pushes, deren explizite statische Refspec auf main oder master abzielt. Bare Pushes bleiben außerhalb dieses Guards. Standardmäßig deaktiviert. |
git-recovery-destroy | Leeren der vollständigen Stash-Sammlung oder sofortige repository-weite Zerstörung der Git-Recovery-History. |
git-ref-delete | Geprüfte lokale und entfernte Ref-, Stash-Eintrag-, Worktree- und Submodule-Worktree-Löschung. Standardmäßig deaktiviert. |
git-remote-repo-delete | Exakte GitHub- und GitLab-Ganz-Repository-Löschung über deren CLIs und REST-Routen. |
git-remote-resource-delete | Statisch adressierte GitHub- und GitLab-Hosted-Resource-Löschung über geprüfte CLI-Befehle und REST-Routen. Standardmäßig deaktiviert. |
git-worktree-discard | Projektweiter Checkout oder Restore, bewiesene erzwungene Branch-Änderungen und erzwungene Worktree-Entfernung oder Submodule-Deinitialisierung. |
infra-container-reset | Podman-Befehle, die den vollständigen lokalen oder ausgewählten Runtime-Zustand zurücksetzen. |
infra-container-volume-delete | Breite Unused-Volume-Bereinigung über geprüfte Docker- und Podman-Prune-Befehle. Standardmäßig deaktiviert. |
infra-iac-destroy | Vollständig sichtbare Terraform-, OpenTofu- und Pulumi-Ganz-Stack-Zerstörung. Standardmäßig deaktiviert. |
infra-k8s-delete | Statische Namespace-, geprüfte Cluster-Resource- und Massen-Löschung geprüfter namespaced Resources über kubectl. Standardmäßig deaktiviert. |
storage-backup-destroy | Vollständige Backup-Repository- oder Alle-Backups-Löschung über geprüfte Borg-, Restic- und Velero-Befehle. |
storage-recursive-delete | Breite Remote-Löschung und ziel-löschende Synchronisation über geprüfte Cloud- und Sync-CLIs. Standardmäßig deaktiviert. |
storage-snapshot-delete | Geprüfte Snapshot-, Archiv-, Volume- und Retention-Löschung. Standardmäßig deaktiviert. |
registry-publish | Geprüfte Package-Publikationsbefehle. Standardmäßig deaktiviert. |
registry-unpublish | Geprüftes Package-Unpublish, irreversibler RubyGems-Yank und Änderungen des Besitzers veröffentlichter Namen. |
sys-power | Vollständig sichtbare lokale Host-Shutdown-, Reboot-, Halt- und Suspend-Aktionen. |
sys-service-stop | Geprüfter Service-Shutdown, Target-Isolation, Podman-Stop-All und der exakte docker stop $(docker ps -q)-Flow. Standardmäßig deaktiviert. |