Bromure Agentic Coding

Ne soyez pas le prochain
GitHub

Chacune a été compromise via l'environnement d'un développeur — un secret fuité, une chaîne d'approvisionnement empoisonnée, un agent IA qui a déraillé. Bromure Agentic Coding arrête les trois.

Téléchargez Bromure Agentic Coding maintenantApple Silicon (M1 ou ultérieur) · Gratuit & Open Source
Bromure Agentic Coding running Claude in an isolated VM with the Trace Inspector

Ils n'utilisaient pas Bromure Agentic Coding

Le pari

Contenez le rayon de l'explosion, pas le développeur.

Le réflexe, c'est de verrouiller les développeurs — EDR, pas de root, chaque identifiant derrière une file. Ça ne marche pas : quand la machine n'est pas la leur, ils vous contournent, et vous perdez le contrôle que vous cherchiez et la visibilité que vous aviez.

Donnez-leur la machine entière

Root, n'importe quel paquet, n'importe quelle expérimentation, à 2 h du matin sans ticket. Retirez ça et un bon ingénieur se rebelle — ou vous contourne en silence. L'environnement doit leur sembler le leur, sinon ils ne l'utiliseront pas.

Ils détiennent les clés du royaume

La base de données de production. Le compte AWS. Le cluster qu'une commande peut supprimer. Cet accès, c'est le métier — mais une seule mauvaise commande, une seule dépendance empoisonnée, un seul agent qui déraille met toute l'entreprise dans le rayon de l'explosion.

Laissez-les expérimenter, retirez les dégâts de l'équation

On ne rend pas cela sûr en réduisant ce que le développeur peut faire, mais en réduisant ce qu'une erreur — ou une compromission — peut atteindre.

Alors Bromure laisse la puissance du développeur intacte et met plutôt en laisse trois choses : ses secrets, son environnement, et ce que la chaîne d'approvisionnement fait passer en douce.

Toute la puissance pour le développeur, une laisse sur les dégâts.

Vos secrets

Les vrais jetons et clés SSH n'entrent jamais dans le sandbox. L'agent reçoit des leurres ; un proxy sur votre Mac substitue le vrai bearer sur le fil. Tout ce qui est sensible demande un clic.

Votre environnement

Les garde-fous inspectent l'opération, pas seulement la connexion. Un DELETE, un force-push, un DROP contre la production s'arrête et vous demande d'abord — quel que soit le jeton qu'il détient.

Votre chaîne d'approvisionnement

Chaque paquet que l'agent récupère est analysé face à OSV et socket.dev, les scripts d'installation sont retirés, et les versions toutes fraîches sont retenues — avant que rien n'atteigne la VM.

Relais d'identifiants

L'agent fonctionne, les secrets restent à la maison.

Un agent qui ne peut pas atteindre vos dépôts, vos registres et vos serveurs n'est pas utile. La réponse naïve — déposer vos jetons et vos clés dans la VM — les offre à la prochaine dépendance typosquattée qui les lit.

Bromure renverse cette logique. La VM est livrée avec des leurres qui paraissent vrais à tout outil attendant un en-tête `Authorization`. Un proxy sur votre Mac intercepte chaque connexion sortante et échange le leurre contre le vrai secret sur le fil. La vraie valeur ne touche jamais un fichier, une variable d'environnement ni une mémoire que la VM peut lire.

VM sandbox

l'agent s'exécute ici

$ git push
Authorization: Bearer stub_7f3a…ce21
Broker · votre Mac

les vrais secrets ne sortent jamais

leurre reconnu → substitué à la sortie
vrai PAT
github.com

voit un jeton valide

200 OK

Le vrai PAT ne touche jamais un fichier, une variable d'environnement ni une page de mémoire que la VM peut atteindre. Une dépendance empoisonnée repart avec le leurre.

Leurres dedans, vrais jetons dehors

