Découverte du bundle
En explorant le répertoire ~/.cache/ avec OmniDiskSweeper, l’auteur a identifié un dossier nommé codex-primary-runtime d’une taille de 1,7 Go. Ce répertoire contient une installation complète de Python, une version autonome de Node.js, ainsi que les exécutables natifs de Poppler, git et de la suite bureautique LibreOffice, dérivée d’OpenOffice.org depuis 2010.
~/.cache/codex-runtimes/codex-primary-runtime/plugins/openai-primary-runtime/plugins/documents/Le sous‑dossier documents regroupe des « skills » qui indiquent à l’application comment localiser et invoquer ces binaires.
Architecture du runtime
Le modèle de distribution repose sur un runtime autonome, séparé du système hôte. En incluant Python et Node.js, l’application peut exécuter des scripts et des modules JavaScript sans dépendre des versions installées par l’utilisateur. Les binaires de Poppler offrent des capacités de conversion PDF, tandis que git permet la gestion de dépôts versionnés directement depuis l’interface. LibreOffice, quant à lui, fournit un moteur complet de traitement de texte, de tableur et de présentation, accessible via les API documentaires du produit.
Cette approche élimine les incompatibilités de version, mais augmente la surface d’attaque : chaque composant ajouté possède son propre ensemble de vulnérabilités potentielles. Le fait que les exécutables soient stockés dans le cache de l’utilisateur signifie qu’ils sont exécutés avec les privilèges de ce compte, ce qui peut exposer le système si un acteur malveillant parvient à injecter du code dans le processus Codex.
Implications pour la distribution et la maintenance
Le poids de 1,7 Go représente une charge notable pour les utilisateurs disposant de connexions limitées ou de stockage restreint. La mise à jour de chaque composant doit être gérée par OpenAI, car les versions embarquées ne sont pas synchronisées avec les dépôts système. Ainsi, une mise à jour de sécurité de LibreOffice ou de Python ne sera appliquée que lorsque l’application publiera un nouveau bundle, retardant potentiellement la correction de failles critiques.
Du point de vue de la licence, LibreOffice est distribué sous LGPL v3, ce qui impose à OpenAI de fournir les sources modifiées et de permettre le re‑linkage. Aucun détail n’est fourni dans l’article concernant le respect de ces obligations, ce qui laisse une zone d’incertitude juridique.
Limites et perspectives
Le rapport ne précise pas si le bundle inclut des extensions spécifiques de LibreOffice ou si les binaires sont optimisés pour chaque plateforme (Windows, macOS, Linux). L’absence d’information sur le processus de vérification d’intégrité (signature, hash) complique l’évaluation du risque d’altération. Enfin, la stratégie d’emballage, bien que fonctionnelle, pourrait être revue afin de réduire l’empreinte disque et d’améliorer la réactivité des mises à jour de sécurité.