
nah v1.4.0
un guardián que bloquea acciones catastróficas del agente
los errores caros se detienen aquí
un guardián que bloquea acciones catastróficas de agentes
nahguard.ai • qué bloquea • cómo se compara • cómo decide • instalación • extender • modelo de amenazas
claude code · codex · cursor · pi · + 11 más
nah es un guardián que se sitúa en la ruta de hooks de tu agente de programación y lee las llamadas a herramientas antes de que se ejecuten. Bloquea las llamadas que puede demostrar que son desastres y nunca aprueba nada: todo lo demás pasa a los permisos normales de tu runtime.
nah es solo un binario de Rust: un veredicto es determinista y no necesita un LLM. Las extensiones son solo programas. Apunta tu agente a la documentación de nah y pídele que construya un guardián personalizado de nah.
Sabe reconocer un desastre cuando lo ve.
48 guardianes, 30 activados por defecto, que cubren ocho clases de desastre: secuestros de ejecución, robo de secretos, destrucción del sistema de archivos, desastres de git, desmantelamiento de infraestructura, almacenamiento y copias de seguridad, acceso a red a hosts similares, operaciones en registros de paquetes, y acciones de apagado del host y parada de servicios.
| Guardián | Bloquea |
|---|---|
exec-remote | Ejecución de una carga útil obtenida visiblemente de la red. |
exec-decoded | Ejecución alcanzada desde una etapa de decodificación visible. |
exec-obfuscated | Ejecución codificada, seleccionada por patrón o no resuelta, y caracteres ocultos en comandos. |
exec-network-shell | Shells conectados a una conexión de red, incluidos netcat, socat y redirección de shell. |
secrets-env | Lecturas de archivos .env y nombres base sensibles, incluidos contenidos del historial de Git, además de la salida directa de variables de entorno de credenciales catalogadas. |
secrets-credentials | Lecturas o escrituras de rutas de claves privadas y almacenes de credenciales, incluidas lecturas de contenido del historial de Git; eliminación o traslado de claves privadas; lecturas de metadatos o valores del llavero de macOS. |
secrets-exfil | Un flujo visible desde una fuente sensible hacia una etapa de red. |
secrets-store-delete | Eliminación revisada restante de almacenes de secretos con semántica recuperable o dependiente del contexto. Desactivado por defecto. |
secrets-store-destroy | Destrucción permanente demostrada de almacenes de secretos: eliminación de versión/metadatos/motor de Vault, eliminación forzada de AWS y SSM, eliminación de secretos completos de Google, purga de Azure, eliminación de proyectos/configuraciones de Doppler, y eliminación de bóvedas de 1Password. |
secrets-store-read | Lecturas de valores revisadas en CLIs comunes de gestores de secretos. |
fs-system-tree | Eliminación, reubicación demostrada de entradas raíz, cambios recursivos de permisos, o sobrescritura de todos los archivos, seleccionando la raíz del sistema de archivos o un árbol del sistema. |
fs-home | Eliminación, cambios recursivos de permisos, o sobrescritura de todos los archivos, seleccionando la raíz del directorio home. |
fs-outside-workspace-delete | Eliminación recursiva fuera del proyecto activo, excepto bajo raíces temporales revisadas. Desactivado por defecto. |
fs-permission-weaken | Modos de chmod que otorgan de forma demostrable permiso de escritura global o setuid/setgid. Desactivado por defecto. |
fs-project-root | Eliminación recursiva concreta con alcance de proyecto, cambios recursivos de permisos conocidos, o sobrescritura de todos los archivos, seleccionando la raíz exacta del proyecto o sus patrones exactos de raíz *, .* o {*,.*}. find -delete sin una ruta de inicio explícita no tiene objetivo modelado. |
fs-raw-device | Escrituras visibles a, y destrucción completa de, dispositivos de almacenamiento en bruto, y el disparador sysrq. |
fs-volume-destroy | Destrucción definitiva de volúmenes lógicos, pools de almacenamiento y datasets ZFS activos. |
fs-forkbomb | Patrones de fork-bomb de shell reconocidos estructuralmente. |
fs-auth-identity | Modificación o eliminación de archivos revisados de autenticación, identidad y políticas de privilegios del host, incluida la eliminación recursiva de sus directorios padre. |
fs-shell-profile | Cambios en rutas revisadas de perfiles de shell del usuario. Desactivado por defecto. |
fs-startup-management | Comandos revisados de gestión persistente de systemctl, launchctl y crontab. Desactivado por defecto. |
fs-startup-persistence | Cambios en rutas revisadas de inicio de servicios, programaciones, inicio de sesión, autoarranque y cargadores. |
git-clean-force | Un git clean forzado efectivo que selecciona la raíz del proyecto. |
git-force-push | Git force push sin protección de lease y force push con lease dirigidos explícitamente a main o master. |
git-hard-reset | Git hard reset. |
git-history-rewrite | Reescrituras seleccionadas no forzadas del historial de Git, incluidos rebases, filtrado, expiración de recuperación, recolección de basura agresiva o con poda, y force push con lease, incluidos refspecs estáticos explícitos dirigidos a main o master. Desactivado por defecto. |
git-rewrite-force | Reescritura de historial que omite explícitamente las comprobaciones de seguridad o de copia de seguridad. |
git-metadata | Escrituras destructivas o eliminación que seleccionan metadatos duraderos del historial de Git. |
git-path-discard | Sobrescrituras definitivas de checkout, restore y git show sobre la misma ruta con nombre. Desactivado por defecto. |
git-protected-push | Pushes cuyo refspec estático explícito apunta a main o master. Los pushes sin refspec quedan fuera de este guardián. Desactivado por defecto. |
git-recovery-destroy | Vaciado de toda la colección de stash o destrucción inmediata de todo el historial de recuperación de Git del repositorio. |
git-ref-delete | Eliminación revisada de refs locales y remotas, entradas de stash, worktrees y worktrees de submódulos. Desactivado por defecto. |
git-remote-repo-delete | Eliminación exacta de repositorios completos de GitHub y GitLab a través de sus CLIs y rutas REST. |
git-remote-resource-delete | Eliminación de recursos alojados en GitHub y GitLab dirigida estáticamente a través de comandos CLI revisados y rutas REST. Desactivado por defecto. |
git-worktree-discard | Checkout o restore de todo el proyecto, cambios de rama forzados demostrados, y eliminación forzada de worktrees o desinicialización de submódulos. |
db-destroy | Eliminar, truncar, vaciar, restablecer o sobrescribir datos de bases de datos activas, y eliminar bases de datos gestionadas. Desactivado por defecto. |
infra-container-reset | Comandos de Podman que restablecen el estado completo del runtime local o seleccionado. |
infra-container-volume-delete | Limpieza amplia de volúmenes no usados mediante comandos revisados de prune de Docker y Podman, y eliminación de volúmenes con down -v/rm -v de Compose. Desactivado por defecto. |