Skip to main content
O ChatCLI implementa um sistema de permissões avancado que controla quais operações o agente pode executar automaticamente, quais requerem aprovacao e quais sao sempre bloqueadas. O sistema combina políticas de múltiplas fontes, rastreia negacoes do usuário e mantem padroes de segurança imunes a bypass.

Resolução de Politicas Multi-Fonte

As políticas de permissao sao carregadas e mescladas de múltiplas fontes, com prioridade definida:
Fontes de prioridade mais alta prevalecem sobre as mais baixas. Se uma regra do projeto diz allow para @coder exec, mas a regra do usuário diz deny, a regra do projeto prevalece.

Formato do Arquivo de Política

Acoes Disponíveis


Rastreamento de Negacoes

O Denial Tracker monitora quando o usuário nega permissao para prevenir prompts infinitos:
Quando o usuário nega a mesma ferramenta 3 vezes consecutivas, ela e auto-bloqueada para o resto da sessão.
O contador consecutivo e resetado quando o usuário aprova uma execução da ferramenta.

Configuração do Denial Tracker


Imunidade de Segurança (Safety Bypass)

Existem 40+ padroes de operação que SEMPRE requerem aprovacao do usuário, independentemente de qualquer regra allow na política. Esses padroes protegem contra erros catastroficos:
  • rm -rf / rm -fr e variantes
  • mkfs (formatar filesystem)
  • dd escrevendo em devices (of=/dev/)
  • shred (exclusao segura)
  • Escrita em /etc/, /boot/, /sys/, /proc/
  • Redirecionamento de output para /etc/
  • sudo qualquer comando
  • su - (troca de usuário)
  • chmod 777 (world-writable)
  • chmod +s (setuid/setgid)
  • chown root
  • insmod, rmmod, modprobe (modulos de kernel)
  • sysctl -w (escrita em sysctl)
  • iptables -F (flush de firewall)
  • systemctl stop/disable/mask
  • /dev/tcp/ (reverse shell bash)
  • nc -l / ncat -l (netcat em modo listen)
  • .ssh/ (chaves SSH)
  • .gnupg/ (chaves GPG)
  • .aws/credentials
  • .kube/config
  • DROP DATABASE/TABLE/SCHEMA
  • TRUNCATE TABLE
  • DELETE FROM ... WHERE 1=1
  • git push --force / git push -f
  • git reset --hard
  • git clean -f
  • kill -9, killall, pkill -9
  • shutdown, reboot, poweroff, halt
Esses padroes sao imunes a bypass: mesmo que @coder exec * esteja configurado como allow, comandos que matcham esses padroes sempre pedem confirmação.

Allowlist de Comandos Read-Only

O ChatCLI mantem uma allowlist de 90+ comandos que sao automaticamente aprovados por serem somente leitura:
ls, ll, cat, head, tail, less, more, wc, file, stat, du, df, find (sem -delete/-exec), tree, realpath, readlink, basename, dirname, md5sum, sha256sum

Protecoes Adicionais

Mesmo para comandos da allowlist, certas flags e padroes sao não auto-aprovados: Alem disso, comandos com pipe para destinos perigosos (| rm, | sudo, | xargs, | sh) ou redirecionamento de output (>, >>) nunca sao auto-aprovados.

Fluxo de Decisão


Próximos Passos

Segurança do Coder

Detalhes sobre a segurança do modo coder.

Sistema de Hooks

Hooks PreToolUse para guardrails adicionais.

Segurança

Modelo geral de segurança do ChatCLI.

Plugin @coder

Referência das ferramentas protegidas pelo sistema de permissões.