Contexte et description du problème
Le client en ligne de commande Codex CLI, version 0.157.0, installé via npm install -g @openai/codex sous Linux (WSL2), lance automatiquement un processus de fond dès l’ouverture d’une session interactive. L’auteur de la demande signale que ce comportement, nommé daemon_auto_start, n’est pas explicitement demandé et persiste même après la fermeture de la fenêtre Codex.
Mécanisme du démon auto‑démarré
Lorsqu’un utilisateur exécute codex en mode interactif, le CLI invoque en arrière‑plan la commande
codex app-server --managed-daemon. Le processus s’exécute sans terminal (no TTY) et est re‑parenté au PID 1, ce qui le rend indépendant de la session utilisateur. Il continue de fonctionner jusqu’à ce que l’on lance codex app-server daemon stop ou que le système redémarre.Impacts sur les ressources et la sécurité
Le démon copie l’intégralité du paquet de la plateforme, soit environ 374 Mo, incluant les exécutables codex, codex-code-mode-host et les dépendances empaquetées (bwrap, zsh, rg). Cette duplication consomme de l’espace disque et de la bande passante lors de chaque lancement. Le fait d’être « re‑parenté à PID 1 » signifie que le processus n’est plus lié à l’utilisateur qui l’a initié, ce qui complique la traçabilité et augmente le vecteur d’attaque potentiel : un acteur malveillant pourrait exploiter le démon persistant pour exécuter du code avec les privilèges du système, surtout si le binaire n’est pas régulièrement mis à jour ou si des vulnérabilités sont découvertes dans les dépendances incluses.
Recommandations et alternatives
Pour limiter ces risques, il est recommandé de rendre daemon_auto_start opt‑in, avec la valeur par défaut false, ou d’afficher une invite de confirmation avant le premier démarrage. Une implémentation possible serait d’ajouter un paramètre de configuration dans le fichier ~/.codexrc permettant à l’utilisateur de désactiver le lancement automatique. En outre, le CLI devrait fournir un mécanisme de nettoyage automatique du répertoire de copie après l’arrêt du démon, afin de réduire l’encombrement disque. Enfin, la documentation doit clairement indiquer le comportement du démon, les exigences en termes de ressources et les procédures de désactivation.