Introdução

O Bromure Agentic Coding é uma aplicação macOS que executa agentes de programação com IA — Claude Code, Codex CLI, Grok CLI e ferramentas comuns de shell — dentro de uma VM Linux virtualizada por hardware no seu próprio Mac, construída sobre a Virtualization.framework da Apple. O agente obtém um ambiente de desenvolvimento Ubuntu completo e persistente; as suas credenciais reais nunca entram nele. Tudo o que o agente envia para o mundo exterior passa por um único gateway do lado do anfitrião, onde o isolamento, a proteção de credenciais, a análise da cadeia de fornecimento, a deteção de injeção de prompt e o rastreio de auditoria são todos aplicados — uma fronteira que o agente não consegue contornar.

Este manual documenta o Bromure Agentic Coding 4.3.0. O executável é bromure-cli, o ID do pacote é io.bromure.agentic-coding, e a aplicação requer macOS 14 (Sonoma) ou posterior em Apple Silicon. Os detalhes completos do produto, capturas de ecrã e transferências estão publicados em bromure.io.

O que é o Bromure Agentic Coding?

Os agentes de programação modernos são poderosos e, por conceção, autónomos: leem ficheiros, executam comandos de shell, instalam pacotes e chamam APIs em seu nome. Execute um diretamente no seu Mac e ele herda tudo o que a sua shell tem — as suas chaves SSH, as suas credenciais ~/.aws, o seu kubeconfig, os seus tokens de API. Uma única dependência maliciosa ou uma página web com injeção de prompt fica então a um passo de todos eles.

O Bromure Agentic Coding altera os termos desse acordo. Cada espaço de trabalho que cria possui a sua própria VM Linux persistente — o seu próprio kernel, disco, endereço MAC e namespace de rede. O agente é executado dentro da VM com estado durável (repositórios clonados, caches de pacotes, virtualenvs, histórico de shell), pelo que parece uma máquina de desenvolvimento normal. Mas o ambiente contém apenas credenciais falsas intencionalmente inválidas; os valores reais residem cifrados no anfitrião e são injetados na transmissão, por destino, com o seu consentimento.

Quando inicia a aplicação, chega ao navegador de espaços de trabalho — a janela principal mostrada abaixo. A barra lateral lista os seus espaços de trabalho em ESPAÇOS DE TRABALHO (com uma vista geral em Grelha no topo e uma secção AUTOMATIZAÇÕES por baixo), e cada espaço de trabalho apresenta uma etiqueta de estado: Desligado, Suspenso ou Em execução. Selecionar um espaço de trabalho mostra o seu painel de detalhes: cartões para CPU, Memória, vCPUs, Disco e Tempo de atividade, um resumo de CONFIGURAÇÃO (que agente e modo de credencial o espaço de trabalho utiliza, se as Salvaguardas e a análise de injeção de prompt estão ativadas, e que pastas são partilhadas), e um botão Iniciar para arrancar a sua VM.

O navegador de espaços de trabalho: barra lateral com dois espaços de trabalho, painel de detalhes com cartões de recursos e um resumo de configuração

Na captura de ecrã, o espaço de trabalho "Codex Sandbox" está desligado: os cartões de recursos mostram a alocação com que irá arrancar (8 GB de memória, 4 vCPUs), e a secção CONFIGURAÇÃO mostra o Claude Code configurado no modo Cloud com um token de API, as Salvaguardas e a análise de injeção de prompt desativadas, e nenhuma pasta partilhada. Um clique em Iniciar arranca a VM; o mesmo painel mostra então valores de CPU, disco e tempo de atividade em tempo real.

A quem se destina

O Bromure Agentic Coding foi criado para três públicos que se sobrepõem:

  • Programadores individuais que pretendem executar agentes de programação com credenciais reais — Anthropic, OpenAI, AWS, Kubernetes, GitHub — sem entregar essas credenciais ao próprio agente. Obtém a conveniência de um agente que pode implementar, fazer push e aprovisionar, com a garantia de que uma sessão comprometida não expõe nada além de engodos.
  • Equipas conscientes da segurança que pretendem que cada ação do agente seja observável: que modelo foi chamado, que ferramentas foram executadas, que ficheiros foram tocados, que comandos foram executados, que credenciais foram utilizadas e onde. O rastreio local cifrado responde a "o que é que o agente fez realmente?" após o facto.
  • Engenharia de plataforma e de segurança em organizações que necessitam de políticas para toda a frota: as instalações inscritas transmitem metadados da sessão para o espaço de trabalho da organização, as credenciais podem ser emitidas para a aplicação em vez de para as shells dos programadores, e desativar uma máquina é uma única ação do plano de controlo. Consulte Enterprise.

