nah: Un guardia de permisos sensible al contexto para Claude Code

Qué hace nah
nah es un guardián de permisos basado en Python que se sitúa entre Claude Code y la ejecución de herramientas. Aborda las limitaciones del sistema binario de permisos de Claude (permitir o denegar) añadiendo toma de decisiones consciente del contexto. La herramienta intercepta cada llamada a herramienta antes de que se ejecute y la clasifica según lo que realmente hace.
Cómo funciona
Cada llamada a herramienta pasa primero por un clasificador estructural determinista (no requiere LLMs) que se ejecuta en milisegundos. El clasificador mapea comandos a tipos de acción como:
- filesystem_read
- filesystem_delete
- package_run
- db_write
- git_history_rewrite
- lang_exec
Para cada tipo de acción, nah aplica una de cuatro políticas: permitir, contexto (depende del objetivo), preguntar o bloquear. El mismo comando recibe decisiones diferentes según el contexto:
rm dist/bundle.js(dentro del proyecto) → Permitirrm ~/.bashrc(fuera del proyecto) → Preguntargit push --force→ Preguntar (reescritura de historial)base64 -d | bash→ Bloquear (tubería de decodificación + ejecución)
Qué protege
nah verifica diferentes aspectos dependiendo de la herramienta:
- Bash: Clasificación estructural de comandos — tipo de acción, composición de tuberías, desenrollado de shell
- Read: Detección de rutas sensibles (~/.ssh, ~/.aws, .env, ...)
- Write: Verificación de ruta + límite del proyecto + inspección de contenido (secretos, exfiltración, cargas destructivas)
- Edit: Verificación de ruta + límite del proyecto + inspección de contenido en la cadena de reemplazo
- Glob: Protege el escaneo de directorios en ubicaciones sensibles
- Grep: Detecta patrones de búsqueda de credenciales fuera del proyecto
- MCP tools: Clasificación genérica para servidores de herramientas de terceros (mcp__*)
Instalación y uso
Instalar con: pip install nah && nah install
Desinstalar con: nah uninstall && pip uninstall nah
La herramienta funciona inmediatamente con valores predeterminados sensatos, sin requerir configuración. Puedes ejecutar una demostración de seguridad dentro de Claude Code con: /nah-demo que recorre 25 casos en vivo a través de 8 categorías de amenazas incluyendo ejecución remota de código, exfiltración de datos y comandos ofuscados.
Opciones de configuración
Cuando quieras personalizar el comportamiento, puedes configurar mediante:
~/.config/nah/config.yaml(global).nah.yaml(por proyecto, solo puede restringir permisos)
Ejemplo de configuración:
actions:
filesystem_delete: ask # siempre confirmar eliminaciones
git_history_rewrite: block # nunca permitir push forzado
lang_exec: allow # confiar en scripts en línea
sensitive_paths:
~/.kube: ask
~/Documents/taxes: block
Capa opcional de LLM
Para comandos que el clasificador determinista no puede resolver, nah puede consultar opcionalmente un LLM. El flujo es: Llamada a herramienta → nah (determinista) → LLM (opcional) → Permisos de Claude Code → ejecutar. La capa determinista siempre se ejecuta primero — el LLM solo resuelve decisiones "preguntar" restantes. Si no hay LLM configurado o disponible, la decisión permanece "preguntar" y se solicita al usuario. Los proveedores compatibles incluyen Ollama, OpenRouter, OpenAI, Anthropic y Snowflake Cortex.
Notas importantes
Los desarrolladores advierten específicamente contra el uso de la bandera --dangerously-skip-permissions de Claude Code. En modo de omisión, los ganchos se activan de forma asíncrona — los comandos se ejecutan antes de que nah pueda bloquearlos. En su lugar, recomiendan permitir herramientas como Bash, Read, Glob y Grep y dejar que nah las proteja.
📖 Read the full source: HN AI Agents
👀 Ver también

Extensión de Chrome Cowork automatiza la eliminación de datos personales de corredores de datos
Un usuario de Reddit informa que, al usar la extensión Chrome Cowork con una conexión a Gmail, se automatizó el llenado de formularios, la redacción de correos electrónicos y la verificación de solicitudes de eliminación para borrar datos personales de los principales proveedores de datos en tan solo unas horas.

Codegraph: Los cortes del grafo de conocimiento preindexado reducen las llamadas de herramientas Claude/Cursor en un 94%
Codegraph utiliza un grafo de conocimiento preindexado de relaciones entre símbolos, grafos de llamadas y estructura de código para reducir las llamadas a la API hasta en un 94% y acelerar el uso en aproximadamente un 77% para agentes de Claude, Cursor, Codex y OpenCode.

Habilidad de Aventura de Texto Claude v1.1.0 Agrega Arcos de Campaña y NPCs Mejorados
La actualización de habilidad de aventura de texto Claude v1.1.0 introduce arcos de campaña donde la progresión del personaje persiste entre aventuras, PNJ con estadísticas y niveles ocultos, y módulos visuales/auditivos opcionales. Descarga text-adventure.zip desde los lanzamientos de GitHub para usar con Claude Desktop o claude.ai.

agentcache: Biblioteca de Python para Caché de Prefijos de LLM Multi-Agente
agentcache es una biblioteca de Python que permite a los marcos de trabajo de LLM multiagente compartir prefijos de prompts en caché, logrando tasas de acierto de caché de hasta el 76% y reduciendo el tiempo de inferencia a más de la mitad en pruebas con GPT-4o-mini.