Aller au contenu
Octobre 2026 : incidents Railway et OpenCode, que faire

Sécurité des clés API d'IA

Arrêtez une clé d'IA divulguée avant qu'elle ne dépense.

Gardez vos clés fournisseurs hors de vos applications. Donnez plutôt à chaque application, agent et outil une clé de passerelle INFRO, avec un interrupteur, une liste d'autorisation IP, des limites de modèles et une limite de dépenses, chacun vérifié avant l'appel à votre fournisseur.

Un exemple de journal des requêtes pour une clé de passerelle INFRO divulguée. La clé est limitée au réseau de ses serveurs, 203.0.113.0/24, et à une limite de dépenses quotidienne de $50.00. Les requêtes venant d'autres réseaux sont refusées avec 403 ip_not_allowed, et un modèle hors de la liste d'autorisation de la clé avec 403 model_not_allowed ; aucune n'atteint un fournisseur. Les requêtes des serveurs s'exécutent sur les propres comptes OpenAI et Anthropic de l'organisation, avec un coût fournisseur estimé pour chacune.
  • 4 vérifications

    Sur chaque requête, avant l'appel à votre fournisseur.

  • 32 réseaux

    Par clé dans sa liste d'adresses IP autorisées, IPv4 ou IPv6, sur toutes les offres.

  • Sans déploiement

    Pour désactiver une clé divulguée. Toute requête qui l'utilise est refusée.

  • AES-256-GCM

    Sur chaque clé fournisseur que vous connectez. Elle n'est plus jamais affichée.

Où se trouvent les clés fournisseurs

La même clé fournisseur se trouve généralement à cinq endroits, et chaque copie peut dépenser sur tout le compte. Avec INFRO, la clé fournisseur est scellée en un seul endroit et chaque application, agent et outil détient sa propre clé de passerelle. Choisissez où se produit la fuite.

Choisissez où la clé fuit
Une clé fournisseur, copiée partout5 emplacements sur 5 exposés
Votre clé fournisseur sk-proj-••••7Hc2Copiée à 5 emplacements
  1. Variables d'environnement de productionsk-proj-••••7Hc2Fuite ici
  2. Secrets de CI et de déploiementsk-proj-••••7Hc2Même clé
  3. Portables des développeurs et fichiers .envsk-proj-••••7Hc2Même clé
  4. Shells des agents de codesk-proj-••••7Hc2Même clé
  5. Outils d'IA tierssk-proj-••••7Hc2Même clé
Exposée
Tout votre compte fournisseur, dans la limite de ce qui est fixé chez le fournisseur, jusqu'à ce que la clé y soit supprimée.
Pour rétablir
Supprimez la clé chez le fournisseur, puis redéployez les 5 emplacements.
Avec INFRO, une clé de passerelle par emplacement1 clé sur 5 exposée
Votre clé fournisseur sk-proj-••••7Hc2Scellée dans INFRO
  1. checkout-apisk_infro_••••a91f$50 par jour203.0.113.0/24Divulguée, contenue
  2. ci-deploysk_infro_••••3c7e$10 par jour203.0.113.64/27Non affectée
  3. maya-laptopsk_infro_••••5d20$5 par jourExpire dans 30 joursNon affectée
  4. claude-codesk_infro_••••8b14$20 par jourAnthropic uniquementNon affectée
  5. support-toolsk_infro_••••e602$15 par mois1 modèleNon affectée
Exposée
checkout-api: une clé, refusée hors du réseau de vos serveurs et plafonnée à $50 par jour à l'intérieur.
Pour rétablir
Désactivez-la dans la console, sans déploiement, puis renouvelez-la à ce seul emplacement. Les 4 autres continuent de fonctionner.

Quatre contrôles

