SFEIR

Déployer OpenCode en entreprise : SSO, passerelle IA, politiques et sécurité

Déployer OpenCode en entreprise : SSO, passerelle IA, politiques et sécurité

Déployer OpenCode en entreprise tient en trois décisions : faire passer chaque appel de modèle par une passerelle IA que vous contrôlez, imposer une configuration centrale (fournisseurs autorisés, partage désactivé, permissions) et n'autoriser le mode serveur que verrouillé par mot de passe et à jour. L'offre Enterprise, le SSO et l'intégration GitHub Actions se branchent sur ces trois décisions ; la conformité aux conditions d'Anthropic pour Claude s'y ajoute. Un avis de sécurité publié le 24 septembre 2026 montre ce qui arrive quand elles manquent.

Ce jour-là, Datadog Security Labs et Anomaly ont publié ensemble l'avis GHSA-632h-h47v-g4x4 : une faille d'exécution de code à distance dans OpenCode, classée High (CVSS 7,5, sans numéro CVE). Elle touche les versions installées par npm, pnpm ou Bun à partir de la 1.14.30, corrigée en 1.18.22, quand un développeur lance opencode serve ou opencode web sans mot de passe. Un site malveillant ouvert dans le navigateur pouvait alors faire installer un paquet arbitraire via l'API de mise à jour. Anomaly avait publié le correctif dès le 24 août 2026. Selon Datadog, 82 versions vulnérables totalisaient encore plus de 647 000 téléchargements du 17 au 23 septembre 2026, soit 38,9 % des téléchargements de la semaine.

Un agent de code exécute des commandes sur le poste de ceux qui l'utilisent. Déployer OpenCode dans une organisation demande donc les mêmes décisions qu'un autre outil de développement sensible : qui l'installe, vers quels modèles il envoie le code, et ce qu'il a le droit de faire. Le profil de l'outil et de son éditeur est dans OpenCode, l'agent de code open source d'Anomaly ; la place de ce déploiement dans une gouvernance des harnais open source se décide en amont du choix d'outil.

Ce que propose l'offre Enterprise

Anomaly vend OpenCode Enterprise à la licence par siège. Si vous disposez de votre propre passerelle LLM, l'éditeur ne facture pas les tokens. La documentation décrit trois éléments :

  • une configuration centrale, définie une fois pour toute l'organisation ;
  • l'intégration à votre fournisseur SSO, qui délivre aux développeurs les identifiants de la passerelle IA interne ;
  • la désactivation des autres fournisseurs de modèles, pour que toutes les requêtes passent par l'infrastructure approuvée.

La même page demande un essai interne avant toute prise de contact : Anomaly attend que vos équipes aient déjà utilisé la version gratuite sur de vrais dépôts. Faites cet essai avec la configuration centrale décrite ci-dessous, vous arriverez à la discussion commerciale avec vos exigences déjà écrites.

Faire passer tout le trafic par une passerelle

Une passerelle IA (Portkey, Cloudflare AI Gateway, Coder AI Gateway en licence Premium, Vercel AI Gateway ou une solution interne) centralise l'authentification, les budgets et les journaux ; les trois métiers d'un routeur LLM détaillent ce qu'il faut en attendre. OpenCode s'y connecte comme à n'importe quel fournisseur compatible OpenAI : un fournisseur personnalisé dont l'adresse pointe vers la passerelle. La syntaxe V1 et V2 de ce fournisseur est donnée dans poser OpenCode sur un dépôt existant.

Verrouillez ensuite la liste des fournisseurs. En V1, le champ enabled_providers n'autorise que ceux que vous listez, et disabled_providers en exclut. La V2 garde ces deux champs et les traduit en politiques : une interdiction par défaut suivie des autorisations explicites.

{
  "$schema": "https://opencode.ai/config.json",
  "enabled_providers": ["passerelle-interne"],
  "share": "disabled"
}

