nah: Um guarda de permissão com reconhecimento de contexto para Claude Code

O que o nah faz
nah é um guardião de permissões baseado em Python que fica entre o Claude Code e a execução de ferramentas. Ele aborda as limitações do sistema binário de permissões (permitir ou negar) do Claude adicionando tomada de decisão consciente do contexto. A ferramenta intercepta cada chamada de ferramenta antes que ela execute e a classifica com base no que ela realmente faz.
Como funciona
Cada chamada de ferramenta passa primeiro por um classificador estrutural determinístico (sem necessidade de LLMs) que roda em milissegundos. O classificador mapeia comandos para tipos de ação como:
- filesystem_read
- filesystem_delete
- package_run
- db_write
- git_history_rewrite
- lang_exec
Para cada tipo de ação, o nah aplica uma de quatro políticas: permitir, contexto (depende do alvo), perguntar ou bloquear. O mesmo comando recebe decisões diferentes com base no contexto:
rm dist/bundle.js(dentro do projeto) → Permitirrm ~/.bashrc(fora do projeto) → Perguntargit push --force→ Perguntar (reescrever histórico)base64 -d | bash→ Bloquear (pipe de decodificar + executar)
O que ele protege
O nah verifica diferentes aspectos dependendo da ferramenta:
- Bash: Classificação estrutural de comandos — tipo de ação, composição de pipe, desempacotamento de shell
- Read: Detecção de caminhos sensíveis (~/.ssh, ~/.aws, .env, ...)
- Write: Verificação de caminho + limite do projeto + inspeção de conteúdo (segredos, exfiltração, payloads destrutivos)
- Edit: Verificação de caminho + limite do projeto + inspeção de conteúdo na string de substituição
- Glob: Protege a varredura de diretórios em locais sensíveis
- Grep: Captura padrões de busca de credenciais fora do projeto
- MCP tools: Classificação genérica para servidores de ferramentas de terceiros (mcp__*)
Instalação e uso
Instale com: pip install nah && nah install
Desinstale com: nah uninstall && pip uninstall nah
A ferramenta funciona pronta para uso com padrões sensatos, não exigindo configuração. Você pode executar uma demonstração de segurança dentro do Claude Code com: /nah-demo que passa por 25 casos reais em 8 categorias de ameaças incluindo execução remota de código, exfiltração de dados e comandos ofuscados.
Opções de configuração
Quando você quiser personalizar o comportamento, pode configurar via:
~/.config/nah/config.yaml(global).nah.yaml(por projeto, só pode restringir permissões)
Exemplo de configuração:
actions:
filesystem_delete: ask # sempre confirmar exclusões
git_history_rewrite: block # nunca permitir push forçado
lang_exec: allow # confiar em scripts inline
sensitive_paths:
~/.kube: ask
~/Documents/taxes: block
Camada opcional de LLM
Para comandos que o classificador determinístico não consegue resolver, o nah pode opcionalmente consultar um LLM. O fluxo é: Chamada de ferramenta → nah (determinístico) → LLM (opcional) → Permissões do Claude Code → executar. A camada determinística sempre roda primeiro — o LLM só resolve decisões "perguntar" restantes. Se nenhum LLM estiver configurado ou disponível, a decisão permanece "perguntar" e o usuário é solicitado. Provedores suportados incluem Ollama, OpenRouter, OpenAI, Anthropic e Snowflake Cortex.
Notas importantes
Os desenvolvedores alertam especificamente contra o uso da flag --dangerously-skip-permissions do Claude Code. No modo de bypass, os hooks disparam de forma assíncrona — os comandos executam antes que o nah possa bloqueá-los. Em vez disso, eles recomendam permitir ferramentas como Bash, Read, Glob e Grep e deixar o nah protegê-las.
📖 Read the full source: HN AI Agents
👀 See Also

Resultados de Benchmark: 15 LLMs Testados em 38 Tarefas de Fluxo de Trabalho Real
Um desenvolvedor avaliou 15 LLMs em nuvem e locais em 38 tarefas de seu fluxo de trabalho real, incluindo transformações de CSV, contagem de letras, aritmética modular e conformidade de formato. Claude 3.5 Sonnet e Opus obtiveram 100%, mas o Sonnet custa 3,5 vezes menos por chamada.

Servidor MCP da Detrix Adiciona Depuração em Tempo de Execução a Agentes de Codificação de IA
Detrix é um servidor MCP gratuito e de código aberto que permite que agentes compatíveis com MCP observem variáveis ativas em código em execução sem reinicializações ou alterações no código. Ele suporta aplicações em Python, Go e Rust rodando localmente ou no Docker.

SkyClaw: Runtime de Agente de IA Autônomo Baseado em Rust
SkyClaw é um runtime autônomo para agentes de IA construído em Rust com um binário de 7,1 MB que fica ocioso com 14 MB de RAM e inicia em menos de um segundo. Ele opera com cinco princípios de engenharia, incluindo autonomia, robustez e eficiência brutal.

Cowork vs. Claude Chat: Comparação de Precisão na Extração de Documentos
Um desenvolvedor testou o chat Claude.ai e o Cowork na extração de dados de PDFs financeiros com mais de 140 páginas usando prompts idênticos. O chat produziu resultados de nível institucional com autocorreção e zero erros em mais de 150 pontos de dados, enquanto o Cowork fabricou itens de linha de reconciliação, inverteu contagens de unidades e teve contaminação de colunas de anos anteriores.