Reach

zn-gate reach muestra lo que tus agentes de código pueden alcanzar en esta máquina (solo nombres, nunca valores), con el comando que corrige cada hallazgo. Solo lectura.

Ver .md

zn-gate reach responde a una pregunta: ¿qué pueden alcanzar los agentes de código de esta máquina? Muestra qué agentes protege zn, los nombres de los secretos de los archivos .env de una carpeta, los archivos de credenciales de tu carpeta personal, las variables de entorno que contienen un secreto y lo que zn audit encuentra en los servidores MCP y en la configuración de los agentes. Cada hallazgo trae el comando que lo corrige.

npx -y zn-gate reach

Ejecútalo en la carpeta en la que trabajas. No envía nada, no arranca ningún hook y no cambia nada.

Qué comprueba

  • Agentes: Claude Code, Codex CLI, Cursor y OpenCode. Indica si cada uno está en esta máquina y si zn lo protege para tu usuario o solo para un proyecto. Usa la comprobación de instalación de zn-gate check y no arranca ningún hook.
  • Archivos .env de la carpeta: los nombres de sus secretos, nunca los valores. Un archivo que es un enlace no se sigue.
  • Archivos de credenciales de tu carpeta personal, como ~/.aws/credentials, las claves SSH, ~/.npmrc y ~/.kube/config. zn solo comprueba si existen. Nunca los abre.
  • Variables de entorno cuyo nombre o valor parece un secreto: solo los nombres.
  • Servidores MCP y configuración de los agentes de esta carpeta y de tu usuario, con las mismas reglas que zn audit.

Ejemplo

En una máquina donde los tres agentes están protegidos, el informe es corto:

zn-gate reach: what can the coding agents on this machine reach?
Read: agent settings in your home folder and this folder, .env files here, names of environment variables. Nothing was sent anywhere.

AGENTS
  Claude Code  protected by zn (run `zn-gate check` to test it)
  Codex CLI    protected by zn (run `zn-gate check` to test it)
  Cursor       protected by zn (run `zn-gate check` to test it)
  OpenCode     not found on this machine

Nothing to fix. Your agents run with zn-gate.

Cuando hay algo que revisar, cada hallazgo tiene una gravedad, una explicación corta y el comando que lo corrige. Esta es la salida real de una ejecución en un proyecto de prueba (secretos y archivo de credenciales de AWS falsos):

zn-gate reach: what can the coding agents on this machine reach?
Read: agent settings in your home folder and this folder, .env files here, names of environment variables. Nothing was sent anywhere.

AGENTS
  Claude Code  not protected
  Codex CLI    not found on this machine
  Cursor       not found on this machine
  OpenCode     not found on this machine
  HIGH   Claude Code is on this machine and zn does not protect it
         It can read any file and run any command you allow.
         Fix: npx -y zn-gate init

WHAT THEY CAN REACH (secrets and credential files an agent could read; names only, never values)
  HIGH   .env in this folder has 2 secrets (OPENAI_API_KEY, DATABASE_URL)
         Claude Code can read them today.
         Fix: npx -y zn-gate env shadow .env
  MEDIUM 1 credential file in your home folder (~/.aws/credentials)
         Claude Code can read them today.
         Fix: npx -y zn-gate init

NEXT: fix the high ones
  1. npx -y zn-gate init
  2. npx -y zn-gate env shadow .env

2 high, 1 medium, 0 low.

La gravedad depende de la instalación. Un .env o un archivo de credenciales es high o medium cuando hay en la máquina un agente que zn todavía no protege. Es low cuando aún no hay ningún agente instalado, y solo informativo cuando zn protege todos los agentes que encuentra. Las variables de entorno son siempre low.

Opciones

Opción Qué hace
[path] La carpeta a revisar. Por defecto, la carpeta actual
--json El mismo informe en JSON
--sarif El informe en SARIF 2.1.0, para code scanning. Los hallazgos sobre archivos de la carpeta revisada son resultados (un .env con secretos que un agente puede leer es ZNR002). Los agentes, los archivos de credenciales y las variables de entorno son notificaciones de la ejecución
--fail-on high|medium|low|none Sale con código 1 si encuentra un hallazgo de ese nivel o superior. Por defecto, none: reach es un informe que sale con 0. Un error de uso o un fallo sale con 2
--remember Guarda los recuentos de esta ejecución (high, medium, low y la fecha) en ~/.zn/reach-last.json, para que la siguiente ejecución con --remember muestre cómo estaban. Sin esta opción, reach no escribe nada

Lo que nunca hace

  • Nunca muestra un valor secreto y nunca abre un archivo de credenciales.
  • No envía nada por la red y no arranca ningún hook.
  • No escribe nada, salvo que pases --remember.

Si la comprobación se queda sin tiempo en una carpeta grande, el informe lo indica. npx -y zn-gate audit --include-home las comprueba todas.

Dónde encaja en la puesta en marcha

  1. zn-gate reach muestra lo que tus agentes pueden alcanzar hoy.
  2. npx -y zn-gate init protege cada agente. Inicio rápido
  3. npx -y zn-gate check comprueba que zn impide a tu agente leer un .env de prueba. Check
  4. npx -y zn-gate env shadow .env pasa los secretos en texto plano de un .env a la bóveda local.

Para corregir un hallazgo, ejecuta el comando que muestra. Para los agentes que no están protegidos, es npx -y zn-gate init. Para las variables de entorno, ejecuta npx -y zn-gate secret set NAME en tu propia terminal y escribe __ZN_NAME__ donde va el valor.