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

✍️ OpenClawRadar📅 Publicado: March 12, 2026🔗 Source
nah: Um guarda de permissão com reconhecimento de contexto para Claude Code
Ad

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) → Permitir
  • rm ~/.bashrc (fora do projeto) → Perguntar
  • git 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__*)
Ad

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

Ad

👀 See Also

🦀
Tools

Agulha: Um Modelo de Chamada de Ferramentas com 26M Parâmetros Construído Totalmente Sem FFNs

Needle é um modelo de chamada de funções de 26M de parâmetros sem MLPs, atingindo 6000 tok/s de preenchimento e 1200 tok/s de decodificação em dispositivos consumidores. Ele supera FunctionGemma-270M, Qwen-0.6B, Granite-350M e LFM2.5-350M em chamada de ferramenta de tiro único.

OpenClawRadar
CLI-Anything-WEB: plugin de código aberto que engenharia reversa de qualquer site em um CLI em Python para Claude Code
Tools

CLI-Anything-WEB: plugin de código aberto que engenharia reversa de qualquer site em um CLI em Python para Claude Code

O CLI-Anything-WEB é um plugin de código aberto para o Claude Code que monitora o tráfego do seu navegador, faz engenharia reversa do protocolo e gera uma CLI Python completa com autenticação, testes e suporte a --json. 19 CLIs de exemplo incluídas para sites como Reddit, Booking, Airbnb, ChatGPT e LinkedIn.

OpenClawRadar
Qwen 3.5 35B em execução com 8 GB de VRAM usando a configuração llama.cpp
Tools

Qwen 3.5 35B em execução com 8 GB de VRAM usando a configuração llama.cpp

Um desenvolvedor compartilha sua configuração do llama.cpp para executar Qwen 3.5 35B (Q4_K_M GGUF) em uma RTX 4060m com 8GB de VRAM, alcançando 700 t/s no processamento de prompts e 42 t/s na geração, e discute o uso do Cline no VSCode com os modos kat-coder-pro e qwen3.5.

OpenClawRadar
Servidor MCP de Rust de Código Aberto Dá ao Claude Capacidades Completas de Gerenciamento de Email
Tools

Servidor MCP de Rust de Código Aberto Dá ao Claude Capacidades Completas de Gerenciamento de Email

Um desenvolvedor criou um servidor MCP baseado em Rust que fornece ao Claude 25 ferramentas para gerenciamento abrangente de e-mail, incluindo busca IMAP, envio SMTP, suporte à API Microsoft Graph e gerenciamento de múltiplas contas com autenticação OAuth2.

OpenClawRadar