Não precisa de ser um especialista em virtualização. A aplicação transfere uma imagem base pré-construída e assinada no primeiro arranque, arranca as VMs em segundo plano e apresenta tudo através de uma interface nativa do macOS. Se sabe usar um terminal, sabe usar o Bromure Agentic Coding.

Duas aplicações irmãs

O Bromure Agentic Coding é distribuído a partir do mesmo repositório de código aberto que a sua aplicação irmã, Bromure (a variante de navegador web, por vezes chamada Bromure Web). Ambas são construídas sobre a Virtualization.framework da Apple e partilham a mesma maquinaria de VM e de imagem, mas assumem posições opostas quanto ao ciclo de vida da VM:

Bromure (Web)Bromure Agentic Coding
ObjetivoSessões de navegação descartáveisAgentes de programação com IA em sandbox
SO convidadoAlpine Linux + ChromiumUbuntu 24.04
Ciclo de vida da VMEfémero — destruído quando a janela fechaPersistente — uma VM por espaço de trabalho, o estado sobrevive
O que é protegidoTudo: nenhum dado sobrevive à sessãoA superfície de segredos: as credenciais reais nunca entram na VM
ID do pacoteio.bromure.appio.bromure.agentic-coding

As filosofias são complementares. A navegação é, por natureza, sem estado, pelo que o Bromure Web destrói cada VM ao fechar a janela e nada persiste. A programação é, por natureza, com estado — precisa dos seus clones, caches e histórico amanhã — pelo que o Bromure Agentic Coding mantém deliberadamente as VMs ativas e, em vez disso, controla o que a VM pode ver ou exfiltrar. Este manual abrange o Bromure Agentic Coding; o Bromure Web é mencionado apenas onde as duas aplicações interagem (por exemplo, o navegador de agente incorporado transfere a sua imagem do mesmo catálogo que o Bromure Web).

O modelo de segurança de fronteira única

A ideia definidora do produto é que cada proteção é aplicada num único lugar: um proxy MITM do lado do anfitrião através do qual flui todo o HTTPS de saída da VM. O HTTPS_PROXY do convidado aponta para ele, e a rede do convidado é modelada de forma a que o proxy seja o único caminho de saída. Como a fronteira reside no anfitrião, o código dentro da VM — incluindo um agente totalmente comprometido — não consegue desativá-la, contorná-la ou mentir-lhe.

Nessa fronteira, três coisas acontecem a cada pedido:

  1. Terminação de TLS. O proxy termina o TLS da VM usando a CA raiz do Bromure, uma autoridade de certificação por instalação gerada no primeiro arranque. O seu certificado público é montado no armazenamento de confiança de cada VM no arranque; a sua chave privada nunca sai do anfitrião.
  2. Inspeção e reescrita. O proxy inspeciona o pedido, aplica a política (consentimento, análise, deteção, rastreio) e — quando está envolvida uma credencial — substitui o valor falso pelo real. As substituições cobrem cabeçalhos bearer e x-api-key, corpos de atualização OAuth (opcional), reassinatura completa de AWS SigV4, credenciais Kubernetes, autenticação de registo Docker, e assinaturas SSH através de uma ponte ssh-agent sobre vsock.
  3. Recifragem. O pedido reescrito é recifrado para o upstream real através de uma ligação TLS normal.

O lado das credenciais disto é rigoroso por construção. A VM apenas contém sempre falsos com prefixos e comprimentos realistas — por exemplo ANTHROPIC_API_KEY=sk-ant-api03-brm-…, uma chave secreta AWS falsa, tokens de kubeconfig sintéticos. As substituições estão limitadas ao sufixo do anfitrião: uma credencial registada para api.anthropic.com nunca é injetada em direção a um domínio semelhante. E o sistema falha de forma segura: se o proxy for de algum modo contornado, a única credencial na transmissão é um falso que nenhum upstream aceita (a AWS, por exemplo, devolve InvalidSignatureException). Os valores reais residem apenas no processo do anfitrião, cifrados com AES-256-GCM, com a chave mestra na Keychain de Proteção de Dados do macOS.