Chaque contrôle refuse avec son propre code documenté, pour que vos journaux disent exactement pourquoi, et chacun se modifie depuis la console ou l'API sans déploiement. Les quatre sont inclus dans chaque offre.

  1. 01

    Interrupteur d'arrêt

    Cette clé est-elle activée ?

    Désactivez une clé depuis la console ou l'API et toute requête qui l'utilise est refusée. Son secret, ses limites et son historique sont conservés ; la réactiver restaure la même clé.

    403 key_disabledDocumentation

  2. 02

    Réseaux autorisés

    Appelle-t-elle depuis vos serveurs ?

    Jusqu'à 32 adresses IPv4 ou IPv6 ou plages CIDR par clé, comparées à l'adresse du client indiquée par la périphérie de Cloudflare, jamais à X-Forwarded-For. Sans adresse de confiance, la requête est refusée.

    403 ip_not_allowedDocumentation

  3. 03

    Modèles et fournisseurs

    Ce modèle lui est-il autorisé ?

    Approuvez les modèles qu'une organisation, un projet ou une clé peut appeler, et les fournisseurs qu'une clé peut atteindre. Chaque clé appartient à un environnement et n'atteint jamais une connexion en dehors de celui-ci.

    403 model_not_allowedDocumentation

  4. 04

    Limite de dépenses

    Sa limite peut-elle couvrir cette requête ?

    Une limite quotidienne, hebdomadaire, mensuelle ou à vie par clé, en plus des budgets par organisation, projet et membre. Une requête que la limite ne peut pas couvrir est refusée avant l'appel au fournisseur.

    402 key_budgetDocumentation

  • Renouvellement avec chevauchementRenouvelez en une étape : la nouvelle clé reprend tous les réglages de l'ancienne, et l'ancienne continue de fonctionner jusqu'à sept jours pendant votre déploiement, ou s'arrête aussitôt. La limite de dépenses est partagée : renouveler n'offre donc jamais de nouvelle marge.
  • ExpirationDonnez à une clé une échéance après laquelle elle cesse de fonctionner, pour un prestataire, une démo ou une migration.
  • Affichée une fois, stockée sous forme de condensatUne clé de passerelle fait 32 octets aléatoires, affichée une seule fois et stockée uniquement sous forme de condensat SHA-256. Une divulgation de la base de données ne divulgue aucune clé utilisable.
  • Les tentatives au hasard sont freinéesUne adresse qui échoue à s'authentifier 30 fois en une minute est refusée avec un 429 jusqu'à la fin de la minute, avant toute recherche de clé.

Plafonds de dépenses

Une clé divulguée, un agent bloqué dans une boucle, un client qui automatise votre offre gratuite : chacun s'arrête à un plafond à sa mesure au lieu d'atteindre tout votre budget. Chaque plafond applicable est vérifié avant l'appel à votre fournisseur, en comptant le pire cas des requêtes déjà en cours.

Les plafonds se cumulent

Une requête doit respecter chaque plafond qui s'applique à elle. Le plus strict décide : un petit plafond au bon endroit arrête un problème bien avant celui de l'organisation.

  1. Organisation
  2. Projet
  3. Membre
  4. Clé de passerelle
  5. Client final
Exemples de budgets pour une organisation : un plafond strict d'organisation, un budget de projet, une limite quotidienne de clé de passerelle, une limite à vie de clé et un plafond par client final. Dans la crise choisie, « Une clé de passerelle fuite », le plafond correspondant atteint sa limite et la requête suivante est refusée avec 402 key_budget avant tout appel à un fournisseur. La clé s'arrête à $50 pour la journée. Toutes les autres clés continuent de servir.

La clé s'arrête à $50 pour la journée. Toutes les autres clés continuent de servir.

Plafonds de dépenses par périmètre : périodes, comportement, code de refus et offre
PlafondPériodeComportementRefusé avecOffre
OrganisationObjectif mensuel et plafond strictL'objectif alerte ; le plafond strict alerte ou bloque. Seul le propriétaire le définit.402 organization_budgetChaque offre
ProjetMensuelAlerter ou bloquer, avec des alertes à vos propres seuils.402 project_budgetChaque offre
MembreMensuelAlerter ou bloquer, pour l'activité d'une seule personne.402 member_budgetChaque offre
Clé de passerelleQuotidienne, hebdomadaire, mensuelle ou à vieBloque toujours. Une limite à vie ne se réinitialise jamais.402 key_budgetChaque offre
Client finalQuotidienne, hebdomadaire ou mensuelleUne règle pour chaque client, par organisation ou projet, avec des exceptions que votre backend définit.402 end_user_budgetTeam et au-delà

