Introduction
Bromure Agentic Coding est une application macOS qui exécute des agents de codage IA — Claude Code, Codex CLI, Grok CLI et l'outillage shell ordinaire — à l'intérieur d'une machine virtuelle Linux à virtualisation matérielle sur votre propre Mac, reposant sur Virtualization.framework d'Apple. L'agent bénéficie d'un environnement de développement Ubuntu complet et persistant ; vos véritables identifiants n'y pénètrent jamais. Tout ce que l'agent envoie vers le monde extérieur transite par une passerelle unique côté hôte où l'isolation, la protection des identifiants, l'analyse de la chaîne d'approvisionnement, la détection d'injection de prompt et le traçage d'audit sont tous appliqués — une frontière que l'agent ne peut contourner.
Ce manuel documente Bromure Agentic Coding 4.3.0. L'exécutable est bromure-cli, l'identifiant de bundle est io.bromure.agentic-coding, et l'application requiert macOS 14 (Sonoma) ou une version ultérieure sur Apple Silicon. Tous les détails du produit, les captures d'écran et les téléchargements sont publiés sur bromure.io.
Qu'est-ce que Bromure Agentic Coding ?
Les agents de codage modernes sont puissants et, par conception, autonomes : ils lisent des fichiers, exécutent des commandes shell, installent des paquets et appellent des API en votre nom. Exécutez-en un directement sur votre Mac et il hérite de tout ce dont dispose votre shell — vos clés SSH, vos identifiants ~/.aws, votre kubeconfig, vos jetons d'API. Une seule dépendance malveillante ou une page web contenant une injection de prompt n'est alors qu'à un pas de tous ces éléments.
Bromure Agentic Coding change les termes de ce marché. Chaque espace de travail que vous créez possède sa propre machine virtuelle Linux persistante — son propre noyau, son disque, son adresse MAC et son espace de noms réseau. L'agent s'exécute dans la VM avec un état durable (dépôts clonés, caches de paquets, virtualenvs, historique du shell), de sorte qu'elle ressemble à une machine de développement normale. Mais l'environnement ne contient que des faux identifiants intentionnellement invalides ; les valeurs réelles résident chiffrées sur l'hôte et sont injectées sur le fil, par destination, avec votre consentement.
Lorsque vous lancez l'application, vous arrivez dans le navigateur d'espaces de travail — la fenêtre principale illustrée ci-dessous. La barre latérale répertorie vos espaces de travail sous WORKSPACES (avec une vue d'ensemble Grille en haut et une section AUTOMATISATIONS en dessous), et chaque espace de travail affiche une pastille d'état : Arrêté, Suspendu ou En cours d'exécution. Sélectionner un espace de travail affiche son volet de détail : des cartes pour le CPU, la mémoire, les vCPU, le disque et la durée de fonctionnement, un récapitulatif CONFIGURATION (quel agent et quel mode d'identifiant l'espace de travail utilise, si les garde-fous et l'analyse d'injection de prompt sont activés, et quels dossiers sont partagés), ainsi qu'un bouton Démarrer pour amorcer sa VM.
Sur la capture d'écran, l'espace de travail « Codex Sandbox » est éteint : les cartes de ressources affichent l'allocation avec laquelle il va démarrer (8 Go de mémoire, 4 vCPU), et la section CONFIGURATION montre Claude Code configuré en mode Cloud avec un jeton d'API, les garde-fous et l'analyse d'injection de prompt désactivés, et aucun dossier partagé. Un clic sur Démarrer amorce la VM ; le même volet affiche ensuite les valeurs en direct du CPU, du disque et de la durée de fonctionnement.
À qui il s'adresse
Bromure Agentic Coding est conçu pour trois publics qui se recoupent :
- Les développeurs individuels qui veulent exécuter des agents de codage avec de véritables identifiants — Anthropic, OpenAI, AWS, Kubernetes, GitHub — sans confier ces identifiants à l'agent lui-même. Vous bénéficiez de la commodité d'un agent capable de déployer, de pousser et de provisionner, avec l'assurance qu'une session compromise ne divulgue que des leurres.
- Les équipes soucieuses de la sécurité qui veulent que chaque action de l'agent soit observable : quel modèle a été appelé, quels outils ont été exécutés, quels fichiers ont été touchés, quelles commandes ont été exécutées, quels identifiants ont été utilisés et où. La trace locale chiffrée répond à la question « qu'a réellement fait l'agent ? » après coup.
- L'ingénierie plateforme et sécurité dans les organisations qui ont besoin d'une politique à l'échelle du parc : les installations inscrites diffusent les métadonnées de session vers l'espace de travail de l'organisation, les identifiants peuvent être délivrés à l'application plutôt qu'aux shells des développeurs, et le retrait d'une machine constitue une seule action du plan de contrôle. Voir Entreprise.
Vous n'avez pas besoin d'être un expert en virtualisation. L'application télécharge une image de base pré-construite et signée au premier lancement, amorce les VM en arrière-plan et présente tout à travers une interface macOS native. Si vous savez utiliser un terminal, vous savez utiliser Bromure Agentic Coding.
Deux applications sœurs
Bromure Agentic Coding est distribué depuis le même dépôt open source que son application sœur, Bromure (la variante navigateur web, parfois appelée Bromure Web). Toutes deux reposent sur Virtualization.framework d'Apple et partagent la même machinerie de VM et d'image, mais elles adoptent des positions opposées sur le cycle de vie des VM :
| Bromure (Web) | Bromure Agentic Coding | |
|---|---|---|
| Objectif | Sessions de navigation jetables | Agents de codage IA en bac à sable |
| Système d'exploitation invité | Alpine Linux + Chromium | Ubuntu 24.04 |
| Cycle de vie des VM | Éphémère — détruite à la fermeture de la fenêtre | Persistant — une VM par espace de travail, l'état survit |
| Ce qui est protégé | Tout : aucune donnée ne survit à la session | La surface des secrets : les véritables identifiants n'entrent jamais dans la VM |
| Identifiant de bundle | io.bromure.app | io.bromure.agentic-coding |
Les philosophies sont complémentaires. La navigation est sans état par nature, donc Bromure Web détruit chaque VM à la fermeture de la fenêtre et rien ne persiste. Le codage est avec état par nature — vous aurez besoin de vos clones, de vos caches et de votre historique demain — donc Bromure Agentic Coding maintient délibérément les VM en vie et contrôle plutôt ce que la VM peut jamais voir ou exfiltrer. Ce manuel couvre Bromure Agentic Coding ; Bromure Web n'est mentionné que là où les deux applications interagissent (par exemple, le navigateur d'agent intégré télécharge son image depuis le même catalogue que Bromure Web).
Le modèle de sécurité à frontière unique
L'idée déterminante du produit est que chaque protection est appliquée en un seul endroit : un proxy MITM côté hôte à travers lequel transite tout le trafic HTTPS sortant de la VM. Le HTTPS_PROXY de l'invité pointe vers lui, et le réseau invité est façonné de sorte que le proxy soit la seule voie de sortie. Parce que la frontière réside sur l'hôte, le code à l'intérieur de la VM — y compris un agent entièrement compromis — ne peut ni la désactiver, ni la contourner, ni lui mentir.
À cette frontière, trois choses se produisent pour chaque requête :
- Terminaison TLS. Le proxy termine le TLS de la VM à l'aide de l'autorité de certification racine de Bromure, une autorité de certification propre à l'installation générée au premier lancement. Son certificat public est monté dans le magasin de confiance de chaque VM au démarrage ; sa clé privée ne quitte jamais l'hôte.
- Inspection et réécriture. Le proxy inspecte la requête, applique la politique (consentement, analyse, détection, traçage) et — lorsqu'un identifiant est impliqué — remplace la fausse valeur par la vraie. Les substitutions couvrent les en-têtes bearer et
x-api-key, les corps de rafraîchissement OAuth (avec adhésion explicite), la re-signature AWS SigV4 complète, les identifiants Kubernetes, l'authentification de registre Docker et les signatures SSH via un pont ssh-agent sur vsock. - Rechiffrement. La requête réécrite est rechiffrée vers le véritable amont sur une connexion TLS normale.
Le volet identifiants de ce mécanisme est strict par construction. La VM ne détient jamais que des faux avec des préfixes et longueurs réalistes — par exemple ANTHROPIC_API_KEY=sk-ant-api03-brm-…, une fausse clé secrète AWS, des jetons kubeconfig synthétiques. Les substitutions sont limitées par suffixe d'hôte : un identifiant enregistré pour api.anthropic.com n'est jamais injecté vers un domaine ressemblant. Et le système échoue en position fermée : si le proxy est d'une manière ou d'une autre contourné, le seul identifiant sur le fil est un faux qu'aucun amont n'accepte (AWS, par exemple, renvoie InvalidSignatureException). Les valeurs réelles ne résident que dans le processus hôte, chiffrées avec AES-256-GCM, la clé maîtresse étant dans le Trousseau de protection des données de macOS.
Un détecteur de compromission boucle la boucle : un automate d'Aho-Corasick construit à partir de chaque faux jeton enregistré pour l'espace de travail analyse le corps de chaque requête sortante en un seul passage. Si un faux se dirige vers un hôte hors de sa portée de substitution — la signature d'une tentative d'exfiltration — le proxy refuse la substitution et vous alerte. Parce que seul le faux a fuité, le véritable identifiant n'a jamais besoin d'être renouvelé.
Cette même frontière est l'endroit où tout le reste s'enfiche : les téléchargements de paquets sont analysés à leur passage, le contenu non fiable est vérifié pour l'injection de prompt à son retour, la trace d'audit enregistre ce qui l'a traversée, et le panneau Fusion, l'inférence locale et l'accès à distance opèrent tous sur elle. Une seule frontière, tous les contrôles.
Les piliers
Chacune des capacités suivantes fait l'objet d'un chapitre dédié plus loin dans le manuel ; cette section vous en donne les grandes lignes.
Isolation
Chaque espace de travail correspond à sa propre VM persistante avec son propre noyau, son disque virtuel, son adresse MAC, son espace de noms réseau et son écouteur proxy dédié. Un paquet malveillant ou un processus d'agent malveillant peut détruire la VM — et seulement la VM. Votre hôte macOS, vos autres espaces de travail et vos véritables fichiers restent intacts, à l'exception des dossiers que vous partagez explicitement. Les VM démarrent à partir d'une image de base Ubuntu 24.04 signée dérivée par clone copie-sur-écriture APFS, de sorte que la création d'un espace de travail est instantanée, et la reprise d'un espace de travail Suspendu restaure son instantané RAM en place ; le pool de VM préchauffées est réservé au sidecar navigateur éphémère. Les concepts sont couverts dans Concepts fondamentaux et la gestion quotidienne dans Espaces de travail.
Protection des identifiants et consentement
Les véritables identifiants n'entrent jamais dans la VM ; le proxy remplace les faux par les vraies valeurs sur le fil, comme décrit ci-dessus. En plus de la substitution, Bromure Agentic Coding ajoute une gouvernance par usage : les identifiants peuvent exiger votre consentement explicite par destination, les autorisations sont assorties d'un TTL (autoriser pendant 5 minutes, pendant 1 heure ou pour le reste de la session), et un cadrage en lecture seule est disponible. Masquer un jeton n'est pas la même chose que gouverner son usage — Bromure fait les deux. Voir Identifiants.
Analyse de la chaîne d'approvisionnement
Les installations de paquets sont le moyen le plus courant par lequel du code hostile pénètre dans un environnement de développement, donc le proxy les analyse au fur et à mesure de leur récupération. Quatre mécanismes se combinent : un contrôle d'ancienneté (les versions de paquets flambant neuves sont retenues), des recherches de vulnérabilités OSV, l'analyse comportementale socket.dev et Delpi. Les verdicts sont appliqués sur le fil — un paquet bloqué n'atteint jamais la VM — avec un contournement consenti lorsque vous savez ce que vous faites. Voir Analyse de la chaîne d'approvisionnement.
Détection d'injection de prompt
Le contenu que l'agent lit du monde extérieur — pages web, réponses d'API, fichiers — peut contenir des instructions destinées à l'agent plutôt qu'à vous. Bromure Agentic Coding analyse le contenu non fiable qui traverse la frontière avec deux modèles de classification locaux, PromptGuard et ModernBERT, s'exécutant sur votre propre matériel. Les détections apparaissent sous forme de décision de blocage/autorisation avec le texte signalé affiché à votre intention, et non à celle de l'agent. Voir Détection d'injection de prompt.
Traçage et audit
Chaque session peut être enregistrée sous forme de trace chiffrée de session complète : appels LLM (modèle, jetons, latence), appels d'outils, commandes shell, lectures et écritures de fichiers, usages d'identifiants et domaines contactés. L'Inspecteur de traces local vous permet de rejouer ce qu'un agent a fait et de répondre à des questions après coup. Sur les installations inscrites en entreprise, les métadonnées de session sont en outre diffusées vers l'espace de travail de l'organisation par TLS mutuel — jamais les prompts bruts ni les réponses des modèles, et jamais les valeurs de secrets. Les installations individuelles (non inscrites) ne diffusent rien ; un commutateur Mode privé par espace de travail supprime entièrement la diffusion, et un indicateur visible apparaît dans la fenêtre de session chaque fois que la diffusion est active. Voir Traçage.
Fusion
Parce que chaque appel LLM traverse le proxy, le proxy peut faire plus que le laisser passer. Fusion transforme une requête en un panneau : plusieurs modèles répondent, un modèle juge évalue les candidats, et une meilleure réponse synthétisée revient à l'agent — le tout sur le fil, de façon transparente pour l'agent, sans aucune configuration de l'agent requise. Voir Fusion.
Inférence locale et hybride
Ce même point d'interception vous permet de router les appels de modèles vers une inférence s'exécutant sur votre propre Apple Silicon (via MLX), ou de fonctionner en mode hybride : les modèles cloud normalement, avec un repli local lorsque le cloud est inaccessible. Les modèles locaux alimentent également les classificateurs sur l'appareil utilisés ailleurs dans le produit. Voir Modèles locaux.
Accès à distance
Votre bac à sable est accessible de n'importe où : via l'application elle-même, depuis la ligne de commande ou par SSH. Un second Mac exécutant Bromure Agentic Coding peut refléter une instance distante un pour un — grille, espaces de travail, onglets et automatisations — sur un tunnel SSH (menu Workspaces → Connect to Remote Bromure…). Fait crucial, la sécurité ne s'affaiblit pas lorsque vous passez à distance : les invites de consentement pour l'usage des identifiants, les contournements de chaîne d'approvisionnement, les écritures de garde-fous et les décisions d'injection de prompt sont rendues du côté hôte de la connexion, où un invité compromis ne peut ni les voir ni les falsifier, et tout dépassement de délai ou rejet est traité comme un refus. Voir Accès à distance.
Gestion d'entreprise
Les organisations inscrivent les installations auprès d'un espace de travail bromure.io à l'aide d'un code de six mots (bromure-cli enroll). L'inscription délivre à l'installation un certificat TLS mutuel, active les profils gérés poussés depuis le plan de contrôle et active le flux d'événements de métadonnées décrit sous le traçage. Le retrait est une seule action du plan de contrôle qui révoque le certificat de l'installation. Deux capacités relèvent du niveau Entreprise et apparaissent dans Bromure Enterprise Manager : l'inventaire de chaîne d'approvisionnement à l'échelle du parc (chaque dépendance récupérée par toute machine inscrite, avec verdicts, consultable) et les agrégations d'usage de jetons par fichier, dépôt et modèle. Voir Entreprise.
Comment il se compare aux autres outils
La matrice de comparaison du README (compilée à partir de la documentation publique de chaque projet en juin 2026) applique le même modèle de menace à travers les outils vers lesquels les gens se tournent couramment. Le schéma qu'elle révèle : la plupart des outils choisissent l'un des cinq contrôles — isolation, maintien des secrets hors de l'agent, cadrage de l'usage des identifiants, analyse de la chaîne d'approvisionnement, détection d'injection de prompt — et s'arrêtent là.
- Dev Containers (VS Code) isolent la chaîne d'outils, mais le conteneur partage le noyau de l'hôte et la configuration transmet activement votre agent SSH et vos identifiants git dans l'environnement où l'agent s'exécute. Il n'y a ni cadrage des identifiants par usage, ni analyse de registre, ni détection d'injection.
- nono est un bac à sable au niveau du noyau : listes d'autorisation d'appels système avec un flux d'approbation et un filtre de sortie, et un journal d'audit local immuable. Il bloque l'accès aux fichiers clés et fait transiter certains identifiants par proxy, mais l'agent n'a pas de noyau à lui, et l'analyse de paquets et la détection d'injection sont hors périmètre.
- agent-vault (octokraft) achemine les secrets dans les processus de sorte qu'il n'y a aucune voie de lecture vers la valeur brute, avec des TTL par secret. Mais l'agent lui-même s'exécute sur place sur votre machine — il n'y a aucune frontière d'isolation.
- Agent Vault (Infisical) est un proxy d'identifiants HTTP : il attache les identifiants sur le fil, de sorte que l'agent ne les lit jamais, et il filtre la sortie par point de terminaison. L'agent, cependant, s'exécute sans bac à sable, et il n'y a ni analyse ni détection.
- Docker Sandboxes (un aperçu expérimental) se rapprochent le plus sur l'isolation : une microVM avec son propre noyau, et un proxy hôte qui injecte les en-têtes d'identifiants de sorte que les valeurs brutes restent hors de la VM. La lacune est la gouvernance : l'identifiant courtier est attaché à toute requête sortante émise par le bac à sable, de sorte qu'un paquet malveillant installé à l'intérieur peut le dépenser contre un domaine autorisé sans jamais le voir — et rien n'analyse ce paquet à l'entrée.
- Capsem est une VM matérielle isolée du réseau avec des règles de sortie au niveau du domaine et de la méthode/du chemin et une journalisation complète des corps de requêtes HTTP. Mais les véritables clés d'API résident à l'intérieur de la VM, ce qui est précisément ce qui ne doit pas être vrai lorsque la charge de travail est un agent possiblement compromis.
Aucun outil de la matrice n'offre l'analyse de la chaîne d'approvisionnement ni la détection d'injection de prompt ; ces deux colonnes sont vides pour tout le monde sauf Bromure. Bromure Agentic Coding applique les cinq contrôles à la frontière proxy unique, puis ajoute ce qu'un courtier de secrets ne pourrait jamais faire, parce qu'il possède le fil : le panneau de modèles Fusion, l'inférence locale et hybride, et l'attachement à distance depuis l'application, la CLI ou SSH. L'inventaire de paquets à l'échelle du parc et l'analytique d'usage de jetons relèvent du niveau Entreprise, apparaissant dans Bromure Enterprise Manager.
Les données de comparaison vieillissent vite. Une matrice plus détaillée et à jour est maintenue sur bromure.io/en/feature-matrix, et le README invite aux corrections par issue si une ligne concernant un autre outil est devenue obsolète.
Prérequis en un coup d'œil
| Prérequis | Détail |
|---|---|
| macOS | 14 (Sonoma) ou ultérieur |
| Matériel | Apple Silicon (M1 ou plus récent). Il n'existe pas de build Intel — Virtualization.framework ne prend en charge que les invités ARM64 sur les hôtes Apple Silicon. |
| Disque | L'image de base Ubuntu est un disque logique creux de 24 Go, environ 6 à 8 Go physiquement sur le disque ; chaque espace de travail ajoute un clone copie-sur-écriture qui grossit avec l'usage. |
| Réseau | Le premier lancement télécharge l'image de base pré-construite et signée ed25519 depuis dl.bromure.io. Hors ligne, l'application se replie sur la construction de l'image localement (environ 10 minutes). |
| Agents propriétaires | Claude Code, Codex CLI, Grok CLI et Google Cloud SDK ne peuvent pas être distribués à l'intérieur de l'image redistribuable ; ils sont installés sur votre machine sous forme d'étapes de post-installation de catalogue signées. Exécuter la configuration initiale consent aux étapes de base ; seules les étapes publiées dans une mise à jour ultérieure vous invitent à approbation par la suite. |
Les instructions étape par étape de téléchargement et de premier lancement figurent dans Installation.
Licence et paternité
Le dépôt Bromure est open source sous licence MIT (Copyright 2026 Renaud Deraison) et libre d'utilisation. La paternité est créditée à Renaud Deraison (prompting) et Claude + Opus 4.7 (implémentation).
Une distinction qu'il convient de garder à l'esprit à la lecture de ce manuel : les deux applications elles-mêmes sont open source, mais les fonctionnalités d'entreprise — inscription, profils gérés, flux d'événements cloud et Bromure Enterprise Manager — sont liées au plan de contrôle hébergé sur bromure.io, qui est un service commercial. Rien dans l'expérience mono-utilisateur n'en dépend : une installation non inscrite ne diffuse rien nulle part, et chaque pilier de sécurité fonctionne entièrement sur votre propre Mac.
Obtenir de l'aide
- bromure.io — documentation du produit, captures d'écran, téléchargements, le livre blanc technique et la matrice de fonctionnalités détaillée.
- Issues GitHub — les rapports de bogues, les demandes de fonctionnalités et les corrections de la matrice de comparaison ont leur place sur le dépôt GitHub du projet (lié depuis bromure.io).
- Ce manuel — Dépannage rassemble les procédures de diagnostic et les problèmes connus ; le Glossaire définit chaque terme technique utilisé dans ces chapitres.
Comment ce manuel est organisé
Le manuel se lit du début à la fin pour les nouveaux venus et sert ensuite de référence à accès aléatoire :
- Pour commencer — Installation couvre le téléchargement et l'installation de l'application ainsi que le premier lancement ; Démarrage rapide vous mène d'une installation neuve à un agent en cours d'exécution en une seule séance.
- Fondations — Concepts fondamentaux explique l'architecture (VM, la frontière proxy, les images, le modèle d'identifiants) ; Espaces de travail et Sessions couvrent les deux objets avec lesquels vous interagissez quotidiennement ; Le navigateur intégré couvre le Chromium pilotable par l'agent ; Automatisations couvre les exécutions d'agent planifiées et sans surveillance sur leur tableau kanban ; Tâches de code couvre le kanban de code — consignes, phases planifiées par l'agent, revue et fusion.
- Référence des réglages — Réglages documente chaque volet de l'éditeur Modifier l'espace de travail, une page par volet, ainsi que le volet Automatisation à l'échelle de l'application.
- Les piliers en profondeur — Identifiants, Analyse de la chaîne d'approvisionnement, Détection d'injection de prompt, Traçage, Fusion et Modèles locaux développent chacun un pilier avec tous les détails opérationnels.
- Au-delà d'un seul Mac — Accès à distance couvre la CLI, SSH et le reflet d'une instance distante ; Entreprise couvre l'inscription, la gestion de parc et le flux d'événements cloud.
- Référence — Automatisation et la CLI, Avancé, Dépannage, le Glossaire et l'Annexe.
Poursuivez avec Installation.