zn-gate (local)
Configuración
Variables de entorno, flags de línea de comandos y reglas personalizadas para zn-gate.
zn-gate funciona sin ninguna configuración. Todo lo que aparece a continuación es opcional.
Variables de entorno
| Variable | Valor por defecto | Efecto |
|---|---|---|
ZN_CLOUD |
off | 1 permite que el análisis de prompts (analyze_prompt, zn-gate analyze, analyze() de Python) también consulte al modelo en la nube para obtener una segunda opinión. Requiere ZN_API_KEY. |
ZN_API_KEY |
sin definir | Clave de API del panel de control. Sin efecto si ZN_CLOUD=1 no está definido. |
ZN_LOCAL_ONLY |
sin definir | true fuerza el modo solo local, incluso con ZN_CLOUD=1. |
ZN_STAGE |
v30 |
Endpoint de la nube: v30 (API de producción actual) o prod (endpoint heredado). |
ZN_API_URL |
sin definir | Sobrescribe la URL del endpoint de la nube. Tiene prioridad sobre ZN_STAGE. |
ZN_VERBOSE |
sin definir | Cualquier valor activa el registro de depuración en stderr. |
npx -y zn-gate status muestra el motor activo y lo que envía tu configuración. Consulta Qué sale de tu equipo.
Activar la nube para un único servidor MCP
Añade las variables a la entrada de ese servidor en la configuración de tu agente, por ejemplo en ~/.cursor/mcp.json:
{
"mcpServers": {
"zn-gate": {
"command": "npx",
"args": ["-y", "zn-gate", "mcp"],
"env": { "ZN_CLOUD": "1", "ZN_API_KEY": "zn_live_your_key" }
}
}
}
Flags de línea de comandos
| Flag | Efecto |
|---|---|
--local-only |
No usar nunca la nube, aunque ZN_CLOUD=1 esté definido |
--key <api_key> |
Clave de API para la nube opcional (igual que ZN_API_KEY; sigue necesitando ZN_CLOUD=1) |
--stage v30 o --stage prod, --url <url> |
Selección del endpoint de la nube |
--shadow |
Con init o shield: registra las detecciones sin bloquear ni alterar el tráfico |
--all, --include .rst,.xml, --exclude fixtures |
Controlan qué archivos lee scan |
--verbose |
Registro de depuración en stderr |
Ejecuta npx -y zn-gate --help para ver todas las opciones.
Reglas personalizadas
En el paquete de Node.js, añade patrones prohibidos y rutas prohibidas para tu proyecto en .znrules o zn.config.json, en el directorio desde el que se ejecuta zn-gate:
# .znrules
path:.env.production
path:/etc/secrets
CONFIDENTIAL_INTERNAL_PROJECT_[A-Z0-9]+
Las líneas que empiezan por path: bloquean cualquier entrada que contenga esa ruta. Las demás líneas son expresiones regulares sin distinción de mayúsculas y minúsculas que bloquean cualquier entrada que coincida con ellas. Las líneas que empiezan por # son comentarios. La forma JSON:
{ "bannedPatterns": ["CONFIDENTIAL_INTERNAL_PROJECT_[A-Z0-9]+"], "forbiddenPaths": [".env.production", "/etc/secrets"] }
Los bloqueos causados por reglas personalizadas informan custom:banned_pattern o custom:forbidden_path. El paquete de Python no lee estos archivos.
Archivos que escribe zn-gate
| Archivo | Qué es |
|---|---|
~/.zn/evidence.jsonl |
Registro de auditoría local de las decisiones de shield (detalles) |
<config>.bak.<timestamp> |
Copia de seguridad de cada configuración de agente que modifica init; init --revert restaura la más reciente |