Testé sous chargeLors d'un test en sandbox, un plafond bloquant de $1 a tenu dans 12 exécutions sur 12 avec jusqu'à 500 requêtes simultanées (le test et sa méthode). Les plafonds comptent l'estimation du coût fournisseur faite par INFRO, pas la facture de votre fournisseur, et un modèle sans prix connu est refusé sous un plafond bloquant sauf si vous l'autorisez : gardez donc aussi une limite de dépenses chez le fournisseur. Documentation des contrôles de dépenses

Une clé divulguée

Pour une clé de passerelle INFRO. Si une clé fournisseur a fuité, supprimez-la d'abord chez le fournisseur : c'est la seule chose qui l'arrête.

  1. 1Contenir le problème sans déploiementDésactivez la clé de passerelle, ou gardez votre application en marche en restreignant la clé aux réseaux de vos serveurs et en abaissant sa limite de dépenses. Rien de tout cela ne demande de déploiement, et chaque vérification s'exécute avant tout appel au fournisseur.
  2. 2La remplacerRenouvelez sans chevauchement quand la clé a fuité. Le remplacement garde le libellé, le projet, les limites, les listes d'autorisation, l'environnement et l'accès à l'historique, et n'est affiché qu'une fois.
  3. 3Lire ce qu'elle a faitChaque enregistrement de requête nomme la clé de passerelle qui l'a faite, avec son modèle, son statut et son coût fournisseur estimé ; filtrez le journal des requêtes et l'usage par cette clé. La console montre combien de requêtes la liste d'autorisation de chaque clé a refusées aujourd'hui.
  4. 4Vérifier l'usage hors d'INFROAvec l'offre Business, le rapprochement des coûts avec l'accès à l'usage activé signale l'usage d'une clé de fournisseur connectée qui n'est jamais passé par INFRO. Sans cet accès, il indique « non vérifié », jamais « aucun contournement » : lisez la page d'usage du fournisseur lui-même.
  5. 5Conserver l'historiqueLes modifications de clés, les rotations et les changements de politique figurent dans le journal d'audit avec leur auteur et leur date, dans des lignes que la base de données refuse de modifier ou de supprimer.
curl -X PATCH https://api.infro.io/manage/v1/gateway_keys/$KEY_ID \
  -H "Authorization: Bearer $INFRO_MANAGEMENT_TOKEN" \
  -H 'If-Match: "7"' \
  -H "Content-Type: application/json" \
  -d '{"disabled": true}'

# Every request with the key: 403 key_disabled
# Its secret, limits and history are kept.

Les trois mêmes changements figurent sur la page de la clé dans la console. Avec l'API de gestion, un changement exige la version que vous avez lue en dernier (If-Match) : deux personnes qui contiennent le même incident ne peuvent donc pas s'écraser mutuellement.

Secrets dans les prompts

On colle des fichiers .env dans des conversations et les agents les lisent depuis des shells. Avec l'offre Business, les garde-fous vérifient les prompts, les appels d'outils et les réponses à la recherche de formats de secrets, puis bloquent la requête, remplacent la correspondance par [SECRET] ou la signalent, avant l'appel à votre fournisseur.

  • OpenAI
  • Anthropic
  • Clé API Google
  • ID de clé d'accès AWS
  • Jeton GitHub
  • Jeton Slack
  • Clé Stripe live
  • Clé INFRO
  • JWT
  • Clé privée PEM

La détection repose sur des motifs : elle reconnaît ces formats et rien d'autre, et manque donc les clés d'accès secrètes AWS, les mots de passe et les formats qu'elle ne connaît pas. Chaque correspondance est comptée dans l'enregistrement de la requête. Documentation des garde-fous

Exemple : un développeur colle un fichier d'environnement dans une complétion de chat. Avant que la requête n'atteigne le fournisseur, le détecteur de secrets du garde-fou remplace la clé OpenAI par [SECRET], et la réponse porte l'en-tête X-INFRO-Guardrails: redacted.

