Modelo de segurança
O que o Jiraya isola numa execução de agente, o que não isola e como montar runtimes para que um agente só alcance o que deve.
O agente do Jiraya roda na sua máquina, com o usuário do sistema que iniciou o daemon. Tudo o que esse usuário pode ler, escrever ou executar, o agente também pode. Esta página mostra o que o Jiraya separa entre execuções e onde está o limite real.
O limite é o usuário do daemon
As ferramentas de IA rodam sem pedir aprovação a cada comando, porque não há ninguém olhando o terminal. O Claude Code, por exemplo, roda com as permissões liberadas, e o GitHub Copilot CLI e o Qoder, no modo que aprova todas as ferramentas. O Codex segue o modo de sandbox e de aprovação da configuração dele na sua máquina.
Na prática, o agente consegue rodar qualquer comando que o usuário do daemon rodaria: ler arquivos da sua pasta pessoal, usar as suas chaves SSH e as credenciais da nuvem configuradas na máquina, e acessar a rede.
Cuidado
Não rode o daemon como root nem com sudo. O Claude Code, inclusive, se recusa a rodar sem pedir permissões quando é root.
O que o Jiraya isola
- Diretório por execução. Cada tarefa trabalha num diretório próprio em
~/jiraya_workspaces, acessível só pelo seu usuário, com um diretório temporário próprio. - Token por execução. O agente recebe um token do Jiraya válido só para aquela execução, ligado ao agente e ao workspace. Ele é apagado quando a execução termina. Dentro da execução, a CLI
jirayausa esse token, e não o que você guardou no login. - Autoria registrada. O que o agente faz pela CLI fica registrado como do agente, e o log da execução mostra em nome de quem ela rodou.
- Repositórios do projeto. Quando o projeto da tarefa define repositórios,
jiraya repo checkoutsó aceita esses. Isso orienta o agente, mas não impede umgit clonedireto com as credenciais da máquina. - Segredos do workspace. Valores cadastrados como segredo chegam ao agente como variável de ambiente. Se aparecerem no registro da execução ou nas memórias do agente, são trocados por
[REDACTED SECRET:NOME]antes de serem salvos, por correspondência exata do valor. - Daemon local. O daemon escuta só em
127.0.0.1. As operações sobre execuções e checkout exigem um token:jiraya repo checkoutusa o token da execução, ejiraya daemon watche a inclusão de um workspace no daemon usam um token local do daemon.
O que não é um limite
- Workspaces no mesmo daemon. Execuções de workspaces diferentes usam diretórios diferentes, mas rodam com o mesmo usuário. Um agente com acesso ao shell consegue ler o diretório de outro workspace.
- Segredos para o próprio agente. O agente que recebe o segredo consegue lê-lo do próprio ambiente.
- Segredos fora do registro da execução. A ocultação vale só para o registro da execução e para as memórias do agente. Comentários, tarefas, base de conhecimento e chat guardam o valor como o agente escreveu.
- Ocultação no registro da execução. A remoção de segredos não reconhece o valor transformado, por exemplo codificado em base64, e ignora valores com menos de 6 caracteres.
- Runtime público. Num runtime público, qualquer membro do workspace pode criar agentes que rodam na sua máquina, com o seu usuário e as credenciais das suas ferramentas de IA.
- Estado e parada do daemon. Na API local, a consulta de estado (
/health) e o pedido de parada (/shutdown) não exigem token. Qualquer processo da máquina consegue ver o estado do daemon e pará-lo.
Um agente pode publicar um segredo num comentário
As variáveis de ambiente do workspace chegam a todas as execuções, já com o valor dos segredos. Um membro que aciona um agente, atribuindo uma tarefa ou mencionando-o, pode levá-lo a escrever o valor de um segredo num comentário, por exemplo pedindo a saída de env. O comentário sai com o valor em texto, visível para quem acessa a tarefa. Entregue a um segredo só o acesso que os agentes do workspace podem expor.
Configurações recomendadas
| Cenário | Recomendação |
|---|---|
| Uso pessoal no seu computador | Runtime privado. Revise o que os agentes fazem nas primeiras execuções. |
| Runtime compartilhado com a equipe | Uma máquina ou máquina virtual só para isso, com um usuário do sistema dedicado e só as credenciais que os agentes precisam. |
| Workspaces que não podem ver os arquivos um do outro | Um usuário do sistema por workspace, ou máquinas separadas, cada um com o próprio daemon. |
| Repositórios sensíveis | Limite os repositórios no projeto e use tokens de Git com acesso só a eles. |
Conferir o que uma execução fez
- A transcrição de cada execução, com as chamadas de ferramenta, fica no Log de execução da tarefa e em
jiraya issue run-messages. - Na máquina,
jiraya daemon watchmostra as chamadas de ferramenta ao vivo, ejiraya daemon logsguarda o histórico do daemon. - O diretório da execução fica em
~/jiraya_workspacesaté a limpeza;jiraya daemon disk-usagelista cada um.
Atualizado em