
nah v0.11.0
Você deve isolar seus agentes em sandbox. Isto é para quando você não faz.
erros caros param aqui
uma guarda que bloqueia ações catastróficas de agentes
nahguard.ai • o que ele bloqueia • como se compara • como ele decide • instalar • estender • modelo de ameaças
claude code · codex · cursor · pi · + 11 mais
nah é uma guarda que fica no caminho de hooks do seu agente de programação e lê as chamadas de ferramentas antes que elas sejam executadas. Ele bloqueia as chamadas que consegue provar serem desastres e nunca aprova nada: todo o resto segue para as permissões normais do seu runtime.
nah é apenas um binário Rust: um veredito é determinístico e não precisa de LLM. Extensões são apenas programas. Aponte seu agente para a documentação do nah e peça que ele construa uma guarda nah personalizada.
Ele reconhece um desastre quando vê um.
48 guardas, 30 ativas por padrão, cobrindo oito classes de desastre: sequestros de execução, roubo de segredos, destruição de sistema de arquivos, desastres com git, desmontagem de infraestrutura, armazenamento e backup, acesso a rede com hosts parecidos, operações em registros de pacotes e ações de desligamento de energia e parada de serviços do host.
| Guard | Bloqueia |
|---|---|
exec-remote | Execução de um payload obtido visivelmente da rede. |
exec-decoded | Execução alcançada a partir de um estágio de decodificação visível. |
exec-obfuscated | Execução codificada, selecionada por padrão ou não resolvida, e caracteres ocultos em comandos. |
exec-network-shell | Shells anexados a uma conexão de rede, incluindo netcat, socat e redirecionamento de shell. |
secrets-env | Leituras de arquivos .env e nomes base sensíveis, incluindo conteúdos do histórico do Git, além da saída direta de variáveis de ambiente de credenciais catalogadas. |
secrets-credentials | Leituras ou gravações de caminhos de chaves privadas e armazenamentos de credenciais, incluindo leituras de conteúdo do histórico do Git; exclusão ou movimentação de chaves privadas; leituras de metadados ou valores do keychain do macOS. |
secrets-exfil | Um fluxo visível de uma origem sensível para um estágio de rede. |
secrets-store-delete | Exclusão revisada remanescente de armazenamento de segredos com semântica recuperável ou dependente de contexto. Desativado por padrão. |
secrets-store-destroy | Destruição permanente comprovada de armazenamento de segredos: remoção de versão/metadados/motor do Vault, exclusão forçada e via SSM da AWS, exclusão de segredo inteiro no Google, purge no Azure, exclusão de projeto/configuração no Doppler e exclusão de cofre no 1Password. |
secrets-store-read | Leituras revisadas de valores em CLIs comuns de gerenciadores de segredos. |
fs-system-tree | Exclusão, realocação comprovada de entrada raiz, alterações recursivas de permissão ou sobrescrita de todos os arquivos, selecionando a raiz do sistema de arquivos ou uma árvore do sistema. |
fs-home | Exclusão, alterações recursivas de permissão ou sobrescrita de todos os arquivos, selecionando a raiz do diretório home ou uma pasta pessoal como ~/Documents. |
fs-outside-workspace-delete | Exclusão recursiva fora do projeto ativo, exceto sob raízes temporárias revisadas. Desativado por padrão. |
fs-permission-weaken | Modos de chmod que comprovadamente concedem permissão de escrita global ou setuid/setgid. Desativado por padrão. |
fs-project-root | Exclusão recursiva concreta no escopo do Projeto, alterações recursivas de permissão conhecidas que podem bloquear o proprietário, ou sobrescrita de todos os arquivos, selecionando a raiz exata do projeto ou seus padrões exatos *, .* ou {*,.*} em toda a raiz. find -delete sem um caminho inicial explícito não possui alvo modelado. |
fs-raw-device | Gravações visíveis em, e destruição de dispositivo inteiro de, dispositivos de armazenamento brutos, e o gatilho sysrq. |
fs-volume-destroy | Destruição definitiva de volume lógico, pool de armazenamento e dataset ZFS ativo. |
fs-forkbomb | Padrões de fork-bomb de shell reconhecidos estruturalmente. |
fs-auth-identity | Modificação ou exclusão de arquivos revisados de autenticação, identidade e política de privilégios do host, incluindo exclusão recursiva de seus diretórios pai. |
fs-shell-profile | Alterações em caminhos revisados de perfil de shell do usuário. Desativado por padrão. |
fs-startup-management | Comandos revisados de gerenciamento persistente de systemctl, launchctl e crontab. Desativado por padrão. |
fs-startup-persistence | Alterações em caminhos revisados de inicialização de serviços, agendamentos, login, autostart e loader. |
git-clean-force | Um Git clean forçado efetivo selecionando a raiz do projeto. |
git-force-push | Git force pushes sem proteção de lease e force pushes com lease direcionados explicitamente a main ou master. |
git-hard-reset | Git hard resets. |
git-history-rewrite | Reescritas selecionadas de histórico do Git sem força, incluindo rebases, filtragem, expiração de recuperação, garbage collection agressivo ou com poda, e force pushes com lease, incluindo refspecs estáticos explícitos direcionados a main ou master. Desativado por padrão. |
git-rewrite-force | Reescrita de histórico que contorna explicitamente verificações de segurança ou backup. |
git-metadata | Gravações destrutivas ou exclusão selecionando metadados duráveis do histórico do Git. |
git-path-discard | Checkout, restore e sobrescritas de git show no mesmo caminho, de caminhos nomeados definidos. Desativado por padrão. |
git-protected-push | Pushes cujo refspec estático explícito é direcionado a main ou master. Pushes sem refspec permanecem fora deste guard. Desativado por padrão. |
git-recovery-destroy | Limpeza de toda a coleção de stash ou destruição imediata, em todo o repositório, do histórico de recuperação do Git. |
git-ref-delete | Exclusão revisada de refs locais e remotas, entradas de stash, worktrees e worktrees de submódulos. Desativado por padrão. |
git-remote-repo-delete | Exclusão exata de repositórios inteiros no GitHub, GitLab e Azure DevOps por meio de suas CLIs e rotas REST. |
git-remote-resource-delete | Exclusão direcionada estaticamente de recursos hospedados no GitHub, GitLab e Azure DevOps por meio de comandos de CLI e rotas REST revisados. Desativado por padrão. |
git-worktree-discard | Checkout ou restauração em todo o projeto, alterações forçadas de branch comprovadas e remoção forçada de worktree ou desinicialização de submódulos. |
db-destroy | Drop, truncate, flush, reset ou sobrescrita de dados de bancos de dados em produção, e exclusão de bancos de dados gerenciados. Desativado por padrão. |
infra-container-reset | Comandos Podman que redefinem o estado completo do runtime local ou de um runtime selecionado. |
infra-container-volume-delete | Limpeza ampla de volumes não utilizados por meio de comandos prune revisados do Docker e Podman, e remoção de volumes com down -v/rm -v do Compose. Desativado por padrão. |