Agents, outils et personnes

Les agents de code ont leurs propres clés

Claude Code, Codex et les SDK d'agents appellent /v1/messages et /v1/responses d'INFRO avec une clé de passerelle au lieu de votre clé Anthropic ou OpenAI. Donnez-en une à chaque développeur ou agent, avec une limite de dépenses, une expiration et une liste d'autorisation réseau ; la révoquer n'affecte personne d'autre.

Claude Code & Codex

Les identifiants d'outils restent hors des agentsBusiness

Enregistrez chaque serveur MCP une fois avec son jeton. INFRO l'ajoute à chaque appel : aucun agent, prompt ni fichier de configuration ne le détient, et chaque clé de passerelle n'obtient que les outils qui lui ont été accordés.

Modèle de sécurité de la passerelle MCP

La connexion à la console est l'autre porte

Double authentification avec une application d'authentification, passkeys et clés matérielles, une liste de sessions que vous pouvez fermer, et un réglage d'organisation qui impose la double authentification à chaque membre. Authentification unique SAML ou OIDC et SCIM à partir de l'offre Business.

Double authentification et sessions

Les clés que nous détenons

Une plateforme qui stocke des clés fournisseurs est précisément ce que les attaques d'octobre ont visé : les mêmes questions s'appliquent donc à nous. Ces contrôles reprennent mot pour mot les déclarations du Trust Center.

Les identifiants de fournisseur sont chiffrés et liés à un seul locataire
Les clés de fournisseur que vous connectez sont chiffrées en AES-256-GCM avec une clé détenue comme secret du Worker, jamais dans la base de données. Les identifiants de l'organisation et de la connexion sont liés comme données authentifiées additionnelles : un identifiant chiffré copié dans la ligne d'un autre locataire — ou dans une autre ligne du même locataire — échoue en mode fermé au lieu de se déchiffrer. Les identifiants connectés pour le rapprochement des coûts sont chiffrés séparément, avec leur propre liaison.
Il n'y a d'affichage nulle part
Une fois un identifiant de fournisseur enregistré, aucune interface ne le renvoie — ni la console, ni l'API, ni la console interne des opérateurs. Ce que l'une ou l'autre partie peut voir, ce sont les quatre derniers caractères et les horodatages. Si vous perdez la clé, vous la renouvelez chez le fournisseur ; nous ne pouvons pas vous la montrer.
Les clés API d'INFRO sont hachées au repos
Une clé de passerelle fait 32 octets issus d'une source aléatoire cryptographique. Ce que nous stockons, c'est son condensat SHA-256, un préfixe d'affichage et les quatre derniers caractères : une divulgation de la base de données ne divulgue donc aucun identifiant utilisable. La révocation écrit une pierre tombale au lieu de supprimer la ligne, pour qu'une entrée de cache périmée encore en propagation entre sites ne puisse pas la masquer.
La clé de chiffrement peut être renouvelée sans votre intervention
Renouveler la clé qui chiffre les identifiants des clients rechiffre sur place chaque identifiant stocké. Cela ne demande à aucun client de ressaisir quoi que ce soit, et l'algorithme stocké porte une chaîne de version pour qu'un futur schéma puisse coexister avec l'actuel au lieu d'exiger un jour de bascule.

Ce que INFRO ne peut pas faire

Une clé fournisseur dérobée chez INFRO, ou ailleurs, peut être utilisée directement auprès du fournisseur, hors de toute limite INFRO. Connectez des clés limitées à leur propre projet ou espace de travail, avec une limite de dépenses fixée chez le fournisseur : c'est le contrôle qui tient même si nous échouons. Ce qui n'est pas encore en place est listé dans le Trust Center.

Octobre 2026

Dans les deux cas, le conseil était le même : remplacer la clé, supprimer l'ancienne chez le fournisseur, et lire ce qu'elle a fait. Moins une clé fournisseur se trouve d'endroits, moins une fuite coûte de renouvellements ; les clés que vous distribuez devraient porter des limites modifiables sans déploiement.

RailwayDivulgué le 21 octobre 2026

Ce qu'a déclaré Railway