Um detetor de compromisso fecha o ciclo: um autómato de Aho-Corasick construído sobre cada token falso registado para o espaço de trabalho analisa o corpo de cada pedido de saída numa única passagem. Se um falso se dirige a um anfitrião fora do seu âmbito de substituição — a assinatura de uma tentativa de exfiltração — o proxy recusa a substituição e alerta-o. Como apenas o falso foi exposto, a credencial real nunca precisa de rotação.

A mesma fronteira é onde tudo o resto se encaixa: as transferências de pacotes são analisadas à medida que a atravessam, o conteúdo não fiável é verificado quanto a injeção de prompt à medida que regressa por ela, o rastreio de auditoria regista o que a atravessou, e o painel Fusion, a inferência local e o acesso remoto operam todos sobre ela. Uma fronteira, todos os controlos.

Os pilares

Cada uma das seguintes capacidades tem um capítulo dedicado mais à frente no manual; esta secção dá-lhe a forma de cada uma.

Isolamento

Cada espaço de trabalho corresponde à sua própria VM persistente com o seu próprio kernel, disco virtual, endereço MAC, namespace de rede e ouvinte de proxy por espaço de trabalho. Um pacote malicioso ou um processo de agente rebelde pode destruir a VM — e apenas a VM. O seu anfitrião macOS, os seus outros espaços de trabalho e os seus ficheiros reais permanecem intocados, exceto as pastas que partilha explicitamente. As VMs arrancam a partir de uma imagem base Ubuntu 24.04 assinada, derivada por clonagem copy-on-write APFS, pelo que criar um espaço de trabalho é instantâneo, e retomar um espaço de trabalho Suspenso restaura o seu instantâneo de RAM no lugar; o conjunto de VMs pré-aquecidas está reservado para o sidecar de navegador efémero. Os conceitos são abordados em Conceitos fundamentais e a gestão do dia a dia em Espaços de trabalho.

Proteção de credenciais e consentimento

As credenciais reais nunca entram na VM; o proxy substitui os falsos pelos valores reais na transmissão, como descrito acima. Além da substituição, o Bromure Agentic Coding acrescenta governação por utilização: as credenciais podem exigir o seu consentimento explícito por destino, as concessões têm um TTL (permitir durante 5 minutos, durante 1 hora, ou durante o resto da sessão), e está disponível uma limitação a apenas leitura. Ocultar um token não é o mesmo que governar a sua utilização — o Bromure faz ambos. Consulte Credenciais.

Análise da cadeia de fornecimento

As instalações de pacotes são a forma mais comum de código hostil entrar num ambiente de desenvolvimento, pelo que o proxy analisa-as à medida que são obtidas. Combinam-se quatro mecanismos: uma barreira de idade (as versões de pacotes acabadas de lançar são retidas), pesquisas de vulnerabilidades OSV, análise comportamental socket.dev, e Delpi. Os veredictos são aplicados na transmissão — um pacote bloqueado nunca chega à VM — com um desvio consentido para quando sabe o que está a fazer. Consulte Análise da cadeia de fornecimento.

Deteção de injeção de prompt

O conteúdo que o agente lê do mundo exterior — páginas web, respostas de API, ficheiros — pode conter instruções dirigidas ao agente em vez de a si. O Bromure Agentic Coding analisa o conteúdo não fiável que atravessa a fronteira com dois modelos classificadores locais, PromptGuard e ModernBERT, executados no seu próprio hardware. As deteções surgem como uma decisão de bloquear/permitir com o texto assinalado mostrado a si, não ao agente. Consulte Deteção de injeção de prompt.

Rastreio e auditoria

Cada sessão pode ser registada como um rastreio de sessão completa cifrado: chamadas ao LLM (modelo, tokens, latência), chamadas de ferramentas, comandos de shell, leituras e escritas de ficheiros, utilizações de credenciais, e domínios contactados. O Inspetor de Rastreios local permite-lhe reproduzir o que um agente fez e responder a perguntas após o facto. Nas instalações inscritas em enterprise, os metadados da sessão transmitem adicionalmente para o espaço de trabalho da organização através de TLS mútuo — nunca prompts brutos ou respostas do modelo, e nunca valores secretos. As instalações individuais (não inscritas) não transmitem nada; um interruptor de Modo privado por espaço de trabalho suprime a transmissão inteiramente, e um indicador visível aparece na janela da sessão sempre que a transmissão está ativa. Consulte Rastreio.

