Referencia de comandos de la CLI de ZeusLock
Todos los comandos de la CLI de ZeusLock en una página: qué hace cada uno, qué cambia, opciones y valores por defecto, ejemplos y códigos de salida.
Todos los comandos de la CLI de ZeusLock, con lo que hacen, lo que cambian y lo que devuelven. La CLI cubre el mismo alcance que el panel — incidentes, agentes, políticas, usuarios, claves, Shadow AI, MCP y SIEM — más dos cosas que el panel no puede hacer: analizar contenido desde un terminal y bloquear un commit de Git antes de que los secretos salgan de un portátil.
Instalación
Requiere Node.js 22.12 o superior. El paquete se publica como zeuslock-dlp-cli e instala un único ejecutable llamado zeuslock.
npm install -g zeuslock-dlp-cli@latest
zeuslock --version
zeuslock --helpPara ejecutarla una vez sin instalar: npm exec --package zeuslock-dlp-cli@latest -- zeuslock status.
Dos credenciales, a propósito
La CLI usa dos credenciales distintas, y elegir la equivocada es el motivo más común de que un comando falle.
| Credencial | Prefijo | Actúa como | Lo usan |
|---|---|---|---|
| Token de acceso CLI personal | zlu_ | Usted, con su rol | Comandos de datos: incidentes, agentes, usuarios, claves, tokens, políticas, Shadow AI, MCP, extensiones, deploy |
| Clave API de organización | zl_ | La organización | Comandos de contenido y máquina: scan, anonymize, hook run, siem pull/tail, verificación de licencia en status |
Un token personal nunca se acepta en comandos de contenido, y una clave de organización nunca se acepta en comandos de datos. La separación es deliberada: los comandos de contenido se ejecutan desatendidos en CI, donde una credencial ligada a una persona dejaría de funcionar en cuanto esa persona se marche.
Obtener un token de acceso CLI personal
La CLI no inicia sesión con correo y contraseña. El backend exige un reto reCAPTCHA al iniciar sesión, que un terminal no puede resolver. Genere un token desde la página CLI del panel, o desde una máquina ya autenticada con zeuslock tokens create.
zeuslock auth login --token zlu_your_cli_access_token
zeuslock whoamiGuardar la clave API de organización
zeuslock auth api-key set zl_your_org_api_key
zeuslock auth api-key statusOpciones globales
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--token <zlu_…> | zlu_… | ninguno | Usa este token en una sola invocación. Debe ir antes del subcomando: zeuslock --token zlu_… whoami. |
-V, --version | — | — | Muestra la versión instalada. |
-h, --help | — | — | Funciona en todos los comandos y subcomandos. |
Variables de entorno
| Variable | Qué hace |
|---|---|
ZEUSLOCK_API_URL | URL del backend. Por defecto https://api.zeuslock.ai. Use https://api-staging.zeuslock.ai para staging. |
ZEUSLOCK_API_TOKEN | Token de acceso CLI personal para comandos de usuario. Ideal para CI. |
ZEUSLOCK_API_KEY | Clave API de organización para comandos de contenido y máquina. |
ZEUSLOCK_CONFIG_DIR | Sustituye dónde guarda sus archivos la CLI. |
Precedencia de credenciales
Si hay más de una, la CLI usa la primera aplicable.
| # | Comandos de usuario | Comandos de contenido |
|---|---|---|
| 1 | --token zlu_… | --api-key zl_… |
| 2 | ZEUSLOCK_API_TOKEN | ZEUSLOCK_API_KEY |
| 3 | Token guardado con auth login --token | Clave guardada con auth api-key set |
Códigos de salida
Cada comando devuelve 0 si tiene éxito y 1 si falla, por lo que cualquier comando puede condicionar un paso de CI. Cuatro comandos devuelven un código distinto de cero significativo, que refleja un hallazgo y no un error: son los que conviene integrar en un pipeline.
| Comando | Distinto de cero significa |
|---|---|
scan | El contenido sensible alcanzó el umbral --fail-on. |
hook run | El commit debe bloquearse. |
rules diff | El archivo de política local difiere del estado en vivo. |
deploy agent-verify | Ningún agente coincide, o no está en el estado esperado. |
status --require-license | Fallo de salud, disponibilidad o validación de licencia. |
Salida
Los comandos imprimen tablas alineadas por defecto. Añada --json para salida legible por máquina — todos los comandos que devuelven datos lo admiten, y el formato es estable. siem pull usa JSONL por defecto (un evento por línea), que es lo que ingieren los colectores SIEM. La CLI nunca imprime un token o clave guardados salvo que use --show-secret.
Dónde guarda sus archivos la CLI
| Archivo | Contenido |
|---|---|
auth.json | Su token de acceso CLI, modo 0600. |
api-key.json | La clave API de organización guardada, modo 0600. |
siem-cursors.json | Posiciones de reanudación de siem tail, una por nombre de cursor. |
Ubicación: macOS ~/Library/Application Support/zeuslock/, Windows %APPDATA%\ZeusLock\, Linux ~/.config/zeuslock/. El directorio se crea con modo 0700 cuando el sistema de archivos lo admite.
zeuslock auth — Iniciar sesión y guardar credenciales
Guarda su token personal y la clave API de organización en esta máquina, y muestra quién es usted.
zeuslock auth login --token
Valida un token de acceso CLI personal y lo guarda para comandos futuros.
Credencial: Ninguno · Impacto: Escribe archivos locales
El token se verifica contra el backend antes de escribirlo, así un error tipográfico falla de inmediato. Se guarda en auth.json con modo 0600. No hay inicio de sesión con correo y contraseña — vea arriba.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--token <zlu_…> | zlu_[object Object] | ninguno | El token de la página CLI del panel. El formato se valida localmente primero. |
--api-url <url> | URL | ZEUSLOCK_API_URL | Backend contra el que validar, guardado junto al token. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock auth login --token zlu_your_cli_access_token
zeuslock auth login --token zlu_… --api-url https://api-staging.zeuslock.aiUn token revocado o caducado devuelve 401. Los tokens no se renuevan: genere uno nuevo y vuelva a ejecutar.
zeuslock auth logout
Elimina el token personal guardado en esta máquina.
Credencial: Ninguno · Impacto: Escribe archivos locales
Borra solo auth.json. Su clave API de organización se mantiene, así que scan, anonymize y los comandos SIEM siguen funcionando. No revoca el token en el servidor — use tokens revoke.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock auth logoutzeuslock auth api-key set [key]
Valida una clave API de organización y la guarda para comandos de contenido y SIEM.
Credencial: Clave API de organización · Impacto: Escribe archivos locales
La clave se verifica contra el backend antes de guardarla, así una clave inválida se rechaza de entrada. Se escribe en api-key.json con modo 0600; el valor completo nunca se vuelve a imprimir.
| Argumento | Obligatorio | Descripción |
|---|---|---|
key | No | La clave zl_…. Si se omite, la CLI lee ZEUSLOCK_API_KEY o la solicita. |
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--api-url <url> | URL | ZEUSLOCK_API_URL | Backend al que pertenece la clave; se guarda con ella. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock auth api-key set zl_your_org_api_key
zeuslock auth api-key set # prompts, so the key stays out of shell historyzeuslock auth api-key status
Muestra si hay una clave API de organización configurada, y cuál.
Credencial: Ninguno · Impacto: Solo lectura
Imprime el origen, la URL del backend y una clave enmascarada. El valor completo nunca se muestra.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock auth api-key statuszeuslock auth api-key clear
Elimina la clave API de organización guardada en esta máquina.
Credencial: Ninguno · Impacto: Escribe archivos locales
Borra api-key.json. La clave sigue siendo válida en el panel — solo se olvida localmente. Los comandos de contenido necesitarán entonces --api-key o ZEUSLOCK_API_KEY.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock auth api-key clearzeuslock auth whoami
Idéntico a zeuslock whoami, para quien lo espera bajo auth.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock auth whoamizeuslock whoami / status — Quién soy y si algo va mal
zeuslock whoami
Muestra la cuenta con la que actúa la CLI.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Devuelve correo, id de usuario, rol, id de organización, estado y la URL del backend. Es el primer comando ante un error de permisos inexplicable: dice con qué cuenta y en qué entorno está realmente.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock whoami
zeuslock whoami --json
zeuslock --token zlu_… whoami # check a token without saving itzeuslock status
Muestra la configuración local, la salud y disponibilidad del backend, y la validez de la licencia.
Credencial: Clave API de organización (para la verificación de licencia) · Impacto: Solo lectura
Un comando que responde "¿soy yo o es el servicio?". La salud y disponibilidad se comprueban sin credenciales; la licencia solo si hay una clave API de organización. Use --require-license en CI para que un backend degradado haga fallar el trabajo.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--api-key <key> | zl_… | ZEUSLOCK_API_KEY | Clave usada en la verificación de licencia. |
--require-license | Booleano | desactivado | Sale distinto de cero salvo que salud, disponibilidad y licencia sean correctas. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock status
zeuslock status --json
zeuslock status --require-license # CI gatezeuslock scan — Comprobar contenido antes de que llegue a una IA
zeuslock scan [path]
Analiza un archivo, un directorio o texto canalizado con la política DLP de su organización.
Credencial: Clave API de organización · Impacto: Solo lectura
Devuelve la misma decisión que el agente y la extensión — allow, alert o block — y registra un incidente cuando encuentra algo, de modo que la actividad del terminal aparece en el panel junto a la del navegador. Los directorios se recorren localmente, se omite .git y los archivos se envían en lotes de cinco. El código de salida sigue a --fail-on, lo que permite usarlo como barrera de CI.
| Argumento | Obligatorio | Descripción |
|---|---|---|
path | No | Archivo o directorio a analizar. Obligatorio salvo con --stdin; ambos son excluyentes. |
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--stdin | Booleano | desactivado | Lee texto de la entrada estándar en lugar de una ruta. |
--api-key <key> | zl_… | [object Object]ZEUSLOCK_API_KEY | Clave API de organización para autenticar esta llamada. |
--fail-on <decision> | alert | block | never | block | Qué decisión hace que el comando salga distinto de cero. alert es estricto (falla en alertas y bloqueos), never siempre sale 0 para ejecuciones informativas. |
--source <source> | Cualquier texto | cli | Etiqueta de origen registrada en el incidente. |
--platform <platform> | Cualquier texto | cli | Etiqueta de plataforma enviada con la solicitud. La columna de plataforma del incidente se deriva de la URL, por lo que este valor no se guarda en él. |
--hostname <hostname> | Cualquier texto | nombre de host local | Nombre de host registrado en el incidente. |
--path <path> | Cualquier texto | /cli/<file> | Etiqueta de destino registrada en el incidente; se normaliza para empezar por barra. |
--user-email <email> | Cualquier texto | ninguno | Atribuye el incidente a una persona en vez de dejarlo anónimo. Conviene en CI. |
--include-sensitive | Booleano | desactivado | Incluye el mapa de anonimización del backend en la salida JSON. Contiene los valores originales: trate esa salida como sensible. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock scan ./secrets.txt
zeuslock scan ./src --fail-on alert
cat prompt.txt | zeuslock scan --stdin --json
zeuslock scan ./build --fail-on never --user-email ci@example.comCada análisis que encuentra algo crea un incidente en el panel. Analizar un árbol grande repetidamente en CI llenará la cronología de incidentes: acote la ruta.
zeuslock anonymize — Eliminar valores sensibles de un texto
zeuslock anonymize <file>
Sustituye los valores sensibles de un archivo de texto UTF-8 por equivalentes realistas.
Credencial: Clave API de organización · Impacto: Solo lectura
A diferencia de scan, esta reescribe el contenido en vez de juzgarlo, y no registra ningún incidente. Los sustitutos son valores plausibles de la misma forma — un número de tarjeta se convierte en otro de aspecto válido — así el texto sigue sirviendo como prompt o dato de prueba. Úselo para compartir un documento real con un LLM externo sin filtrar los valores reales.
| Argumento | Obligatorio | Descripción |
|---|---|---|
file | Sí | Archivo de texto UTF-8 a anonimizar. |
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--api-key <key> | zl_… | [object Object]ZEUSLOCK_API_KEY | Clave API de organización para autenticar esta llamada. |
--output <path> | Ruta escribible | salida estándar | Escribe el texto anonimizado en un archivo en vez de imprimirlo. |
--include-sensitive-map | Booleano | desactivado | Incluye los pares original/enmascarado en la salida JSON. Esto revela los valores reales: trátelo en consecuencia. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock anonymize customer-data.txt
zeuslock anonymize customer-data.txt --output customer-data.safe.txt
zeuslock anonymize customer-data.txt --jsonzeuslock hook — Bloquear secretos en el commit, no en la revisión
Instala un hook pre-commit de Git que analiza el contenido preparado y rechaza el commit cuando la política DLP lo indica.
zeuslock hook install
Escribe el hook pre-commit de ZeusLock en un repositorio.
Credencial: Ninguno · Impacto: Escribe archivos locales
Crea .git/hooks/pre-commit con modo 0755, que llama a zeuslock hook run. Se niega a sobrescribir un hook existente salvo con --force, así que no destruirá en silencio el hook de otra herramienta. El hook es local al clon — no se comparte por Git, cada persona lo instala una vez.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--repo <path> | Ruta | repositorio actual | Repositorio destino. |
--fail-on <decision> | alert | block | alert | Umbral escrito en el hook. Por defecto estricto: las alertas también detienen el commit. |
--force | Booleano | desactivado | Reemplaza un hook pre-commit existente. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock hook install
zeuslock hook install --fail-on block --forcezeuslock hook run
Analiza los cambios preparados y decide si el commit puede continuar.
Credencial: Clave API de organización · Impacto: Solo lectura
Lee los blobs preparados, no el árbol de trabajo, así que se analiza exactamente lo que se enviaría — editar un archivo después de prepararlo no permite colar contenido. Solo se analizan archivos añadidos, copiados, modificados y renombrados; se ignoran los no rastreados, no preparados y eliminados, igual que el historial. Sale distinto de cero para detener el commit.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--repo <path> | Ruta | repositorio actual | Repositorio a analizar. |
--api-key <key> | zl_… | [object Object]ZEUSLOCK_API_KEY | Clave API de organización para autenticar esta llamada. |
--fail-on <decision> | alert | block | never | alert | Umbral que detiene el commit. |
--user-email <email> | Cualquier texto | ninguno | Atribuye el incidente a una persona. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock hook run
zeuslock hook run --fail-on block --json
git commit -m 'feature' # the hook runs automaticallyEl hook necesita una clave API de organización al hacer commit. Guarde una con `auth api-key set` para que funcione desde una GUI de Git, donde no suele haber variables de entorno.
zeuslock incidents — Qué se detectó y con qué frecuencia
Los mismos datos que la página Incidentes del panel. Los filtros se aplican localmente tras obtener una ventana de días, por eso los valores de días son fijos.
zeuslock incidents list
Lista incidentes recientes con filtros equivalentes al panel.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Los prompts limpios se ocultan, igual que en el panel: una fila se conserva solo si tiene hallazgos, fue bloqueada o tiene una acción distinta de allowed. --days 90 requiere plan Business o Enterprise.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Ventana de historial. Otros valores se rechazan antes de la solicitud. |
--severity <level> | critical | warning | ninguno | La gravedad sigue el resultado de la política, no la puntuación del detector: critical significa solicitud bloqueada, warning todo lo demás. Coincide con lo que muestra el panel. |
--search <text> | Cualquier texto | ninguno | Filtra por correo, URL o tipo de hallazgo. |
--jailbreak | Booleano | desactivado | Conserva solo incidentes con un hallazgo de intento de jailbreak. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock incidents list --days 7
zeuslock incidents list --severity critical
zeuslock incidents list --jailbreak --jsonzeuslock incidents stats
Muestra estadísticas agregadas de incidentes.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Desglose por gravedad, tipos de datos detectados, cronología diaria y uso por plataforma de IA — las cifras del resumen del panel, en una pantalla.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--days <days> | 1 | 7 | 30 | 365 | 30 | Ventana estadística. 365 requiere plan Business o Enterprise. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock incidents stats
zeuslock incidents stats --days 365 --jsonzeuslock incidents export
Escribe los incidentes filtrados en un archivo CSV o JSON.
Credencial: Token de acceso CLI personal · Impacto: Escribe archivos locales
Genera el archivo de evidencia que pide un auditor. El CSV incluye severity (el resultado de política que muestra el panel) y risk_level (la puntuación bruta del detector) — difieren legítimamente, y conservar ambos evita perder información. La exportación requiere plan Business o Enterprise.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Ventana de historial. |
--severity <level> | critical | warning | ninguno | La gravedad sigue el resultado de la política, no la puntuación del detector: critical significa solicitud bloqueada, warning todo lo demás. Coincide con lo que muestra el panel. |
--search <text> | Cualquier texto | ninguno | Filtra por correo, URL o tipo de hallazgo. |
--jailbreak | Booleano | desactivado | Conserva solo incidentes con un hallazgo de intento de jailbreak. |
--format <format> | csv | json | csv | Formato de salida. |
--output <path> | Ruta escribible | incidents-<timestamp>.<ext> | Archivo de destino. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock incidents export --days 7
zeuslock incidents export --days 30 --severity critical --format json --output incidents.jsonzeuslock agents / extensions — ¿Está la flota realmente protegida?
zeuslock agents list
Lista los agentes de escritorio inscritos y su estado de latido.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Muestra host, plataforma, versión, estado en línea y último latido, más un marcador update_available si hay una versión más reciente. Un agente cuenta como en línea si se comunicó en los últimos cinco minutos. Así se detectan las máquinas que dejaron de reportar.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--status <status> | all | online | offline | all | Filtro de latido. |
--search <text> | Cualquier texto | ninguno | Busca solo en host y plataforma. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock agents list
zeuslock agents list --status offline
zeuslock agents list --search windows --jsonzeuslock agents revoke <agent_id>
Revoca un agente de escritorio inscrito.
Credencial: Token de acceso CLI personal · Impacto: Cambia el estado de la organización
El agente pierde su inscripción y deja de ser de confianza para el backend. Úselo cuando se pierda o retire un portátil. Pide confirmación salvo que use --yes.
| Argumento | Obligatorio | Descripción |
|---|---|---|
agent_id | Sí | Id exacto de agents list. |
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
-y, --yes | Booleano | desactivado | Omite la confirmación. Obligatorio en scripts y CI. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock agents revoke AGENT-123
zeuslock agents revoke AGENT-123 --yes --jsonzeuslock extensions status
Muestra las extensiones de navegador activas.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Cuenta extensiones y usuarios vistos en los últimos 30 minutos. Un recuento bajo frente a una flota grande suele indicar que la política de instalación forzada no llegó a esos navegadores.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock extensions status --jsonzeuslock users / keys / tokens — Quién tiene acceso, y con qué
Tres cosas distintas: personas, claves API de organización y tokens CLI personales. Eliminar a una persona no revoca una clave que creó.
zeuslock users list
Lista las personas de su organización.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Muestra correo, rol, estado, indicador de actividad y fecha de creación. Los roles se validan contra los que expone su plan, así que un rol inválido se rechaza en vez de no coincidir con nada.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--search <text> | Cualquier texto | ninguno | Filtro local por correo, rol, estado y nombre. |
--role <role> | admin, user, viewer… | ninguno | Validado contra los roles que expone su plan. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock users list
zeuslock users list --role admin
zeuslock users list --search alice --jsonzeuslock users remove <user>
Elimina a una persona de la organización.
Credencial: Token de acceso CLI personal · Impacto: Cambia el estado de la organización
Se aplican dos protecciones en el servidor, no anulables: no puede eliminarse a sí mismo ni al último administrador activo. Acepta un id o un correo, resuelto antes contra la lista de usuarios.
| Argumento | Obligatorio | Descripción |
|---|---|---|
user | Sí | Id de usuario o correo. |
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
-y, --yes | Booleano | desactivado | Omite la confirmación. Obligatorio en scripts y CI. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock users remove departing@example.com
zeuslock users remove user-uuid --yes --jsonzeuslock keys list
Lista las claves API de organización.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Los valores se enmascaran por defecto. --show-secret solo imprime valores completos de claves que el backend aún puede descifrar; las antiguas pueden mostrarse siempre enmascaradas.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--status <status> | all | active | revoked | all | Filtro local de estado. |
--show-secret | Booleano | desactivado | Revela los valores completos disponibles. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock keys list
zeuslock keys list --status active
zeuslock keys list --show-secret --jsonzeuslock keys create --name <name>
Crea una nueva clave API de organización.
Credencial: Token de acceso CLI personal · Impacto: Cambia el estado de la organización
La clave completa se devuelve una sola vez, en esta respuesta. Cópiela de inmediato: la CLI no podrá volver a mostrarla si el backend deja de devolverla.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--name <name> | Cualquier texto | ninguno | Obligatorio. Nómbrela según dónde se usará, para poder revocarla con confianza después. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock keys create --name ci-pipeline
zeuslock keys create --name fleet-deploy --jsonzeuslock keys revoke <key_id>
Revoca una clave API de organización activa.
Credencial: Token de acceso CLI personal · Impacto: Cambia el estado de la organización
Todo lo que use la clave deja de funcionar de inmediato: agentes configurados con ella, trabajos de CI, hooks. La CLI se niega a actuar sobre una clave ya revocada, porque un segundo delete destruye el registro de forma permanente en vez de revocarlo.
| Argumento | Obligatorio | Descripción |
|---|---|---|
key_id | Sí | Id de keys list. |
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
-y, --yes | Booleano | desactivado | Omite la confirmación. Obligatorio en scripts y CI. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock keys revoke key-uuid --yeszeuslock tokens list
Lista sus tokens de acceso CLI personales.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Muestra nombre, valor enmascarado, estado, caducidad y último uso. La columna de último uso es la forma más rápida de encontrar tokens que se pueden revocar sin riesgo.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--status <status> | all | active | revoked | expired | all | Filtro local de estado. |
--show-secret | Booleano | desactivado | Revela los valores completos cuando el backend los devuelve. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock tokens list
zeuslock tokens list --status expiredzeuslock tokens create --name <name>
Crea un token de acceso CLI personal.
Credencial: Token de acceso CLI personal · Impacto: Cambia el estado de la organización
El token zlu_… completo se devuelve una sola vez. Es la alternativa programable a la página CLI del panel — útil para emitir un token de corta duración a un trabajo de CI desde una máquina ya autenticada.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--name <name> | 1-255 caracteres | ninguno | Obligatorio. Identifica el token en la lista. |
--expires-in-days <days> | 1-365 | predeterminado del backend (90) | Duraciones cortas son mejores para CI. Los valores fuera de rango se rechazan localmente. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock tokens create --name work-laptop
zeuslock tokens create --name ci-job --expires-in-days 30 --jsonzeuslock tokens revoke <token_id>
Revoca un token de acceso CLI personal.
Credencial: Token de acceso CLI personal · Impacto: Cambia el estado de la organización
El token devuelve 401 desde la siguiente solicitud. El registro se conserva y sigue visible como revocado — es el paso a usar cuando se pierde un portátil.
| Argumento | Obligatorio | Descripción |
|---|---|---|
token_id | Sí | Id de tokens list. |
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
-y, --yes | Booleano | desactivado | Omite la confirmación. Obligatorio en scripts y CI. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock tokens revoke token-uuid --yeszeuslock tokens purge <token_id>
Elimina permanentemente un token CLI ya revocado.
Credencial: Token de acceso CLI personal · Impacto: Cambia el estado de la organización
Elimina el registro por completo, así que desaparece de la lista y de cualquier vista de auditoría. El token debe estar revocado antes — la CLI se niega a purgar uno activo, lo que hace imposible destruir por accidente una credencial en uso en un solo paso.
| Argumento | Obligatorio | Descripción |
|---|---|---|
token_id | Sí | Id de un token revocado. |
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
-y, --yes | Booleano | desactivado | Omite la confirmación. Obligatorio en scripts y CI. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock tokens revoke token-uuid --yes
zeuslock tokens purge token-uuid --yeszeuslock rules — Política como código
Exporta el estado de las políticas a un archivo revisable y detecta desviaciones. Solo lectura — la CLI nunca reescribe políticas.
zeuslock rules get
Exporta el estado actual de las políticas DLP como YAML o JSON.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
La salida está normalizada: orden determinista y campos volátiles como created_at, updated_at y org_id eliminados, así que dos exportaciones de una política sin cambios son idénticas byte a byte. Eso hace que el archivo sea apto para versionar y comparar.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--scope <scope> | policies | default | policy | policies | policies exporta todas las políticas visibles y los grupos de asignación; default solo la política por defecto; policy un único documento. |
--policy-id <id> | Cualquier texto | ninguno | Obligatorio con --scope policy. |
--format <format> | yaml | json | yaml | Formato de exportación. |
--output <path> | Ruta escribible | salida estándar | Escribe en un archivo en vez de imprimir. |
zeuslock rules get --output zeuslock.rules.yaml
zeuslock rules get --scope default --format json
zeuslock rules get --scope policy --policy-id defaultzeuslock rules diff [file]
Compara un archivo de política local con el estado en vivo.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Sale 0 si coinciden y 1 si difieren, mostrando un diff por ruta. Ejecútelo en CI contra una exportación versionada para detectar cambios de política hechos en el panel sin revisión.
| Argumento | Obligatorio | Descripción |
|---|---|---|
file | No | YAML o JSON exportado. Por defecto zeuslock.rules.yaml, luego .yml, luego .json. |
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--scope <scope> | policies | default | policy | policies | Debe coincidir con el ámbito registrado en el archivo. |
--policy-id <id> | Cualquier texto | ninguno | Obligatorio con --scope policy. |
--format <format> | text | json | text | Formato de salida del diff. |
zeuslock rules diff zeuslock.rules.yaml
zeuslock rules diff --scope default zeuslock.default.rules.yaml
zeuslock rules diff policy.json --scope policy --policy-id default --format jsonzeuslock siem — Enviar eventos a su SIEM
Recupera eventos DLP en formato OCSF. Estos comandos solo leen — los destinos SIEM como Splunk, Sentinel y Elastic se configuran en el panel.
zeuslock siem pull
Recupera una página de eventos OCSF.
Credencial: Clave API de organización · Impacto: Solo lectura
Imprime JSONL por defecto — un evento por línea — que es lo que ingieren los colectores SIEM. La respuesta incluye un next_cursor; devuélvalo con --since para paginar. Úselo para recargas y consultas puntuales.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--api-key <key> | zl_… | [object Object]ZEUSLOCK_API_KEY | Clave API de organización para esta llamada. |
--since <cursor> | Cadena de cursor | ninguno | Un next_cursor de una respuesta anterior. No es una fecha. |
--from <time> | Fecha/hora ISO o epoch | ninguno | Inicio de la ventana. |
--to <time> | Fecha/hora ISO o epoch | ninguno | Fin de la ventana. |
--days <n> | Entero positivo | ninguno | Retrocede tantos días. Excluyente con --from. |
--category <value> | dlp | ninguno | Categoría del evento. Los eventos actuales usan dlp. |
--severity <level> | unknown | low | medium | high | critical | ninguno | Se trata como gravedad mínima, no coincidencia exacta. |
--limit <n> | 1-500 | 100 | Tamaño de página. Se valida antes de la solicitud. |
--format <format> | jsonl | json | jsonl | jsonl se canaliza a colectores; json devuelve un sobre con next_cursor. |
zeuslock siem pull --limit 100
zeuslock siem pull --days 7 --severity high --category dlp
zeuslock siem pull --format json | jq .next_cursorzeuslock siem tail
Sondea continuamente y emite los eventos nuevos según llegan.
Credencial: Clave API de organización · Impacto: Lee continuamente hasta detenerse
Se ejecuta hasta que lo detenga, guardando su posición en siem-cursors.json tras cada sondeo, así un reinicio reanuda sin duplicar ni omitir eventos. No hay un endpoint de streaming detrás — hace sondeo. Dé a cada consumidor su propio --cursor-name para que dos pipelines no compitan por una posición.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--api-key <key> | zl_… | [object Object]ZEUSLOCK_API_KEY | Clave API de organización para esta llamada. |
--since <cursor> | Cadena de cursor | cursor guardado | Sustituye la posición guardada en esta ejecución. |
--category <value> | dlp | ninguno | También forma parte de la identidad del cursor. |
--severity <level> | unknown…critical | ninguno | Gravedad mínima; también parte de la identidad del cursor. |
--limit <n> | 1-500 | 100 | Tamaño de página por sondeo. |
--interval <seconds> | Número positivo | 5 | Segundos entre sondeos. |
--cursor-name <name> | Cualquier texto | default | Espacio de nombres de la posición guardada de este consumidor. |
--reset-cursor | Booleano | desactivado | Ignora la posición guardada y reproduce desde el principio. |
--max-polls <count> | Entero positivo | ninguno | Se detiene tras ese número de ciclos en vez de ejecutarse indefinidamente. Útil en un cron. |
zeuslock siem tail --category dlp
zeuslock siem tail --cursor-name splunk-prod --interval 10
zeuslock siem tail --max-polls 12 --interval 5 # ~1 minute, then exitzeuslock shadow-ai — Herramientas de IA que nadie aprobó
Vista de solo lectura de la página Shadow AI del panel. Disponible solo si Shadow AI está habilitado en su organización; si no, los comandos lo indican y no llaman a la API de datos.
zeuslock shadow-ai stats
Totales KPI del uso de herramientas de IA no aprobadas.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Totales y variación entre periodos, para saber si el uso en la sombra crece tras anunciar una política.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Ventana de historial. |
--source <source> | all | endpoint | browser | both | all | Dónde se observó el uso. |
--status <status> | all | sanctioned | shadow | all | shadow significa que la herramienta no está aprobada. |
--category <category> | all | chatbot | coding_assistant | image_gen | agent | other | all | Categoría de herramienta. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock shadow-ai stats
zeuslock shadow-ai stats --days 7 --status shadow --category chatbotzeuslock shadow-ai tools
Lista las herramientas de IA detectadas en su entorno.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Herramienta, categoría, estado de política, origen, número de usuarios, de conexiones y puntuación de riesgo — la lista para decidir qué aprobar o bloquear.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Ventana de historial. |
--source <source> | all | endpoint | browser | both | all | Dónde se observó el uso. |
--status <status> | all | sanctioned | shadow | all | shadow significa que la herramienta no está aprobada. |
--category <category> | all | chatbot | coding_assistant | image_gen | agent | other | all | Categoría de herramienta. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock shadow-ai tools --status shadow
zeuslock shadow-ai tools --category coding_assistant --jsonzeuslock shadow-ai users
Lista las personas que usan herramientas de IA en la sombra.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Usuario, número de herramientas distintas y la más usada. Sirve para encontrar equipos que necesitan una alternativa aprobada, no para señalar personas.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Ventana de historial. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock shadow-ai users --days 7 --jsonzeuslock mcp — Actividad de Model Context Protocol
A qué se conectaron los agentes de IA y qué se les permitió hacer. El backend solo guarda metadatos saneados y hashes no reversibles, así que aquí nunca se exponen prompts ni cargas de herramientas.
zeuslock mcp stats
Totales KPI de la actividad MCP.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Eventos, llamadas a herramientas, bloqueos y alertas, servidores activos y usuarios afectados, agrupados por transporte, dirección y método.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Ventana de historial. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock mcp stats --days 7 --jsonzeuslock mcp events
Lista eventos de auditoría MCP individuales.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Paginado a 50 filas. Siga next_cursor con --cursor para recorrer una ventana mayor.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Ventana de historial. |
--transport <transport> | all | http | sse | stdio | all | Cómo se conectó el agente. |
--direction <direction> | all | client_to_server | server_to_client | all | Dirección del mensaje. |
--decision <decision> | all | allow | alert | block | all | Qué decidió la política. |
--method <method> | tools/call… | ninguno | Nombre exacto del método MCP. |
--search <text> | Cualquier texto | ninguno | Busca servidor, herramienta, usuario, método, host y ruta. |
--cursor <cursor> | Cadena de cursor | ninguno | Continúa desde una página anterior. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock mcp events --decision block
zeuslock mcp events --transport stdio --method tools/call --jsonzeuslock mcp servers
Lista los servidores MCP descubiertos en su entorno.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Un inventario sin duplicados sobre una ventana fija de 90 días — la respuesta a "¿a qué ha conectado alguien un agente?".
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock mcp servers --jsonzeuslock deploy — Desplegar en una flota y luego comprobarlo
zeuslock deploy generate (alias: gpo-config)
Genera los archivos de configuración gestionada que inscriben máquinas automáticamente.
Credencial: Token de acceso CLI personal · Impacto: Escribe archivos locales
Solo escribe archivos locales — no se envía nada a Active Directory, Intune ni Jamf. Distribúyalos con la herramienta que ya use y las máquinas llegarán apuntando a su organización, sin configuración por usuario. Los archivos con la clave API se escriben con modo 0600; la clave nunca se imprime ni se escribe en deployment-summary.json.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--artifact <set> | all | extension | agent | all | Qué archivos generar. Los artefactos de extensión requieren plan Business o Enterprise. |
--browser <browser> | all | chrome | edge | all | Solo se aplica a los artefactos de extensión. |
--output <dir> | Ruta | zeuslock-deploy | Directorio de salida. Los archivos con el mismo nombre se sobrescriben. |
--api-key <key> | zl_… | ninguno | Clave a incrustar. Máxima precedencia. |
--key-id <id> | Cualquier texto | ninguno | Usa una clave existente de keys list. |
--create-key-name <name> | Cualquier texto | ninguno | Crea una clave nueva y la incrusta. Cambia el estado de la organización. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock deploy generate --key-id key-uuid
zeuslock deploy generate --artifact agent --output ./rollout
zeuslock deploy generate --artifact extension --browser chrome --create-key-name fleet-2026Si su organización tiene más de una clave activa, el comando no adivina — indique --key-id, --api-key o --create-key-name.
La configuración de la extensión se entrega en dos archivos separados a propósito: la política del navegador controla la instalación, mientras que la clave API viaja en el archivo de configuración gestionada. Despliegue ambos, o la extensión se instalará y luego pedirá a cada usuario que la configure.
zeuslock deploy agent-verify
Confirma que las máquinas se inscribieron y están comunicando.
Credencial: Token de acceso CLI personal · Impacto: Solo lectura
Sale distinto de cero salvo que exista un agente coincidente en el estado esperado, así puede condicionar un script de despliegue. Devuelve verified, offline, online o not_found — distinguir entre "nunca llegó" y "llegó y se calló" indica si falla el despliegue o la máquina.
| Opción | Valores | Predeterminado | Qué hace |
|---|---|---|---|
--agent-id <id> | Cualquier texto | ninguno | Coincidencia exacta de id. |
--hostname <name> | Cualquier texto | ninguno | Coincidencia exacta de host, sin distinguir mayúsculas. |
--platform <platform> | windows | macos | linux | ninguno | Filtro de plataforma. |
--status <status> | online | offline | any | online | Estado esperado. Use any para comprobar la inscripción sin exigir latido activo. |
--json | Booleano | desactivado | Imprime JSON legible por máquina en lugar de una tabla. |
zeuslock deploy agent-verify --hostname LAPTOP-01
zeuslock deploy agent-verify --platform windows --status any --jsonSolución de problemas
| Qué ve | Qué significa | Qué hacer |
|---|---|---|
Not logged in. Run `zeuslock auth login` first. | No hay token personal guardado en esta máquina. | Genere uno en la página CLI y ejecute zeuslock auth login --token zlu_…. |
invalid CLI token | El token está revocado, caducado o pertenece a otro entorno. | Los tokens son específicos del entorno: un token de staging devuelve 401 en producción. Revise ZEUSLOCK_API_URL y emita un token nuevo. |
API key is required. | Un comando de contenido se ejecutó sin clave API de organización. | Un token personal no sirve para scan, anonymize, hook run ni SIEM. Ejecute zeuslock auth api-key set. |
Multiple active API keys are available. | deploy generate no adivina qué clave incrustar. | Indique --key-id, --api-key o --create-key-name. |
| Un comando pide 90 o 365 días y se niega. | Las ventanas largas y la exportación dependen del plan. | Se requiere Business o Enterprise. Las ventanas cortas siguen funcionando. |
| Un comando se queda colgado. | siem tail sondea hasta detenerse; es lo esperado. | Pulse Ctrl-C, o use --max-polls para una ejecución acotada. |
Trabajar contra staging
Las credenciales son específicas de cada entorno y no se intercambian. Apunte la CLI a staging y autentíquese con un token de staging.
export ZEUSLOCK_API_URL="https://api-staging.zeuslock.ai"
zeuslock auth login --token zlu_your_staging_token
zeuslock statusLo que la CLI deliberadamente no hace
La CLI refleja el panel y el backend en lugar de inventar funciones. Lo siguiente falta a propósito, para que no lo busque:
| No disponible | Motivo |
|---|---|
| Inicio de sesión con correo y contraseña | El endpoint de inicio de sesión exige un reCAPTCHA que un terminal no puede resolver. |
| Aplicar o editar políticas | rules solo exporta y compara; los cambios de política se hacen en el panel, donde se revisan. |
| Configurar destinos SIEM | Las conexiones de Splunk, Sentinel y Elastic se gestionan en el panel. La CLI solo lee eventos. |
| Rotar una clave o token en un paso | No hay un endpoint de rotación atómica. Cree el reemplazo, mueva el tráfico y luego revoque el anterior. |
| Eliminación masiva de usuarios | El backend elimina un usuario a la vez, y las protecciones se aplican a cada uno. |
| Generación de instaladores | deploy generate produce archivos de configuración. Descargue los instaladores desde el panel. |