Documentação / Segurança

Sandbox e permissões

Onde o agente pode trabalhar, o que ele faz sem perguntar e o que sempre aguarda a sua aprovação.

O agente trabalha dentro de um perímetro que o motor do Yuli aplica em cada operação. Você decide até onde esse perímetro se estende e quanto o agente pode fazer sem perguntar.

Dentro e fora do projeto

Por segurança, o agente e o painel do projeto só podem criar, mover, copiar ou excluir arquivos dentro do projeto aberto.

Onde O que acontece
Dentro do projeto O agente trabalha de acordo com a autonomia configurada. Cada alteração passa pela janela de alterações.
Pasta autorizada fora do projeto Pode ler, ou ler e escrever, conforme o que você escolheu.
Qualquer outro caminho ou uma alteração no computador Sempre pede a sua confirmação.

Dar acesso a outra pasta

  1. Abra Projeto → Acesso a pastas….
  2. Clique em Adicionar pasta… e escolha-a na caixa de diálogo do sistema.
  3. Escolha Leitura e escrita ou Somente leitura para essa pasta.
  4. Para revogar, clique em Remover acesso.

As permissões são por projeto. Uma pasta nova é adicionada com leitura e escrita; mude para somente leitura se você só precisa que o agente consulte.

Confiança do projeto

Na primeira vez que você abre um projeto, o Yuli pergunta “Você confia neste projeto?”. Confiar permite executar processadores de anotações (Lombok) e tarefas de compilação (Maven/Gradle) do projeto para uma análise completa.

Opção O que faz
Confiar Executa o Lombok e o Maven/Gradle para resolver dependências. Análise completa.
Modo restrito Não executa código do repositório: o javac analisa com -proc:none, o Lombok é modelado internamente e só é usado o classpath já salvo.

Mude a decisão em Projeto → Opções globais… → Segurança → Projetos confiáveis: Confiar, Restringir, Esquecer ou Perguntar novamente ao abri-lo.

A confiança afeta apenas a inteligência de código e o build. Ela não muda as permissões do agente.

Quanto o agente faz sem perguntar

O motor avalia cada ação e atribui a ela um nível de risco (baixo, médio, alto ou crítico), com uma explicação e a forma de desfazê-la. Conforme a predefinição de autorização, ele aprova sozinho o que é seguro ou pergunta a você.

Predefinição Modificar um arquivo Criar um arquivo Executar um comando Excluir
Cauteloso Pergunta Pergunta Pergunta Pergunta
Equilibrado (padrão) Sozinho Pergunta Pergunta Pergunta
Autônomo Sozinho Sozinho Sozinho Pergunta

Enquanto o agente pergunta a cada passo, acima da caixa do chat aparece “Aprovar tudo?”. Aprovar tudo muda para Autônomo: o agente edita, substitui e executa sem pedir aprovação a cada passo, e a janela de alterações e o rollback desfazem tudo. Continuar perguntando descarta a sugestão.

O que aumenta o risco

  • Excluir arquivos ou mexer em caminhos fora do projeto.
  • Migrações e arquivos .sql.
  • Configuração de produção (application-prod, Terraform, Kubernetes, Helm).
  • Manifestos de dependências.
  • Alterações em muitos arquivos de uma vez.
  • git push, merge ou reescrever o histórico.
  • Segredos no conteúdo.
  • Acesso à rede (curl, scp, ssh, docker push, npm publish, mvn deploy).
  • DROP, TRUNCATE ou DELETE FROM.

Autonomia avançada

Agente → Autonomia… abre as regras para que as propostas sejam aplicadas sozinhas. Ela vem desligada: você revisa cada proposta antes que ela chegue ao disco.

Configuração O que faz
Máximo de arquivos por turno Acima desse número, pede autorização.
Caminhos permitidos (pathsAllow) Globs em que se pode aplicar sozinho, por exemplo src/**. Vazio permite qualquer caminho não negado.
Caminhos negados (pathsDeny) Globs que sempre exigem autorização humana, por exemplo **/.env.
Exigir verificação aprovada Só aplica sozinho se a verificação do projeto estiver verde.

Os caminhos negados por padrão incluem **/.env, **/.env.*, **/credentials*, **/*.pem, **/*id_rsa*, **/.ssh/** e **/migrations/**.

Caminhos que sempre pedem confirmação

Nenhuma predefinição pode ignorar estes casos. Escrever em um caminho que contenha .env, credentials, secret, id_rsa, .pem, .git/ ou .ssh/ sempre pede a sua confirmação.

Além disso, o contrato de qualidade protege o próprio contrato, os hooks do Git e os arquivos de CI: um agente não pode editá-los.

Git, CI e DevOps: só se você pedir

O agente não faz commit, push, merge, rebase, tags nem operações de CI por iniciativa própria. São bloqueados comandos como git commit, git push, gh, glab, az pipelines, az repos e as ferramentas de servidores MCP do GitHub, GitLab, Jenkins ou CloudBees.

  1. O Yuli detecta na sua mensagem um pedido explícito, em espanhol ou inglês: “haz commit”, “súbelo”, “push”, “crea un PR”, “despliega”…
  2. Com o pedido, o Git fica habilitado para essa sessão.
  3. Mesmo assim, cada ação pede a sua aprovação.

Criar um branch ou um worktree exige um pedido explícito próprio. Mesmo que você peça “haz commit y push”, o agente trabalha no branch atual.

Clientes de banco de dados bloqueados

O agente não pode usar clientes de banco de dados de linha de comando: sqlplus, sqlcl, sqlcmd, bcp, sqlite3, psql, mysql, mariadb, mongo, mongosh, isql, db2, impdp, expdp, rman e similares. Toda consulta passa pelas ferramentas do Yuli e pela sua política. Veja Banco de dados seguro.

No Modo assinatura

Com o Claude Code, o Kiro, o Codex ou o Antigravity valem as mesmas regras. O Yuli as aplica com hooks e como cliente ACP:

  • Dentro do projeto, o agente trabalha sem interrupções; fora dele, pergunta a você.
  • Git, CI e branches só se você pedir.
  • Os segredos nunca são lidos.

Em Opções globais → IA e modelos → Modo de IA você pode desativar Fazer cumprir as regras para passar a “Só avisar”: o Yuli informa o que falta, mas não bloqueia. Git e segredos são sempre protegidos.