Fusion

Como cada chamada ao LLM atravessa o proxy, o proxy pode fazer mais do que simplesmente encaminhá-la. O Fusion transforma um pedido num painel: vários modelos respondem, um modelo juiz avalia os candidatos, e uma melhor resposta sintetizada regressa ao agente — tudo na transmissão, transparente para o agente, sem necessidade de qualquer configuração do agente. Consulte Fusion.

Inferência local e híbrida

O mesmo ponto de interceção permite-lhe encaminhar as chamadas ao modelo para inferência executada no seu próprio Apple Silicon (via MLX), ou executar em modo híbrido: modelos na cloud normalmente, com recurso local quando a cloud está inacessível. Os modelos locais também alimentam os classificadores no dispositivo utilizados noutras partes do produto. Consulte Modelos locais.

Acesso remoto

A sua sandbox é acessível a partir de qualquer lugar: através da própria aplicação, a partir da linha de comandos, ou por SSH. Um segundo Mac a executar o Bromure Agentic Coding pode espelhar uma instância remota um-para-um — grelha, espaços de trabalho, separadores e automatizações — através de um túnel SSH (menu Espaços de trabalhoLigar a Bromure Remoto…). Fundamentalmente, a segurança não enfraquece quando passa a remoto: os pedidos de consentimento para utilização de credenciais, os desvios da cadeia de fornecimento, as escritas de salvaguardas e as decisões de injeção de prompt são apresentados no lado do anfitrião da ligação, onde um convidado comprometido não os consegue ver nem forjar, e qualquer tempo esgotado ou dispensa é tratado como uma recusa. Consulte Acesso remoto.

Gestão empresarial

As organizações inscrevem instalações num espaço de trabalho bromure.io com um código de seis palavras (bromure-cli enroll). A inscrição emite à instalação um certificado de TLS mútuo, ativa os perfis geridos enviados a partir do plano de controlo, e ativa o fluxo de eventos de metadados descrito em rastreio. Desativar uma máquina é uma única ação do plano de controlo que revoga o certificado da instalação. Duas capacidades são de nível Enterprise e surgem no Bromure Enterprise Manager: o inventário da cadeia de fornecimento para toda a frota (cada dependência obtida por qualquer máquina inscrita, com veredictos, pesquisável) e os agregados de utilização de tokens por ficheiro, repositório e modelo. Consulte Enterprise.

Como se compara com outras ferramentas

A matriz de comparação do README (compilada a partir da documentação pública de cada projeto em junho de 2026) aplica o mesmo modelo de ameaça às ferramentas a que as pessoas comummente recorrem. O padrão que revela: a maioria das ferramentas escolhe um dos cinco controlos — isolamento, manter os segredos fora do agente, limitar a utilização de credenciais, análise da cadeia de fornecimento, deteção de injeção de prompt — e fica por aí.

  • Dev Containers (VS Code) isolam a cadeia de ferramentas, mas o contentor partilha o kernel do anfitrião e a configuração encaminha ativamente o seu ssh-agent e as credenciais git para o ambiente onde o agente é executado. Não há limitação de credenciais por utilização, análise de registo, nem deteção de injeção.
  • nono é uma sandbox de kernel: listas de permissão de syscalls com um fluxo de aprovação e um filtro de saída, e um registo de auditoria local imutável. Bloqueia o acesso a ficheiros-chave e faz proxy de algumas credenciais, mas o agente não tem um kernel próprio, e a análise de pacotes e a deteção de injeção estão fora do âmbito.
  • agent-vault (octokraft) canaliza segredos para dentro dos processos, pelo que não há caminho de leitura para o valor bruto, com TTLs por segredo. Mas o próprio agente é executado no lugar na sua máquina — não há qualquer fronteira de isolamento.
  • Agent Vault (Infisical) é um proxy de credenciais HTTP: anexa credenciais na transmissão, pelo que o agente nunca as lê, e filtra a saída por endpoint. O agente, no entanto, é executado fora de sandbox, e não há análise nem deteção.
  • Docker Sandboxes (uma pré-visualização experimental) aproxima-se mais no isolamento: uma microVM com o seu próprio kernel, e um proxy de anfitrião que injeta cabeçalhos de credenciais para que os valores brutos permaneçam fora da VM. A lacuna é a governação: a credencial intermediada é anexada a qualquer pedido de saída que a sandbox faça, pelo que um pacote malicioso instalado no interior pode gastá-la contra um domínio na lista de permissões sem nunca a ver — e nada analisa esse pacote na entrada.
  • Capsem é uma VM de hardware isolada por air-gap com regras de saída ao nível do domínio e do método/caminho e registo completo do corpo dos pedidos HTTP. Mas as chaves de API reais residem dentro da VM, que é precisamente aquilo que não pode ser verdade quando a carga de trabalho é um agente possivelmente comprometido.