Utiliser Claude sans enfreindre les conditions d'Anthropic

Vos développeurs vous demanderont s'ils peuvent brancher leur abonnement Claude. La réponse est non. Les conditions d'Anthropic réservent l'authentification OAuth aux titulaires d'un abonnement Claude Free, Pro, Max, Team ou Enterprise, pour l'usage ordinaire de Claude Code et des autres applications natives d'Anthropic ; elles interdisent aux outils tiers de faire transiter des requêtes par les identifiants d'un abonnement Free, Pro ou Max. OpenCode a retiré le plugin correspondant dans sa version 1.3.0, et sa documentation note qu'Anthropic l'interdit. Un plugin communautaire, ex-machina-co/opencode-anthropic-auth, existe toujours et a publié deux versions le 29 septembre 2026 (1.8.6 et 2.0.0-next.5). Anthropic se réserve le droit de prendre des mesures sans préavis contre les comptes concernés. Ces plugins relèvent du shadow AI : bloquez-les dans la configuration centrale.

Quatre voies restent conformes : une clé API Anthropic facturée à l'usage, Claude sur Amazon Bedrock, sur Google Cloud (Agent Platform, ex-Vertex AI) ou sur Microsoft Foundry. Si votre passerelle s'appuie déjà sur l'un de ces clouds, Claude y figure comme n'importe quel autre modèle. OpenCode Zen propose aussi les modèles Claude, mais ce canal a une conséquence sur les données, décrite ci-dessous.

Ce qui sort du poste

Selon la documentation Enterprise, OpenCode ne stocke ni votre code ni le contexte des sessions : le traitement se fait en local ou par appel direct au fournisseur de modèles que vous avez configuré. Trois flux méritent pourtant une règle explicite.

  • Le fournisseur de modèles. Il reçoit le code que l'agent lit. Avec une passerelle interne ou un modèle local, ce flux reste dans votre périmètre.
  • OpenCode Zen. La documentation Zen précise qu'Anthropic conserve pendant 30 jours les requêtes Claude passées par ce canal. Neuf modèles y sont gratuits pour une durée limitée, et leur fournisseur peut utiliser les données de cette période pour améliorer le modèle : interdisez-les sur du code client. Zen se traite comme un fournisseur externe à déclarer, au même titre qu'une clé API directe ; les offres sont comparées dans OpenCode Go, Zen ou vos clés.
  • Les sessions partagées. La commande /share publie la conversation sur un lien public servi par le CDN d'opencode.ai. Sur du code client, désactivez-la pour tout le projet avec "share": "disabled". En V2, le champ accepte trois valeurs : manual, auto et disabled. L'éditeur indique que l'auto-hébergement des pages de partage figure sur sa feuille de route.

Resserrer les permissions

Par défaut, OpenCode autorise la plupart des actions sans demander. Fixez dans la configuration centrale au moins trois règles : confirmation pour git push et toute commande de déploiement, interdiction des suppressions récursives, confirmation pour les accès réseau (webfetch, websearch) si vos données l'exigent. La V2 exprime ces règles dans un tableau ordonné, ce qui rend l'ordre de priorité lisible pour un auditeur.

Sécuriser le mode serveur

opencode serve expose une API sur 127.0.0.1:4096 par défaut. opencode web lance la même API avec une interface, sur un port libre choisi au démarrage, à la même adresse 127.0.0.1. Aucun des deux ne demande d'authentification par défaut ; la variable OPENCODE_SERVER_PASSWORD active l'authentification Basic, avec opencode comme utilisateur par défaut. Appliquez quatre règles :

  1. Définissez toujours OPENCODE_SERVER_PASSWORD avant de lancer le serveur.
  2. N'exposez jamais le port hors de la machine sans proxy authentifié.
  3. Imposez la version 1.18.22 ou supérieure en V1.
  4. Après la mise à jour, redémarrez les processus serve et web en cours et videz le cache d'identifiants des navigateurs.

