zn-gate (local)
Configuration
Variables d'environnement, options de ligne de commande et règles personnalisées pour zn-gate.
zn-gate fonctionne sans aucune configuration. Tout ce qui suit est facultatif.
Variables d'environnement
| Variable | Valeur par défaut | Effet |
|---|---|---|
ZN_CLOUD |
off | 1 permet à l'analyse des prompts (analyze_prompt, zn-gate analyze, analyze() en Python) de demander aussi un second avis au modèle cloud. Nécessite ZN_API_KEY. |
ZN_API_KEY |
non définie | Clé API issue du tableau de bord. Sans effet si ZN_CLOUD=1 n'est pas défini. |
ZN_LOCAL_ONLY |
non définie | true force le mode local uniquement, même avec ZN_CLOUD=1. |
ZN_STAGE |
v30 |
Point de terminaison cloud : v30 (API de production actuelle) ou prod (point de terminaison historique). |
ZN_API_URL |
non définie | Remplace l'URL du point de terminaison cloud. Prend le pas sur ZN_STAGE. |
ZN_VERBOSE |
non définie | Toute valeur active la journalisation de débogage vers stderr. |
npx -y zn-gate status affiche le moteur actif et ce que votre configuration envoie. Voir Ce qui quitte votre machine.
Activer le cloud pour un seul serveur MCP
Ajoutez les variables à l'entrée de ce serveur dans la configuration de votre agent, par exemple dans ~/.cursor/mcp.json :
{
"mcpServers": {
"zn-gate": {
"command": "npx",
"args": ["-y", "zn-gate", "mcp"],
"env": { "ZN_CLOUD": "1", "ZN_API_KEY": "zn_live_your_key" }
}
}
}
Options de ligne de commande
| Option | Effet |
|---|---|
--local-only |
Ne jamais utiliser le cloud, même si ZN_CLOUD=1 est défini |
--key <api_key> |
Clé API pour le cloud facultatif (identique à ZN_API_KEY ; nécessite toujours ZN_CLOUD=1) |
--stage v30 ou --stage prod, --url <url> |
Sélection du point de terminaison cloud |
--shadow |
Avec init ou shield : journaliser les détections sans bloquer ni modifier le trafic |
--all, --include .rst,.xml, --exclude fixtures |
Contrôlent les fichiers lus par scan |
--verbose |
Journalisation de débogage vers stderr |
Exécutez npx -y zn-gate --help pour voir toutes les options.
Règles personnalisées
Dans le paquet Node.js, ajoutez les motifs interdits et les chemins interdits de votre projet dans .znrules ou zn.config.json, dans le répertoire depuis lequel zn-gate est exécuté :
# .znrules
path:.env.production
path:/etc/secrets
CONFIDENTIAL_INTERNAL_PROJECT_[A-Z0-9]+
Les lignes commençant par path: bloquent toute entrée contenant ce chemin. Les autres lignes sont des expressions régulières insensibles à la casse qui bloquent toute entrée qu'elles reconnaissent. Les lignes commençant par # sont des commentaires. Forme JSON :
{ "bannedPatterns": ["CONFIDENTIAL_INTERNAL_PROJECT_[A-Z0-9]+"], "forbiddenPaths": [".env.production", "/etc/secrets"] }
Les blocages dus aux règles personnalisées signalent custom:banned_pattern ou custom:forbidden_path. Le paquet Python ne lit pas ces fichiers.
Fichiers écrits par zn-gate
| Fichier | Rôle |
|---|---|
~/.zn/evidence.jsonl |
Journal d'audit local des décisions de shield (détails) |
<config>.bak.<timestamp> |
Sauvegarde de chaque configuration d'agent modifiée par init ; init --revert restaure la dernière |