
nah v0.11.0
Deberías poner en sandbox tus agentes. Esto es para cuando no lo haces.
los errores costosos se detienen aquí
un guard que bloquea acciones catastróficas de agentes
nahguard.ai • qué bloquea • cómo se compara • cómo decide • instalar • extender • modelo de amenazas
claude code · codex · cursor · pi · + 11 más
nah es un guard 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 guard personalizado de nah.
Reconoce un desastre cuando lo ve.
48 guards, 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 con hosts de apariencia similar, operaciones de registros de paquetes y acciones de apagado y parada de servicios del host.
| Guard | Bloquea |
|---|---|
exec-remote | Ejecución de un payload obtenido 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 vinculadas 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 comprobada de almacenes de secretos: eliminación de versión/metadatos/motor de Vault, eliminación forzada de AWS y de 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 revisadas de valores en CLIs comunes de gestores de secretos. |
fs-system-tree | Eliminación, reubicación comprobada 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 o una carpeta personal como ~/Documents. |
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 comprobable permiso de escritura para todos o permisos setuid/setgid. Desactivado por defecto. |
fs-project-root | Eliminación recursiva concreta con alcance de proyecto, cambios recursivos de permisos conocidos que pueden dejar al propietario sin acceso, 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 en dispositivos de almacenamiento en bruto y destrucción de dispositivos completos, además del 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 pushes con lease dirigidos explícitamente a main o master. |
git-hard-reset | Git hard resets. |
git-history-rewrite | Reescrituras seleccionadas de historial de Git no forzadas, incluidos rebases, filtrado, expiración de recuperación, recolección de basura agresiva o con poda, y force pushes 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 definidas mediante 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 guard. Desactivado por defecto. |
git-recovery-destroy | Borrado de toda la colección de stash o destrucción inmediata en todo el repositorio del historial de recuperación de Git. |
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 completa de repositorios en GitHub, GitLab y Azure DevOps mediante sus CLIs y rutas REST. |
git-remote-resource-delete | Eliminación estáticamente dirigida de recursos alojados en GitHub, GitLab y Azure DevOps mediante comandos CLI y rutas REST revisados. Desactivado por defecto. |
git-worktree-discard | Checkout o restauración en todo el proyecto, cambios forzados de rama comprobados y eliminación forzada de worktrees o desinicialización de submódulos. |
db-destroy | Eliminación (drop), truncado, vaciado (flush), restablecimiento o sobrescritura de datos de bases de datos en vivo, y eliminación de bases de datos gestionadas. Desactivado por defecto. |
infra-container-reset | Comandos de Podman que restablecen el estado completo del runtime local o del seleccionado. |