An unauthorized party may have accessed encrypted customer environment variables and, for some of them, obtained the decrypted contents, in a series of attacks aimed at compromising AI inference providers.

Que faire

Renouvelez chaque variable que détenait Railway, en commençant par les clés de fournisseurs d'IA : remplacez, supprimez l'ancienne clé chez le fournisseur, déployez et examinez l'usage de l'ancienne clé.

Railway breach: what happened and what to doRevu le 22 octobre 2026

OpenCodeDivulgué le 17 octobre 2026

Ce qu'a déclaré OpenCode

A breach related to a large-scale distillation attack affected 1.4% of OpenCode Console users, those with external AI providers linked, and provider keys saved in a workspace may have been exposed.

Que faire

Créez un remplacement à périmètre limité, révoquez l'ancienne clé chez le fournisseur, et examinez l'usage chez le fournisseur à partir du 16 octobre.

OpenCode Console breach: what happened and what to doRevu le 21 octobre 2026

Chaque résumé provient de la communication de l'entreprise elle-même, telle que notre analyse la cite. Les deux incidents étaient en cours au moment de la rédaction ; les analyses sont revues chaque semaine et consignent chaque changement dans leurs notes de révision.

Guides pratiques

FAQ

Que faire si ma clé API OpenAI ou Anthropic a fuité ?

Créez une clé de remplacement chez le fournisseur, supprimez-y la clé divulguée, déployez la clé de remplacement, puis examinez chez le fournisseur l'usage de l'ancienne clé pendant toute la période où elle a pu être utilisée. Supprimer la clé chez le fournisseur est ce qui l'arrête ; rien de ce que fait une application ou une passerelle ne peut rappeler une clé volée. Donnez ensuite à la clé de remplacement une limite de dépenses chez le fournisseur et gardez-la hors du code, des applications clientes et des environnements partagés.

Comment INFRO limite-t-il les dégâts d'une clé API divulguée ?

Vos applications détiennent des clés de passerelle INFRO au lieu de vos clés de fournisseur. Chaque clé de passerelle peut être désactivée (403 key_disabled), limitée à 32 réseaux au plus (403 ip_not_allowed), restreinte à des modèles et fournisseurs approuvés, et dotée d'une limite de dépenses quotidienne, hebdomadaire, mensuelle ou à vie (402 key_budget). Chaque vérification s'exécute avant l'appel à votre fournisseur, sur toutes les offres, et aucune ne demande de déploiement. Une clé de passerelle divulguée est un problème borné que vous pouvez désactiver ; une clé de fournisseur divulguée atteint tout le compte fournisseur.

Puis-je plafonner les dépenses d'IA par client, par projet ou par période ?

Oui. Les budgets s'appliquent par organisation (un objectif mensuel qui alerte et un plafond strict qui alerte ou bloque), par projet et par membre (mensuel), et par clé de passerelle (quotidien, hebdomadaire, mensuel, ou une limite à vie qui ne se réinitialise jamais). À partir de l'offre Team, les plafonds par client final limitent chacun de vos propres clients par jour, par semaine ou par mois, avec des exceptions pour des clients précis. Chaque plafond applicable est vérifié avant l'appel à votre fournisseur, en comptant le pire cas des requêtes déjà en cours, et une requête refusée est un 402 qui nomme le plafond. Les plafonds comptent l'estimation d'INFRO du coût fournisseur, pas la facture de votre fournisseur : gardez donc aussi une limite de dépenses chez le fournisseur.

INFRO stocke-t-il mes clés API de fournisseur, et comment sont-elles protégées ?

Oui : vous connectez une fois vos propres clés de fournisseur et INFRO les utilise pour servir vos requêtes. Chacune est chiffrée en AES-256-GCM avec une clé détenue comme secret du Worker hors de la base de données, l'organisation et la connexion y étant liées : une copie de la base seule n'ouvre rien. Aucun écran de console, endpoint ou export ne renvoie un identifiant enregistré ; la console en montre les quatre derniers caractères. Les clés de passerelle ne sont stockées que sous forme de condensat SHA-256.

Une clé de fournisseur volée peut-elle contourner INFRO ?

