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.
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 | |
|---|---|---|
| Objetivo | Sessões de navegação descartáveis | Agentes de programação com IA em sandbox |
| SO convidado | Alpine Linux + Chromium | Ubuntu 24.04 |
| Ciclo de vida da VM | Efémero — destruído quando a janela fecha | Persistente — uma VM por espaço de trabalho, o estado sobrevive |
| O que é protegido | Tudo: nenhum dado sobrevive à sessão | A superfície de segredos: as credenciais reais nunca entram na VM |
| ID do pacote | io.bromure.app | io.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:
- 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.
- 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. - 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 trabalho → Ligar 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
| Requisito | Detalhe |
|---|---|
| macOS | 14 (Sonoma) ou posterior |
| Hardware | Apple Silicon (M1 ou mais recente). Não existe compilação para Intel — a Virtualization.framework apenas suporta convidados ARM64 em anfitriões Apple Silicon. |
| Disco | A 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. |
| Rede | O 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ários | O 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 manual — Resoluçã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:
- Introdução — Instalação abrange a transferência e instalação da aplicação e o primeiro arranque; Início rápido leva-o de uma instalação nova a um agente em execução de uma só vez.
- Fundamentos — Conceitos fundamentais explica a arquitetura (VMs, a fronteira de proxy, imagens, o modelo de credenciais); Espaços de trabalho e Sessões abrangem os dois objetos com que interage diariamente; O Navegador Incorporado abrange o Chromium conduzível pelo agente; Automatizações abrange execuções de agentes agendadas e não assistidas no seu quadro kanban; Tarefas de código abrange o kanban de código — briefings, fases planejadas pelo agente, revisão e mesclagem.
- Referência de definições — Definições documenta cada painel do editor Editar espaço de trabalho, uma página por painel, mais o painel de Automatização de toda a aplicação.
- Os pilares em profundidade — Credenciais, Análise da cadeia de fornecimento, Deteção de injeção de prompt, Rastreio, Fusion, e Modelos locais expandem cada um um pilar para o detalhe operacional completo.
- Para além de um Mac — Acesso remoto abrange a CLI, o SSH e o espelhamento de uma instância remota; Enterprise abrange a inscrição, a gestão de frota e o fluxo de eventos na cloud.
- Referência — Automatização e a CLI, Avançado, Resolução de problemas, o Glossário, e o Apêndice.
Continue com Instalação.