Nenhuma ferramenta na matriz oferece análise da cadeia de fornecimento ou deteção de injeção de prompt; essas duas colunas estão vazias para todos exceto o Bromure. O Bromure Agentic Coding aplica os cinco controlos na fronteira de proxy única e depois acrescenta o que um intermediário de segredos nunca poderia, porque é dono da transmissão: o painel de modelos Fusion, a inferência local e híbrida, e a ligação remota a partir da aplicação, da CLI ou por SSH. O inventário de pacotes para toda a frota e a análise de utilização de tokens são de nível Enterprise, surgindo no Bromure Enterprise Manager.

Os dados de comparação envelhecem rapidamente. Uma matriz mais detalhada e atual é mantida em bromure.io/en/feature-matrix, e o README convida a correções por issue caso uma linha sobre outra ferramenta tenha ficado desatualizada.

Requisitos num relance

RequisitoDetalhe
macOS14 (Sonoma) ou posterior
HardwareApple Silicon (M1 ou mais recente). Não existe compilação para Intel — a Virtualization.framework apenas suporta convidados ARM64 em anfitriões Apple Silicon.
DiscoA imagem base Ubuntu é um disco esparso lógico de 24 GB, cerca de 6–8 GB fisicamente em disco; cada espaço de trabalho acrescenta um clone copy-on-write que cresce com a utilização.
RedeO primeiro arranque transfere a imagem base pré-construída e assinada com ed25519 de dl.bromure.io. Sem ligação, a aplicação recorre à construção local da imagem (cerca de 10 minutos).
Agentes proprietáriosO Claude Code, o Codex CLI, o Grok CLI e o Google Cloud SDK não podem ser incluídos dentro da imagem redistribuível; são instalados na sua máquina como passos de pós-instalação de catálogo assinados. Executar a configuração inicial consente os passos de base; apenas os passos publicados numa atualização posterior lhe pedem aprovação depois.

As instruções passo a passo de transferência e primeiro arranque estão em Instalação.

Licença e autoria

O repositório Bromure é de código aberto sob a Licença MIT (Copyright 2026 Renaud Deraison) e de utilização gratuita. A autoria é creditada a Renaud Deraison (prompting) e Claude + Opus 4.7 (implementação).

Uma distinção que vale a pena ter em mente à medida que lê este manual: as duas aplicações em si são de código aberto, mas as funcionalidades empresariais — inscrição, perfis geridos, o fluxo de eventos na cloud, e o Bromure Enterprise Manager — estão ligadas ao plano de controlo alojado em bromure.io, que é um serviço comercial. Nada na experiência de utilizador único depende dele: uma instalação não inscrita não transmite nada para lado nenhum, e cada pilar de segurança funciona inteiramente no seu próprio Mac.

Obter ajuda

  • bromure.io — documentação do produto, capturas de ecrã, transferências, o whitepaper técnico, e a matriz de funcionalidades detalhada.
  • Issues do GitHub — relatórios de erros, pedidos de funcionalidades, e correções à matriz de comparação pertencem ao repositório GitHub do projeto (com ligação a partir de bromure.io).
  • Este manualResolução de problemas reúne procedimentos de diagnóstico e problemas conhecidos; o Glossário define todos os termos técnicos utilizados nestes capítulos.

Como este manual está organizado

O manual lê-se do início ao fim para os principiantes e serve depois como referência de acesso aleatório:

Continue com Instalação.