zn-gate pour Codex CLI

Installez les hooks de zn pour Codex CLI : ils bloquent la lecture des fichiers .env contenant des valeurs et des fichiers d'identifiants, retirent les secrets de la sortie des outils et bloquent les secrets collés dans un prompt.

Voir le .md

Il vous faut Node.js 18 ou plus récent. Collez chaque ligne dans un terminal et appuyez sur Entrée après chacune :

npm install -g zn-gate
zn hooks install codex

Ensuite, ouvrez Codex et approuvez les nouveaux hooks avec /hooks.

Ce que vous obtenez

  • La lecture des fichiers .env contenant des valeurs, des fichiers d'identifiants et de ~/.zn est bloquée, dans les commandes shell comme dans les patchs (apply_patch).
  • La sortie des outils est caviardée avant que le modèle ne la voie. Codex remplace le résultat par sa version caviardée : le modèle reçoit du texte au lieu du résultat structuré.
  • Un secret collé dans un prompt est bloqué.
  • Pour une commande qui utilise un marqueur __ZN_<NAME>__, Codex reçoit la ligne exacte zn run -- ... à utiliser.

Limites

  • Codex décrit ses hooks comme un garde-fou, et non comme une barrière de sécurité. Si le hook de zn ne peut pas s'exécuter, Codex le signale comme en échec, et l'appel ou le prompt passe.
  • Le journal de session propre à Codex conserve la sortie d'origine.
  • Sous Windows, la commande du hook a été lancée à la main depuis PowerShell et depuis l'invite de commandes, et non dans nos tests automatisés.

Placez les valeurs de votre .env dans le coffre chiffré

L'agent ne peut pas lire les fichiers .env contenant de vraies valeurs. Déplacez les valeurs dans le coffre chiffré de zn-gate : le fichier conserve des marqueurs comme __ZN_STRIPE_KEY__ :

zn unlock            # crée le coffre la première fois
zn env shadow .env

Ensuite, votre propre application lit aussi les marqueurs : lancez-la avec la commande run de zn-gate une fois que vous l'avez autorisée. env shadow indique comment annuler. Pour aller plus loin : le coffre.

Vérifiez que ça fonctionne

Dans un nouveau terminal, lancez zn-gate check. Il doit afficher OK pour Codex CLI. Ce que signifie la sortie.

Sous Windows PowerShell, si npm affiche « running scripts is disabled on this system », utilisez npm.cmd et zn.cmd à la place : voir Installer.