Reach
zn-gate reach montre ce que vos agents de code peuvent atteindre sur cette machine (noms seulement, jamais de valeurs), avec la commande qui corrige chaque constat. Lecture seule.
zn-gate reach répond à une question : que peuvent atteindre les agents de code de cette machine ? Il indique quels agents zn protège, les noms des secrets des fichiers .env d’un dossier, les fichiers d’identifiants de votre dossier personnel, les variables d’environnement qui contiennent un secret, et ce que zn audit trouve dans les serveurs MCP et la configuration des agents. Chaque constat donne la commande qui le corrige.
npx -y zn-gate reach
Lancez-le dans le dossier où vous travaillez. Il n’envoie rien, ne démarre aucun hook et ne modifie rien.
Ce qu’il vérifie
- Agents : Claude Code, Codex CLI, Cursor et OpenCode. Il indique si chacun est présent sur la machine et si zn le protège pour votre utilisateur ou seulement pour un projet. Il utilise la vérification d’installation de
zn-gate checket ne démarre aucun hook. - Fichiers
.envdu dossier : les noms de leurs secrets, jamais les valeurs. Un fichier qui est un lien n’est pas suivi. - Fichiers d’identifiants de votre dossier personnel, comme
~/.aws/credentials, les clés SSH,~/.npmrcet~/.kube/config. zn vérifie seulement s’ils existent. Il ne les ouvre jamais. - Variables d’environnement dont le nom ou la valeur ressemble à un secret : noms seulement.
- Serveurs MCP et configuration des agents de ce dossier et de votre utilisateur, avec les mêmes règles que
zn audit.
Exemple
Sur une machine où les trois agents sont protégés, le rapport est court :
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.
Quand quelque chose demande une action, chaque constat a un niveau de gravité, une courte explication et la commande qui le corrige. Voici la sortie réelle d’une exécution sur un projet fictif (secrets et fichier d’identifiants AWS fictifs) :
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.
Le niveau dépend de l’installation. Un .env ou un fichier d’identifiants est high ou medium quand un agent présent sur la machine n’est pas encore protégé par zn. Il est low quand aucun agent n’est encore installé, et information seulement quand zn protège tous les agents qu’il trouve. Les variables d’environnement sont toujours low.
Options
| Option | Ce qu’elle fait |
|---|---|
[path] |
Le dossier à vérifier. Par défaut, le dossier courant |
--json |
Le même rapport au format JSON |
--sarif |
Le rapport au format SARIF 2.1.0, pour le code scanning. Les constats sur des fichiers du dossier vérifié sont des résultats (un .env avec des secrets qu’un agent peut lire est ZNR002). Les agents, les fichiers d’identifiants et les variables d’environnement sont des notifications de l’exécution |
--fail-on high|medium|low|none |
Sort avec le code 1 si un constat de ce niveau ou plus est trouvé. Par défaut, none : reach reste un rapport qui sort avec 0. Une erreur d’utilisation ou un échec sort avec 2 |
--remember |
Garde les compteurs de cette exécution (high, medium, low et la date) dans ~/.zn/reach-last.json, pour que la prochaine exécution avec --remember affiche leurs valeurs précédentes. Sans cette option, reach n’écrit rien |
Ce qu’il ne fait jamais
- Il n’affiche jamais une valeur secrète et n’ouvre jamais un fichier d’identifiants.
- Il n’envoie rien sur le réseau et ne démarre aucun hook.
- Il n’écrit rien, sauf si vous passez
--remember.
Si la vérification manque de temps sur un grand dossier, le rapport l’indique. npx -y zn-gate audit --include-home vérifie tout.
Sa place dans la mise en route
zn-gate reachmontre ce que vos agents peuvent atteindre aujourd’hui.npx -y zn-gate initprotège chaque agent. Démarrage rapidenpx -y zn-gate checkvérifie que zn empêche votre agent de lire un.envde test. Checknpx -y zn-gate env shadow .envdéplace les secrets en clair d’un fichier.envdans le coffre local.
Pour corriger un constat, lancez la commande affichée. Pour les agents non protégés, c’est npx -y zn-gate init. Pour les variables d’environnement, lancez npx -y zn-gate secret set NAME dans votre propre terminal, puis écrivez __ZN_NAME__ à l’endroit où la valeur doit aller.