Utiliser Codex de façon sécuritaire chez OpenAI
Un aperçu des contrôles, limites et données de télémétrie qu’OpenAI utilise pour encadrer les agents de codage dans des flux de travail réels.
À mesure que les systèmes d’IA gagnent en capacités, ils agissent de plus en plus au nom des utilisateurs. Les agents de codage peuvent examiner des dépôts de façon autonome, exécuter des commandes et interagir avec des outils de développement. Il s’agit là de tâches qui, auparavant, nécessitaient une intervention humaine directe.
Avec Codex, nous avons conçu ces capacités en les associant aux mécanismes de contrôle dont les entreprises ont besoin pour garantir un déploiement sécuritaire. Les équipes de sécurité doivent pouvoir réguler le fonctionnement des agents : déterminer à quoi ils ont accès, quand une validation humaine est requise, avec quels systèmes ils peuvent interagir, et quelles données de télémétrie permettent d’expliquer leur comportement.
Chez OpenAI, nous déployons Codex avec quelques objectifs clairs : maintenir l’agent dans des limites techniques bien définies, permettre aux développeurs d’agir rapidement pour les opérations à faible risque et rendre explicites les opérations à haut risque. Nous conservons également les données de télémétrie natives de l’agent afin de pouvoir comprendre et contrôler ses actions. Concrètement, cela se traduit par une configuration gérée, une exécution contrainte, des politiques réseau et des journaux natifs de l’agent.
Nous déployons Codex en nous appuyant sur un principe simple : il doit être efficace dans un environnement bien délimité, les opérations quotidiennes à faible risque doivent s’effectuer sans heurts, tandis que les opérations à haut risque doivent être suspendues pour examen.
Les autorisations et l’isolation fonctionnent de concert. Le bac à sable définit les limites techniques d’exécution, notamment les emplacements où Codex peut écrire, s’il peut accéder au réseau et les chemins qui restent protégés. La politique d’autorisation détermine quand Codex doit demander l’autorisation d’effectuer une action, par exemple lorsqu’il doit effectuer une opération en dehors du bac à sable. Les utilisateurs peuvent approuver l’action une seule fois ou autoriser ce type d’action pour la session en cours.
Pour les demandes qui dépassent les limites du bac à sable, nous utilisons le mode révision automatique(s'ouvre dans une nouvelle fenêtre), une fonctionnalité qui, lorsqu’elle est activée, approuve automatiquement certains types de demandes afin de réduire la fréquence à laquelle les utilisateurs doivent intervenir pour approuver les actions Codex. Codex envoie l’action prévue et le contexte récent au sous-agent d’approbation automatique, qui peut approuver automatiquement les actions à faible risque (ou les actions à haut risque si l’utilisateur dispose d’un niveau d’autorisation suffisant), au lieu d’interrompre l’utilisateur. Cela permet à Codex de poursuivre ses activités courantes tout en mettant un frein aux actions présentant un risque plus élevé ou susceptibles d’entraîner des conséquences imprévues.
Nous n’exécutons pas Codex avec un accès sortant sans limites. Notre politique réseau gérée autorise les destinations attendues, bloque les destinations auxquelles nous ne voulons pas que Codex accède et exige une approbation pour les domaines inconnus. Cela permet à Codex d’exécuter des flux de travail courants et reconnus comme sûrs sans lui accorder un accès réseau étendu.
Nous gérons également le processus d’authentification de Codex. Les identifiants OAuth de la CLI et de MCP sont stockés dans le trousseau de clés sécurisé du système d’exploitation, la connexion s’effectue obligatoirement via ChatGPT, et l’accès est limité à notre espace de travail ChatGPT Enterprise. Cela permet de lier l’utilisation de Codex à nos contrôles au niveau de l’espace de travail et de rendre l’activité de Codex accessible dans la plateforme de journaux de conformité ChatGPT pour notre espace de travail Enterprise.
Nous utilisons des règles afin que Codex ne considère pas chaque commande shell comme si elles présentaient toutes le même niveau de sécurité. Les commandes courantes et inoffensives que les ingénieurs utilisent au quotidien dans le cadre de leurs tâches de développement sont autorisées sans autorisation préalable en dehors du bac à sable, tandis que certaines commandes dangereuses peuvent être bloquées ou nécessiter une autorisation. Cela permet à Codex de traiter rapidement les tâches d’ingénierie courantes tout en imposant une vérification ou en bloquant les schémas que nous ne souhaitons pas voir s’exécuter en dehors du bac à sable.
Nous appliquons cette approche grâce à une combinaison d’exigences gérées dans le nuage, de préférences gérées macOS et de fichiers d’exigences locaux. Les exigences sont des contrôles imposés par les administrateurs que les utilisateurs ne peuvent pas contourner. Les préférences gérées macOS et les fichiers d’exigences locaux nous permettent de maintenir une base cohérente tout en testant différentes configurations par équipe, groupe d’utilisateurs ou environnement. Ces configurations s’appliquent à l’ensemble des interfaces locales de Codex, y compris l’application de bureau, l’interface de ligne de commande (CLI) et l’extension IDE.
Le contrôle ne représente que la moitié du travail. Une fois les agents déployés, les équipes de sécurité doivent pouvoir savoir ce que font ces agents et pourquoi. Les journaux de sécurité traditionnels restent utiles pour examiner les actions effectuées par Codex, mais ils indiquent surtout ce qui s’est passé : un processus a été lancé, un fichier a été modifié, une connexion réseau a été tentée. Les défenseurs doivent encore déterminer pourquoi Codex a agi ainsi, ou quelle était l’intention de l’utilisateur.
Codex permet aux équipes de sécurité d’avoir une vision plus précise des activités des agents. Codex prend en charge l’exportation des journaux OpenTelemetry pour divers événements Codex, tels que les invites utilisateur, les décisions d’approbation des outils, les résultats d’exécution des outils, l’utilisation du serveur MCP et les événements d’autorisation ou de refus du proxy réseau. Les journaux d’activité Codex sont également accessibles via la plateforme de conformité OpenAI pour les clients Enterprise et Edu.
Chez OpenAI, nous utilisons les journaux Codex en complément de notre agent de triage de sécurité propulsé par l’IA. Lorsqu’une alerte provenant d’un terminal signale que Codex a effectué une action inhabituelle, l’outil de sécurité du terminal nous indique qu’un événement suspect s’est produit. Les journaux Codex permettent alors de mieux comprendre l’intention sous-jacente de l’utilisateur et de l’agent. Notre agent de triage de sécurité basé sur l’IA utilise les journaux Codex pour inspecter la requête d’origine, l’activité de l’outil, les décisions d’approbation, les résultats de l’outil, ainsi que toute décision ou blocage pertinent lié à la politique réseau. L’agent de triage de sécurité basé sur l’IA transmet son analyse à notre équipe de sécurité pour examen, afin de distinguer le comportement attendu de l’agent, les erreurs bénignes et les activités qui justifient réellement une escalade.
Nous utilisons aussi cette même télémétrie sur le plan opérationnel. Nous utilisons ces journaux pour analyser l’évolution de l’adoption en interne, identifier les outils et les serveurs MCP utilisés, déterminer la fréquence à laquelle le bac à sable réseau bloque ou affiche des alertes, et repérer les points du déploiement qui nécessitent encore des ajustements. Ces journaux OpenTelemetry peuvent être centralisés dans des systèmes SIEM et de journalisation de conformité.
À mesure que des agents de codage comme Codex s’intègrent dans les flux de travail de développement, les équipes de sécurité ont besoin d’outils spécialement conçus pour gérer cette évolution. Codex fournit les interfaces de contrôle, la gestion de la configuration, l’isolation et les données de télémétrie détaillées tenant compte des agents, indispensables pour garantir une mise en œuvre en toute sécurité. Grâce à ces fonctionnalités, les équipes de sécurité peuvent déployer Codex en toute confiance, en conciliant la productivité des développeurs avec la visibilité et le contrôle indispensables à la sécurité de l’entreprise. Vous trouverez plus d’informations sur la configuration de Codex ici(s'ouvre dans une nouvelle fenêtre), ainsi que sur l’API de conformité ici(s'ouvre dans une nouvelle fenêtre).