La quatrième règle vient de l'avis lui-même, qui recommande ces deux gestes : un serveur déjà lancé continue d'exécuter l'ancienne version, et un navigateur qui a gardé en cache des identifiants Basic reste exposé même quand un mot de passe est défini. Datadog ajoute une surveillance des exécutions inattendues du gestionnaire de paquets sur les postes. Les installations par curl, Homebrew, Chocolatey ou Scoop n'étaient pas concernées par ce chemin d'attaque, qui passait par l'API de mise à jour des installations npm, pnpm et Bun.

Le mode serveur de la V2 a connu une régression début septembre : un 401 renvoyé quand aucun mot de passe n'était défini (issue #50370, apparue vers la version 2.0.6). Elle a été corrigée fin septembre et l'issue fermée le 29 septembre 2026. Au 30 septembre, l'issue #49427 reste ouverte : le terminal ne parvient pas à se connecter à un serveur protégé par mot de passe. Testez ce mode sur un pilote avant de le généraliser ; les autres points de vigilance sont listés dans migrer vers OpenCode 2.

Brancher OpenCode sur GitHub

La commande opencode github install installe l'application GitHub, crée le workflow et configure les secrets. Un développeur écrit ensuite /opencode ou /oc dans une issue ou une revue de pull request (les déclencheurs se personnalisent via le champ mentions). OpenCode s'exécute alors dans le runner GitHub Actions : il explique l'issue, crée une branche avec le correctif, ou modifie la PR.

Deux réglages comptent en entreprise. Aucun paramètre documenté d'OpenCode ne limite le déclenchement aux membres du dépôt : cette restriction se pose dans le workflow GitHub Actions, en conditionnant le job à l'association de l'auteur du commentaire (membre, collaborateur) avant de lancer l'agent. Faites ensuite passer les appels de modèle du runner par la même passerelle que les postes, avec ses secrets et ses budgets.

Ce que ça change pour vous

RSSI. Vous avez une pièce datée pour le dossier : une exécution de code à distance sur un outil qui lance des commandes sur les postes des développeurs, avec un correctif publié un mois avant l'avis et 38,9 % des téléchargements de la semaine encore sur des versions vulnérables. L'inventaire des versions installées et du mode d'installation (npm ou binaire) se tient au même titre que celui des clients VPN. Les plugins d'authentification non officiels sont votre premier cas de shadow AI à traiter.

DSI. Le sujet budgétaire tient dans la passerelle : elle porte le SSO, les budgets par équipe et les journaux, et l'offre Enterprise ne facture pas les tokens quand elle est en place. Le choix d'OpenCode devient alors une décision de gouvernance des harnais, et ce cadrage relève d'une démarche d'AI Engineering qui vaut pour tout harnais que vos équipes adopteront ensuite.

CTO et équipe plateforme. La configuration centrale est un livrable versionné : un opencode.json qui porte les fournisseurs, les permissions et le partage, distribué à tous les postes et révisé au passage en V2, qui réécrit les politiques. Le runner GitHub Actions est un poste de plus, soumis à la même passerelle et à la même version minimale.

Liste de contrôle avant déploiement

  • Configuration centrale : fournisseurs autorisés, partage désactivé, permissions
  • Passerelle LLM raccordée au SSO, budgets par équipe
  • Accès à Claude par clé API, Bedrock, Google Cloud ou Microsoft Foundry uniquement
  • Plugins d'authentification Anthropic non officiels bloqués
  • Version minimale 1.18.22 imposée, mot de passe obligatoire en mode serveur, processus redémarrés après mise à jour
  • Workflow GitHub restreint aux membres du dépôt, appels de modèle du runner via la passerelle
  • Essai interne réalisé avant de contacter Anomaly pour l'offre Enterprise
  • Plan de passage en V2 validé sur un projet pilote