Configurez vos identifiants une seule fois, sur l'hôte. La VM reçoit des leurres que chaque outil accepte ; le proxy substitue le vrai bearer au moment où la requête sort. Un paquet qui ratisse le système de fichiers repart avec des placeholders.

ssh-agent forwardé, jamais exposé

Les clés SSH restent dans le Keychain macOS — Bromure ne forwarde que la socket ssh-agent dans la VM. ssh et git fonctionnent de manière transparente, mais il n'y a aucun fichier de clé, aucune passphrase en mémoire, rien à voler.

Approbation explicite

Un clic entre l'agent et vos secrets.

Marquez un identifiant comme sensible et Bromure place une étape humaine devant lui. Quand quelque chose tente de l'utiliser via le proxy, une demande surgit sur votre Mac, nomme l'identifiant et la destination, et vous demande. Approuvez pour cinq minutes, une heure, le reste de la session, ou juste cette fois.

Approbation à durée limitée

Choisissez le TTL au moment où vous approuvez : cinq minutes pour un push, une heure pour une release, usage unique pour celles qui font peur. L'autorisation expire toute seule, donc un jeton ne reste pas grand ouvert toute la journée.

Le malware local perd son levier

Un malware local qui tente de pousser sur votre registre, de se faire passer pour vous ou de vider un compte cloud ne peut pas. Les identifiants ne sont pas sur le disque, et le proxy n'en libère un que quand vous cliquez sur approuver. L'exécution de code ne suffit plus pour atteindre la production.

Les jetons longue durée deviennent des moments d'accès. Même avec votre portable entièrement compromis, un attaquant doit encore vous passer dessus pour faire quoi que ce soit qui compte.

Garde-fous

Rendez n'importe quelle clé lecture seule à la sortie.

Les histoires d'horreur ne parlent pas de jetons volés — elles parlent d'un agent à qui on a confié un identifiant parfaitement légitime, et qui efface la mauvaise chose en production. La clé n'a jamais été compromise ; elle avait simplement un accès en écriture qu'elle n'aurait pas dû avoir. Et la solution de manuel — un jeton lecture seule par outil, par session — est trop fastidieuse pour qu'on le fasse vraiment.

Les garde-fous inspectent l'opération, pas seulement la connexion — une lecture d'une écriture. Marquez un identifiant en lecture seule et Bromure refuse tout ce qui modifie l'état. Réglez-le plutôt sur « demander », et à l'instant où l'agent tente de muter quelque chose, Bromure l'arrête sur le fil et vous demande — en nommant le verbe, la cible et le profil, exactement comme ceci.

Bromure Guardrails prompting for approval before a destructive kubectl delete against a production cluster

Lecture seule sans rien réémettre

Arrêtez de forger un jeton cadré par outil, par dépôt, par session. Gardez l'identifiant que vous avez et posez une frontière lecture seule devant lui — il se comporte en lecture seule aussi longtemps que vous le dites. Besoin de livrer ? Rebasculez-le pour quinze minutes.

Demander avant de muter

Réglez les identifiants sensibles sur « demander », et chaque appel qui change l'état se met en pause jusqu'à votre approbation. Les mêmes autorisations à durée limitée : quinze minutes, juste cette fois, le reste de la session, ou jamais. L'agent peut lire toute la journée ; il ne peut pas modifier la production sans un oui.

L'agent garde son autonomie là où les erreurs ne coûtent rien, et la perd exactement là où elles coûtent cher. « L'agent a supprimé la base de données de production » cesse d'être un post-mortem pour devenir une boîte de dialogue sur laquelle vous avez cliqué « Refuser ».

Chaîne d'approvisionnement

Chaque paquet que l'agent récupère, scanné avant qu'il n'atterrisse.

Les logos en haut de cette page forment un mur d'incidents de chaîne d'approvisionnement. Un agent qui installe des dépendances sur votre simple feu vert est le véhicule de livraison parfait : il lance `npm install`, une dépendance transitive déclenche son postinstall, et vous l'apprenez le trimestre suivant.

