Contexte et historique
Depuis macOS 10.5 (2007), Apple fournit l’utilitaire path_helper. Celui‑ci lit /etc/paths et chaque fichier présent dans /etc/paths.d afin de composer la variable d’environnement PATH. Jusqu’à macOS 10.15, l’ajout le plus notable était un fichier dédié à rvictl. macOS 13.3 a ensuite introduit des entrées liées aux Cryptexes, un mécanisme de chiffrement de paquets système. L’article signale que macOS 27.0 crée un nouveau fichier 10-pmk-global dans /etc/paths.d, qui injecte /pkg/env/global/bin dans le PATH de chaque session.
Mécanisme d’ajout au PATH
Le fichier 10-pmk-global est lu par path_helper au démarrage du shell. Son unique ligne /pkg/env/global/bin est concaténée aux répertoires déjà listés, ce qui explique la présence inattendue de ce préfixe dans le PATH des utilisateurs. Le répertoire /pkg apparaît sur le volume de données depuis macOS 26.4, mais il n’est ajouté au volume système signé (SSV) qu’à partir de la version 27.0, rendant son accès possible dès le premier démarrage du système.
Analyse des implications et hypothèses
Le répertoire racine /pkg comporte quatre sous‑répertoires : env, etc, inv et var. Cette structure rappelle celle d’un système de gestion de paquets Unix (par exemple /usr), ce qui alimente la supposition d’un futur gestionnaire de paquets propre à Apple. Le préfixe « pmk » du fichier 10-pmk-global n’est pas expliqué dans la documentation publique, mais il pourrait désigner un composant interne (« package manager kernel » ou similaire). L’ajout d’un répertoire /pkg/env/global/bin au PATH suggère que des exécutables globaux, potentiellement liés à ce gestionnaire, seront disponibles sans configuration supplémentaire de l’utilisateur.
Une autre piste provient des Cryptexes introduits en 13.3 : ces paquets chiffrés sont montés à la volée pour protéger des ressources sensibles. Si /pkg devait héberger des Cryptexes « globales », le répertoire env pourrait contenir des variables d’environnement ou des scripts d’initialisation partagés entre plusieurs Cryptexes. Le sous‑répertoire inv (inventaire ?) pourrait stocker des métadonnées de paquets, tandis que var servirait à des données d’exécution, à l’instar de /var traditionnel.
Limites et perspectives
À ce jour, Apple n’a publié aucune documentation officielle sur /pkg ou sur le fichier 10-pmk-global. L’absence d’information empêche de confirmer ou d’infirmer les hypothèses de gestion de paquets. Le simple fait que le répertoire soit présent sur le SSV indique toutefois une intention de le rendre immuable et vérifiable, ce qui est cohérent avec une stratégie de sécurité renforcée. Les développeurs et administrateurs système doivent donc surveiller les futures mises à jour de macOS 27.x pour détecter l’apparition de binaires dans /pkg/env/global/bin et adapter leurs politiques de confiance en conséquence.