Artigos

Arquitetura Zero-Trust: A máquina na nuvem que executa os agentes não guarda credenciais

O ambiente de execução dos agentes é completamente separado do banco de dados e das chaves mestras. Mesmo se um agente escapar do contêiner, ele não encontrará credenciais.

Um agente que escape de seu contêiner não deve encontrar nada de valor. Dividimos a arquitetura para que o executor não tenha acesso a dados confidenciais.

A locked boundary. The database and the key stand on the control side; the sandbox holds only agents and a working tree.controlsandboxdatabasekeynever crosses/workspace
Tudo o que descriptografa dados fica de um lado. Do outro, apenas os agentes e o código.

Dois papéis para isolamento seguro

A autenticação acessa o banco em rede interna privada. O executor roda código não confiável em ambiente isolado.

Verificações de acesso utilizam funções puras e determinísticas.

export function checkFrame(access: ConnectionAccess, frame: ClientMsg["type"]): AccessCheck

Minimização de privilégios nas interfaces

Métodos expostos ao executor fornecem apenas o estritamente necessário (nome e e-mail, sem hashes de senha).

Tokens de acesso a repositórios são consultados sob demanda e descartados após o uso.

A restrição de dados é uma propriedade de segurança fundamental.

Arquitetura baseada em papéis

O papel sandbox opera sem banco de dados e recusa conexões externas diretas, aceitando apenas conexões encaminhadas.

export const ROLES = ["all", "control", "sandbox"] as const;

export function needsDatabase(role: Role): boolean {
  return role !== "sandbox";
}

export function servesBrowsers(role: Role): boolean {
  return role !== "sandbox";
}

Essa separação garante a proteção contínua dos dados dos usuários.

O isolamento seguro é coberto em uma sandbox na nuvem para agentes, e os resultados em descobertas em sandbox na nuvem.

Respostas diretas

Onde ficam minhas credenciais do GitHub durante a execução?

Criptografadas no plano de controle. A máquina de execução não possui banco nem chaves.

O que um agente pode acessar se escapar do contêiner?

Apenas os arquivos do projeto e conexões de rede autorizadas. Nenhuma chave mestra ou tabela de usuários.

Isso é mais seguro do que isolamento por contêiner?

São medidas complementares: o contêiner dificulta o escape e a arquitetura sem segredos anula o impacto caso ocorra.