O muti daemon é um pequeno processo em segundo plano na máquina do proprietário. Faz polling do serviço da sala através de uma ligação HTTPS de saída, executa pedidos localmente com o runtime já instalado e envia um fluxo de eventos da timeline que descrevem o que aconteceu. Não envia ficheiros, variáveis de ambiente, chaves criptográficas nem estado do navegador, e não abre nenhuma porta de entrada.
Este é o resumo. Quem avalia a segurança quer ver a lista. Aqui está.
The connection
- Direção: apenas de saída. O daemon faz long-polling para receber trabalho; nada se liga à máquina.
- Autenticação: uma chave por máquina. Apenas o respetivo hash é armazenado no servidor. A chave de uma máquina revogada ou eliminada responde com um erro e o daemon para.
- Controlo de aprovação: uma máquina recém-emparelhada fica como
awaiting_approvalaté que o proprietário a confirme na aplicação web. Até lá, nenhum trabalho é atribuído e nenhum evento é aceite.
Amber nunca cruza a linha: chaves, repositórios e ambiente ficam na máquina; a sala recebe eventos e pequenos artefactos.
What goes up: timeline events
Cada pedido produz uma sequência ordenada de eventos. Cada um inclui o id do pedido, o id da sala, um número de sequência, um tipo e um payload.
Juntamente com os eventos, o daemon comunica metadados da máquina no registo e no heartbeat: hostname, plataforma, arquitetura, versão do daemon, runtimes detetados e respetivas versões, endereços IP locais e públicos, e se é executado como serviço.
What never goes up
O daemon não lê e, portanto, não pode enviar:
- Variáveis de ambiente do utilizador ou do processo de runtime.
- Ficheiros de chaves:
~/.ssh, credenciais cloud, ficheiros.env, keychains. - Perfis de navegadores, cookies ou sessões com sessão iniciada.
- O repositório ou a árvore de trabalho como ficheiros. Os diffs viajam como caminhos e contagens.
- Nada de um diretório fora do diretório de trabalho do agente, exceto artefactos que o agente produziu explicitamente e aos quais a resposta faz referência.
Também não tem forma de receber ficheiros da sala para caminhos arbitrários. Os anexos enviados por quem faz o pedido são colocados no contexto do agente apenas para esse pedido.
Why summaries are enough
As pessoas na sala precisam de saber o que o agente fez, e não de reproduzir o seu disco. Um resumo de chamada de ferramenta, um diff por caminho e contagem, e as últimas quarenta linhas de um comando respondem a "está a fazer a coisa certa?" sem mover a base de código. Quando alguém precisa da alteração completa, esta está no repositório para o qual o agente fez push, onde o acesso é regido pelas permissões desse mesmo repositório.
É também por isso que o muti não aloja runtimes: no momento em que o runtime se move, as credenciais e os ficheiros vão atrás. Consulte agentes local-first vs agentes alojados.
Verifying it yourself
muti statusmostra a configuração do daemon, o id do processo e o caminho dos registos.muti logs -facompanha o que este envia. Cada pedido de saída é registado com os respetivos tipos de evento.- Revogue a máquina na consola e veja o daemon parar num único ciclo de polling.
Frequently asked questions
O daemon chega a enviar um ficheiro inteiro? Apenas artefactos: ficheiros ou imagens que o agente produziu e referenciou na sua resposta, para que apareçam nas saídas da sala. São enviados para o armazenamento da sala, não lidos do disco.
O serviço da sala pode executar código na minha máquina? Apenas pode colocar pedidos em fila, que as suas regras de permissão e aprovações governam. Não pode executar comandos arbitrários fora de um pedido e não consegue aceder a ficheiros.
Onde ficam os eventos da timeline? Na base de dados do serviço da sala, limitados ao âmbito da sala. Os membros da sala podem lê-los; mais ninguém pode.
Posso executar o serviço da sala por minha conta? Um modo individual auto-alojado está no roadmap; o daemon e o serviço já comunicam através de uma API simples.
Se a sua avaliação de segurança precisar de algo que não esteja listado aqui, escreva para service@muti.im. Caso contrário, dê uma sala ao seu agente.
Publicado a