Oui. INFRO ne gouverne que le trafic qui passe par lui. Une clé de fournisseur prise n'importe où, y compris dans INFRO, peut être utilisée directement auprès du fournisseur, en dehors de toutes les limites d'INFRO. Connectez des clés limitées à leur propre projet ou espace de travail, avec une limite de dépenses définie chez le fournisseur : cette limite tient même si nous échouons. Avec l'offre Business, le rapprochement avec l'accès à l'usage activé signale l'usage d'une clé connectée qui n'est pas passé par INFRO.

Que s'est-il passé lors des violations d'OpenCode et de Railway ?

OpenCode a déclaré le 17 octobre 2026 qu'une violation liée à une attaque de distillation à grande échelle avait touché 1,4 % de ses utilisateurs de Console, ceux ayant des fournisseurs d'IA externes liés, et que des clés de fournisseur enregistrées dans un espace de travail avaient pu être exposées. Railway a déclaré le 21 octobre 2026 qu'une partie non autorisée avait pu accéder à des variables d'environnement chiffrées de clients et en déchiffrer certaines, lors d'attaques visant à compromettre des fournisseurs d'inférence d'IA. Dans les deux cas, le conseil est le même : remplacer la clé, supprimer l'ancienne chez le fournisseur et examiner son usage. INFRO propose une analyse de chacune, rédigée uniquement à partir des déclarations des entreprises elles-mêmes.

INFRO peut-il empêcher que des clés API soient collées dans des prompts ?

Avec l'offre Business, les garde-fous vérifient les prompts et les réponses pour les formats OpenAI, Anthropic, Clé API Google, ID de clé d'accès AWS, Jeton GitHub, Jeton Slack, Clé Stripe live et Clé INFRO, les JWT et les clés privées PEM, et bloquent la requête, remplacent l'occurrence par [SECRET] ou la signalent avant que votre fournisseur ne la voie. La détection fonctionne par motifs : elle manque les formats qu'elle ne connaît pas, comme les clés d'accès secrètes AWS et les mots de passe.

Claude Code et Codex ont-ils besoin de ma clé Anthropic ou OpenAI ?

Pas via INFRO. Ils appellent /v1/messages et /v1/responses d'INFRO avec une clé de passerelle : chaque développeur ou agent peut ainsi avoir sa propre clé avec une limite de dépenses, une expiration et une liste de réseaux autorisés facultative, et la révoquer ne touche l'accès de personne d'autre. Un agent peut toujours lire toute clé laissée dans le même shell : retirez donc les clés brutes de fournisseur des environnements de développeurs.

Qu'est-ce que le LLMjacking ?

Le LLMjacking est l'utilisation d'identifiants cloud ou d'API d'IA volés pour appeler des modèles de langage hébergés aux frais de la victime, soit pour l'usage de l'attaquant, soit pour revendre l'accès. La défense est celle de tout identifiant qui peut dépenser de l'argent : garder les clés de fournisseur hors du code et des applications clientes, donner à chaque clé une limite de dépenses, surveiller l'usage par clé, et pouvoir désactiver une clé sans déploiement.

Quelles offres INFRO incluent ces contrôles ?

Toutes les offres incluent la désactivation d'une clé, réseaux autorisés, limites de modèles et de fournisseurs, limites de dépenses, rotation et expiration, connexion à deux facteurs et passkeys et le journal d'audit. Les alertes de dépenses vont par e-mail sur toutes les offres, et vers Slack et des webhooks signés à partir de l'offre Startup. Garde-fous, SSO et SCIM, rapprochement des coûts avec détection des contournements et la passerelle MCP sont inclus dans l'offre Business.

La conformité, la liste complète des contrôles et ce qui n'est pas encore en place figurent dans le Trust Center. Vous avez trouvé une vulnérabilité ? Écrivez à security@infro.io.

Commencer

Faites de votre prochaine clé divulguée un problème borné.

Vos fournisseurs, vos contrats, vos clés, scellés en un seul endroit. Chaque clé que vous distribuez, limitée et désactivable. 0 % de majoration sur les dépenses de modèles.