zn-gate para Codex CLI

Instala los hooks de zn para Codex CLI: bloquean la lectura de archivos .env con valores y de archivos de credenciales, limpian la salida de las herramientas y bloquean los secretos pegados en los prompts.

Ver .md

Necesitas Node.js 18 o posterior. Pega cada línea en una terminal y pulsa Intro después de cada una:

npm install -g zn-gate
zn hooks install codex

Después, abre Codex y aprueba los hooks nuevos con /hooks.

Qué obtienes

  • Se bloquean las lecturas de archivos .env con valores, de archivos de credenciales y de ~/.zn, tanto en comandos de shell como en parches (apply_patch).
  • La salida de las herramientas se limpia antes de que la vea el modelo. Codex sustituye el resultado por su texto limpio, así que el modelo recibe texto en lugar del resultado estructurado.
  • Un secreto pegado en un prompt se bloquea.
  • Para un comando que usa un marcador __ZN_<NAME>__, a Codex se le indica la línea exacta de zn run -- ... que debe usar.

Límites

  • Codex llama a sus hooks «a guardrail, not an enforcement boundary» («una barrera de protección, no un límite de cumplimiento obligatorio»). Si el hook de zn no puede ejecutarse, Codex lo indica como fallido y la llamada o el prompt sigue adelante.
  • El registro propio de la sesión de Codex conserva la salida original.
  • En Windows, el comando del hook se ejecutó a mano desde PowerShell y desde el Símbolo del sistema, no en nuestras pruebas automáticas.

Guarda los valores de tu .env en el almacén

El agente no puede leer archivos .env con valores reales. Mueve los valores al almacén cifrado de zn-gate: el archivo conserva marcadores como __ZN_STRIPE_KEY__:

zn unlock            # crea el almacén la primera vez
zn env shadow .env

Después, tu propia app también lee los marcadores: arráncala con el comando run de zn-gate una vez que lo hayas permitido. env shadow te dice cómo deshacerlo. Más información: el almacén.

Comprueba que funciona

En una terminal nueva, ejecuta zn-gate check. Debe mostrar OK para Codex CLI. Qué significa la salida.

En PowerShell de Windows, si npm dice «running scripts is disabled on this system», usa npm.cmd y zn.cmd en lugar de npm y zn: mira Instalación.