Supply Chain transforme ce même proxy en point de contrôle d'analyse : chaque paquet que l'agent récupère est inspecté face à OSV et socket.dev, les scripts d'installation sont retirés, et les versions toutes fraîches sont retenues. Cela s'exécute à la frontière de la VM, donc reste actif quoi que l'agent fasse à l'intérieur.

Bromure Supply Chain log scanning every npm package against OSV and socket.dev as the agent installs them

Imposé sous l'agent, pas par lui

Chaque récupération de paquet quitte la VM via le proxy de Bromure. Quelle que soit la manière dont l'agent réécrit sa configuration pour vous contourner, l'analyse a lieu à la frontière qu'il ne peut pas franchir — donc le garde-fou tient même quand l'agent tente de le contourner.

Deux scanners, deux types de menace

OSV attrape les CVE connues au-dessus du seuil de gravité que vous fixez. socket.dev attrape ce que les bases n'ont pas encore attrapé — scripts d'installation malveillants, malware, typosquats. Une version signalée est bloquée avant d'atteindre la VM.

Scripts d'installation, retirés à la volée

Les hooks d'installation comme `postinstall` sont là où les charges utiles s'exécutent réellement. Bromure les retire de l'archive et corrige le hash des métadonnées pour que l'installation continue de se vérifier. Les rares builds natifs qui en ont vraiment besoin passent sur une courte liste d'autorisation ; tout le reste s'installe inerte.

Un paquet doit vieillir avant de pouvoir mordre

Les versions compromises sont généralement retirées en quelques heures — précisément les heures où un agent pourrait en récupérer une. Bromure met en quarantaine tout ce qui a été publié ces deux derniers jours (réglable), si bien qu'une version malveillante fraîche n'est pas installable pendant que l'écosystème rattrape son retard.

Bromure Supply Chain profile settings: block compromised packages and known CVEs, strip install scripts, and gate lockfile-pinned installs

L'agent peut faire `npm install` de ce dont il a besoin — mais jamais une CVE critique connue, une version compromise, un script d'installation non autorisé, ni une version mise en ligne il y a une heure. Le garde-fou ne dépend jamais de la coopération de l'agent.

Traceur de session

Voyez exactement ce que l'agent a fait.

Un agent de codage prend des centaines de décisions par session, et la plupart défilent sans être lues. C'est très bien tant que rien ne casse — ou jusqu'à ce que vous deviez expliquer à un coéquipier ou un auditeur ce que le modèle a vraiment changé.

Bromure enregistre la session complète au fil de l'exécution : chaque prompt, réponse, appel d'outil, commande shell et fichier écrit. Ouvrez-la après coup, cherchez-y, attachez-la à une pull request. L'agent travaille vite ; le registre est patient.

Bromure Trace Inspector showing every API call made by the agent

Capture complète du dialogue

Prompts, complétions, appels d'outils, commandes shell, modifications de fichiers, codes de sortie — capturés en direct. Rien n'est reconstitué depuis le scrollback ; rien n'est perdu quand vous fermez le terminal.

Rejouable, relisible, attribuable

Parcourez le raisonnement et les actions de l'agent, voyez exactement ce qui a été installé et pourquoi, et transformez « ça a juste marché » ou « ça a juste cassé » en quelque chose que vous pouvez montrer à un autre humain.

Quand l'agent fonctionne, la trace est votre piste documentaire. Quand il ne fonctionne pas, c'est votre rapport de bug.

Apportez votre propre agent.

Bromure Agentic Coding ne remplace pas votre outillage — il lui donne un endroit sûr pour tourner. La VM est livrée avec les runtimes auxquels la plupart des agents s'attendent, et vous installez le reste.

Claude Code