Sources

  1. GitHub Security Advisory, GHSA-632h-h47v-g4x4, publié le 24 septembre 2026 (gravité High, versions, installations non concernées, redémarrage et cache d'identifiants).
  2. Datadog Security Labs (Christophe Tafani-Dereeper), Discovering and exploiting a remote code execution vulnerability in OpenCode, 24 septembre 2026.
  3. Anomaly, OpenCode Enterprise, documentation, consultée le 30 septembre 2026 (configuration centrale, SSO, passerelle, tarification, données, essai interne).
  4. Anomaly, Migrate from V1, documentation, consultée le 30 septembre 2026 (politiques, share, permissions ordonnées).
  5. Anomaly, Share, documentation, consultée le 30 septembre 2026.
  6. Anomaly, Permissions et Websearch (V2), documentation, consultées le 30 septembre 2026.
  7. Anomaly, Server et Web, documentation, consultées le 30 septembre 2026.
  8. Anomaly, GitHub, documentation, consultée le 30 septembre 2026.
  9. Anomaly, Providers, documentation, consultée le 30 septembre 2026 (retrait du plugin Anthropic en 1.3.0).
  10. Anomaly, OpenCode Zen, documentation, consultée le 30 septembre 2026 (rétention de 30 jours chez Anthropic, modèles gratuits et usage des données).
  11. Anthropic, Legal and compliance, Claude Code Docs, consulté le 30 septembre 2026.
  12. Portkey, OpenCode ; Cloudflare, OpenCode, AI Gateway ; Coder, OpenCode, AI Gateway ; Vercel, OpenCode with AI Gateway, documentations consultées le 30 septembre 2026.
  13. GitHub, ex-machina-co/opencode-anthropic-auth, versions 1.8.6 et 2.0.0-next.5 publiées le 29 septembre 2026.
  14. GitHub, issues #50370 (fermée le 29 septembre 2026) et #49427 (ouverte au 30 septembre 2026).

Articles similaires

OpenCode, l'agent de code open source qui a misé sur la distribution

OpenCode, l'agent de code open source qui a misé sur la distribution

Terminal, desktop, IDE, plus de 75 fournisseurs de modèles, un forfait Go à 10 dollars : OpenCode (Anomaly) reprend ce qui marche chez Claude Code et le livre partout. Il lit AGENTS.md (et CLAUDE.md en V1 seulement), ce qui en fait le second harnais le plus simple à poser sur un dépôt.

OpenCode ou Claude Code : lequel choisir en 2026 ?

OpenCode ou Claude Code : lequel choisir en 2026 ?

OpenCode (MIT, plus de 75 fournisseurs) ou Claude Code (Anthropic) ? Licence, modèles, accès à Claude, fichiers d'instructions, CI : le comparatif vérifié le 30 septembre 2026, avec un verdict par situation et la règle AGENTS.md pour faire tourner les deux sur un même dépôt.

Poser OpenCode sur un dépôt existant : AGENTS.md, opencode.json, modèles, MCP et permissions

Poser OpenCode sur un dépôt existant : AGENTS.md, opencode.json, modèles, MCP et permissions

Sept étapes pour poser OpenCode sur un dépôt en cours et partager sa configuration avec l'équipe : AGENTS.md, opencode.json, Ollama ou passerelle, serveurs MCP, permissions, agents et skills. Syntaxes V1 et V2 relevées le 30 septembre 2026, et les cinq pannes qui reviennent sur les dépôts équipés.

Migrer vers OpenCode 2 : ce qui casse et comment adapter sa configuration

Migrer vers OpenCode 2 : ce qui casse et comment adapter sa configuration

OpenCode 2 casse trois choses : les plugins, l'API serveur et la configuration du terminal. Votre opencode.json V1 continue de marcher, mais CLAUDE.md et LSP disparaissent sans message. Versions au 30 septembre 2026 (V1 1.18.33, V2 2.0.20), renommages et méthode de migration en cinq étapes.