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

GlycemicGPT: Monitor de Diabetes AI Autohospedado con BYOAI y SDK de Plugins
GlycemicGPT es una plataforma de código abierto y autoalojada que conecta monitores Dexcom G7 y bombas Tandem con una capa de análisis de IA. Ofrece resúmenes diarios, análisis de comidas, chat conversacional y alertas configurables, todo en tu propio hardware.

Nelson v2.2.3 Publicado: Coordinación Multiagente para Claude Code, más un Benchmark de Simulación de Eventos Discretos
Nelson v2.2.3 incluye una habilidad de coordinación multiagente para Claude Code que utiliza una metáfora naval. Un benchmark de 13 configuraciones muestra que opus-4-7 con razonamiento domina; la elección de habilidad representa un delta menor.

Complemento de Claude Code para Investigación de Mercado en Reddit Sin Claves API
Un complemento de Claude Code automatiza la investigación de mercado en Reddit buscando hilos, analizando contenido y generando informes en markdown con enlaces directos. No requiere clave API de Reddit, autenticación ni archivos de configuración, utilizando datos públicos a través de un servidor MCP local.

Recuerdo Total: Grafo de Conocimiento Local para el Historial de Conversaciones de Código de Claude
Total Recall es un sistema de código abierto que ingiere las transcripciones de conversaciones JSONL de Claude Code en una base de datos SQLite con búsqueda de texto completo e incrustaciones vectoriales, haciendo que el historial de conversaciones sea buscable entre sesiones. Recupera extractos reales de conversaciones con contexto consciente del DAG e incluye un importador de ChatGPT.