L'agent de terminal d'Anthropic tourne nativement dans la VM. Authentifiez-vous une fois et laissez-le tirer les dépendances, lancer les tests et refactorer contre votre dépôt partagé.

Codex

L'agent de codage d'OpenAI s'installe de la même manière que sur n'importe quelle machine Linux — sauf que cette machine Linux ne peut pas voir votre répertoire personnel.

Grok Build

L'agent de codage de xAI s'installe et tourne dans la VM comme n'importe quel autre outil Linux. Pointez-le sur votre dépôt partagé ; vos vrais tokens et clés SSH restent sur l'hôte, hors de sa portée.

Tout le reste

Aider, OpenHands, agents internes maison — si ça tourne sur Linux, ça tourne dans Bromure. La VM, c'est juste une machine Linux ; la sécurité vient de l'endroit où elle vit.

Comment ça marche

1. Choisissez vos dossiers

Choisissez quels dossiers de votre Mac la VM peut monter — typiquement le seul projet sur lequel vous travaillez. C'est toute la vue qu'a l'agent de votre système de fichiers.

2. Lancez la VM

Bromure démarre une VM Linux en quelques secondes via le Virtualization.framework d'Apple. Ouvrez-y un terminal comme vous le feriez avec n'importe quelle machine distante.

3. Lancez l'agent

Installez Claude Code ou Codex à l'intérieur de la VM. Pointez-le sur le dossier partagé. Laissez-le travailler — installer des paquets, lancer des scripts, créer des processus — sans jamais toucher à votre hôte.

4. Réinitialisez quand vous voulez

Quand l'état de la VM cesse d'être utile, jetez-le. Repartez de zéro en quelques secondes. Votre code est sur l'hôte ; le bazar reste dans la VM.

Pourquoi pas simplement un conteneur ou n'importe quelle VM ?

Et un conteneur, ou ma VM existante ?

Tout le monde a un sandbox d'une forme ou d'une autre. L'intérêt de Bromure, ce n'est pas le sandbox — c'est ce qui n'est pas à l'intérieur.

Pas de courtier d'identifiants

Pour qu'un conteneur générique soit utilisable, vous finissez par monter vos vrais secrets à l'intérieur, sur un système de fichiers que l'agent peut lire. Bromure renverse la logique : le sandbox reçoit des leurres, et un proxy substitue le vrai secret sur le fil. Un conteneur ordinaire n'a aucun équivalent sans réinventer le modèle de confiance.

Pas de barrière d'approbation

Un sandbox générique libère les identifiants dès que quelque chose les demande. Bromure place une étape humaine devant chaque identifiant sensible — nom, destination, TTL — pour que même un malware local ne puisse pas vider un jeton pendant que vous regardez ailleurs.

Les conteneurs partagent votre noyau

Les conteneurs partagent le noyau de l'hôte — un paquet suffisamment mauvais ou un bug du noyau, et la frontière disparaît. Ils isolent des charges de travail, pas ce que vous lancez à l'intérieur. Le sandbox Bromure est une vraie VM avec son propre noyau : une vraie frontière si la couche identifiants devait un jour s'y replier.

Docker sur Mac, c'est déjà une VM

Docker sur Mac fait déjà tourner vos conteneurs dans une VM Linux cachée — vous payez le coût de la VM, sans la voir. Bromure supprime la couche intermédiaire et utilise directement le Virtualization.framework d'Apple : un seul sandbox, visible, qui vous appartient.

N'importe quel conteneur ou VM peut héberger un agent. Seul Bromure courtise vos identifiants pour que l'agent ne les détienne jamais. L'isolation, c'est le minimum syndical ; le courtier d'identifiants, c'est le vrai différenciateur.

Donnez à votre agent un vrai atelier.

Une VM. Isolation totale. Installez n'importe quoi. Bromure Agentic Coding est gratuit et open source.

Téléchargez Bromure Agentic Coding maintenantApple Silicon (M1 ou ultérieur) · Gratuit & Open Source