Référence des commandes de la CLI ZeusLock
Toutes les commandes de la CLI ZeusLock sur une page : effet, modifications, options et valeurs par défaut, exemples et codes de sortie.
Toutes les commandes de la CLI ZeusLock, avec leur effet, ce qu'elles modifient et ce qu'elles renvoient. La CLI couvre le même périmètre que le tableau de bord — incidents, agents, politiques, utilisateurs, clés, Shadow AI, MCP et SIEM — plus deux capacités absentes du tableau de bord : analyser du contenu depuis un terminal et bloquer un commit Git avant que des secrets ne quittent un poste.
Installation
Nécessite Node.js 22.12 ou plus récent. Le paquet est publié sous le nom zeuslock-dlp-cli et installe un exécutable unique nommé zeuslock.
npm install -g zeuslock-dlp-cli@latest
zeuslock --version
zeuslock --helpPour l'exécuter une fois sans installation : npm exec --package zeuslock-dlp-cli@latest -- zeuslock status.
Deux identifiants, volontairement
La CLI utilise deux identifiants distincts ; choisir le mauvais est la cause la plus fréquente d'échec d'une commande.
| Identifiant | Préfixe | Agit en tant que | Utilisé par |
|---|---|---|---|
| Jeton d'accès CLI personnel | zlu_ | Vous, avec votre rôle | Commandes de données : incidents, agents, utilisateurs, clés, jetons, politiques, Shadow AI, MCP, extensions, deploy |
| Clé API d'organisation | zl_ | L'organisation | Commandes de contenu et machine : scan, anonymize, hook run, siem pull/tail, vérification de licence dans status |
Un jeton personnel n'est jamais accepté pour les commandes de contenu, et une clé d'organisation n'est jamais acceptée pour les commandes de données. Cette séparation est volontaire : les commandes de contenu s'exécutent sans surveillance en CI, où un identifiant lié à une personne cesserait de fonctionner dès son départ.
Obtenir un jeton d'accès CLI personnel
La CLI ne se connecte pas avec un e-mail et un mot de passe. Le backend impose un contrôle reCAPTCHA à la connexion, qu'un terminal ne peut pas résoudre. Générez un jeton depuis la page CLI du tableau de bord, ou depuis une machine déjà authentifiée avec zeuslock tokens create.
zeuslock auth login --token zlu_your_cli_access_token
zeuslock whoamiEnregistrer la clé API d'organisation
zeuslock auth api-key set zl_your_org_api_key
zeuslock auth api-key statusOptions globales
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--token <zlu_…> | zlu_… | aucun | Utilise ce jeton pour une seule invocation. Doit précéder la sous-commande : zeuslock --token zlu_… whoami. |
-V, --version | — | — | Affiche la version installée. |
-h, --help | — | — | Fonctionne sur chaque commande et sous-commande. |
Variables d'environnement
| Variable | Effet |
|---|---|
ZEUSLOCK_API_URL | URL du backend. Défaut https://api.zeuslock.ai. Utilisez https://api-staging.zeuslock.ai pour la préproduction. |
ZEUSLOCK_API_TOKEN | Jeton d'accès CLI personnel pour les commandes utilisateur. Idéal en CI. |
ZEUSLOCK_API_KEY | Clé API d'organisation pour les commandes de contenu et machine. |
ZEUSLOCK_CONFIG_DIR | Remplace l'emplacement de stockage de la CLI. |
Priorité des identifiants
Si plusieurs sont présents, la CLI utilise le premier applicable.
| # | Commandes utilisateur | Commandes de contenu |
|---|---|---|
| 1 | --token zlu_… | --api-key zl_… |
| 2 | ZEUSLOCK_API_TOKEN | ZEUSLOCK_API_KEY |
| 3 | Jeton enregistré via auth login --token | Clé enregistrée via auth api-key set |
Codes de sortie
Chaque commande renvoie 0 en cas de succès et 1 en cas d'échec, ce qui permet de conditionner une étape de CI. Quatre commandes renvoient un code non nul significatif, qui traduit un résultat et non une erreur — ce sont celles à brancher dans un pipeline.
| Commande | Code non nul signifie |
|---|---|
scan | Du contenu sensible a atteint le seuil --fail-on. |
hook run | Le commit doit être bloqué. |
rules diff | Le fichier de politique local diffère de l'état en ligne. |
deploy agent-verify | Aucun agent ne correspond, ou il n'est pas dans l'état attendu. |
status --require-license | Santé, disponibilité ou validation de licence en échec. |
Sortie
Les commandes affichent des tableaux alignés par défaut. Ajoutez --json pour une sortie exploitable par machine — toutes les commandes qui renvoient des données le prennent en charge, et le format est stable. siem pull produit du JSONL par défaut (un événement par ligne), format attendu par les collecteurs SIEM. La CLI n'affiche jamais un jeton ou une clé enregistrés, sauf avec --show-secret.
Où la CLI stocke ses fichiers
| Fichier | Contenu |
|---|---|
auth.json | Votre jeton d'accès CLI, mode 0600. |
api-key.json | La clé API d'organisation enregistrée, mode 0600. |
siem-cursors.json | Positions de reprise pour siem tail, une par nom de curseur. |
Emplacement : macOS ~/Library/Application Support/zeuslock/, Windows %APPDATA%\ZeusLock\, Linux ~/.config/zeuslock/. Le répertoire est créé en 0700 lorsque le système de fichiers le permet.
zeuslock auth — Connexion et stockage des identifiants
Enregistre votre jeton personnel et la clé API d'organisation sur cette machine, et indique qui vous êtes.
zeuslock auth login --token
Valide un jeton d'accès CLI personnel et l'enregistre pour les commandes suivantes.
Identifiant: Aucun · Effet: Écrit des fichiers locaux
Le jeton est vérifié auprès du backend avant écriture : une faute de frappe échoue tout de suite. Il est enregistré dans auth.json en mode 0600. La connexion par e-mail et mot de passe n'existe pas — voir plus haut.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--token <zlu_…> | zlu_[object Object] | aucun | Le jeton de la page CLI du tableau de bord. Le format est validé localement. |
--api-url <url> | URL | ZEUSLOCK_API_URL | Backend de validation, stocké avec le jeton. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock auth login --token zlu_your_cli_access_token
zeuslock auth login --token zlu_… --api-url https://api-staging.zeuslock.aiUn jeton révoqué ou expiré renvoie 401. Les jetons ne se renouvellent pas : générez-en un nouveau et relancez.
zeuslock auth logout
Supprime le jeton personnel enregistré sur cette machine.
Identifiant: Aucun · Effet: Écrit des fichiers locaux
Supprime uniquement auth.json. La clé API d'organisation est conservée : scan, anonymize et les commandes SIEM continuent de fonctionner. Le jeton n'est pas révoqué côté serveur — utilisez tokens revoke.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock auth logoutzeuslock auth api-key set [key]
Valide une clé API d'organisation et l'enregistre pour les commandes de contenu et SIEM.
Identifiant: Clé API d'organisation · Effet: Écrit des fichiers locaux
La clé est vérifiée auprès du backend avant enregistrement : une clé invalide est rejetée d'emblée. Écrite dans api-key.json en mode 0600 ; la valeur complète n'est jamais réaffichée.
| Argument | Requis | Description |
|---|---|---|
key | Non | La clé zl_…. Si omise, la CLI lit ZEUSLOCK_API_KEY ou la demande. |
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--api-url <url> | URL | ZEUSLOCK_API_URL | Backend auquel la clé appartient ; stocké avec elle. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
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
Indique si une clé API d'organisation est configurée, et laquelle.
Identifiant: Aucun · Effet: Lecture seule
Affiche la source, l'URL du backend et une clé masquée. La valeur complète n'est jamais affichée.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock auth api-key statuszeuslock auth api-key clear
Supprime la clé API d'organisation enregistrée sur cette machine.
Identifiant: Aucun · Effet: Écrit des fichiers locaux
Supprime api-key.json. La clé reste valide dans le tableau de bord — elle est seulement oubliée localement. Les commandes de contenu exigeront ensuite --api-key ou ZEUSLOCK_API_KEY.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock auth api-key clearzeuslock auth whoami
Identique à zeuslock whoami, pour ceux qui l'attendent sous auth.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock auth whoamizeuslock whoami / status — Qui suis-je, et tout va-t-il bien
zeuslock whoami
Affiche le compte sous lequel la CLI agit actuellement.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Renvoie l'e-mail, l'identifiant, le rôle, l'organisation, le statut et l'URL du backend. La première commande à lancer devant une erreur de permission inexpliquée : elle indique le compte et l'environnement réels.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock whoami
zeuslock whoami --json
zeuslock --token zlu_… whoami # check a token without saving itzeuslock status
Affiche la configuration locale, la santé et la disponibilité du backend, et la validité de la licence.
Identifiant: Clé API d'organisation (pour la vérification de licence) · Effet: Lecture seule
Une commande pour répondre à « est-ce moi ou le service ? ». La santé et la disponibilité sont vérifiées sans identifiants ; la licence uniquement si une clé API d'organisation est disponible. Utilisez --require-license en CI pour faire échouer le job si le backend est dégradé.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--api-key <key> | zl_… | ZEUSLOCK_API_KEY | Clé utilisée pour la vérification de licence. |
--require-license | Booléen | désactivé | Sortie non nulle sauf si santé, disponibilité et licence sont toutes valides. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock status
zeuslock status --json
zeuslock status --require-license # CI gatezeuslock scan — Vérifier du contenu avant qu'il n'atteigne un outil d'IA
zeuslock scan [path]
Analyse un fichier, un répertoire ou du texte redirigé avec la politique DLP de votre organisation.
Identifiant: Clé API d'organisation · Effet: Lecture seule
Renvoie la même décision que l'agent et l'extension — allow, alert ou block — et enregistre un incident en cas de détection : l'activité du terminal apparaît donc dans le tableau de bord aux côtés de l'activité navigateur. Les répertoires sont parcourus localement, .git est ignoré, les fichiers sont envoyés par lots de cinq. Le code de sortie suit --fail-on, ce qui permet d'en faire une barrière de CI.
| Argument | Requis | Description |
|---|---|---|
path | Non | Fichier ou répertoire à analyser. Requis sauf avec --stdin ; les deux sont exclusifs. |
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--stdin | Booléen | désactivé | Lit le texte sur l'entrée standard au lieu d'un chemin. |
--api-key <key> | zl_… | [object Object]ZEUSLOCK_API_KEY | Clé API d'organisation pour authentifier cet appel. |
--fail-on <decision> | alert | block | never | block | Décision qui fait échouer la commande. alert est strict (échoue sur alerte et blocage), never sort toujours en 0 pour un usage informatif. |
--source <source> | Tout texte | cli | Libellé de source enregistré sur l'incident. |
--platform <platform> | Tout texte | cli | Libellé de plateforme envoyé avec la requête. La colonne plateforme de l'incident étant déduite de l'URL, cette valeur n'y est pas enregistrée. |
--hostname <hostname> | Tout texte | nom d'hôte local | Nom d'hôte enregistré sur l'incident. |
--path <path> | Tout texte | /cli/<file> | Libellé de destination enregistré sur l'incident ; normalisé pour commencer par une barre oblique. |
--user-email <email> | Tout texte | aucun | Attribue l'incident à une personne au lieu de le laisser anonyme. Utile en CI. |
--include-sensitive | Booléen | désactivé | Inclut la table d'anonymisation du backend dans la sortie JSON. Elle contient les valeurs d'origine : traitez cette sortie comme sensible. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
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.comChaque analyse qui détecte quelque chose crée un incident. Analyser un grand arbre en boucle en CI remplira la chronologie des incidents : restreignez le chemin.
zeuslock anonymize — Retirer les valeurs sensibles d'un texte
zeuslock anonymize <file>
Remplace les valeurs sensibles d'un fichier texte UTF-8 par des substituts réalistes.
Identifiant: Clé API d'organisation · Effet: Lecture seule
Contrairement à scan, cette commande réécrit le contenu au lieu de le juger, et n'enregistre aucun incident. Les substituts ont la même forme — un numéro de carte devient un autre numéro plausible — le texte reste donc exploitable comme prompt ou jeu de test. Utile pour partager un document réel avec un LLM externe sans divulguer les vraies valeurs.
| Argument | Requis | Description |
|---|---|---|
file | Oui | Fichier texte UTF-8 à anonymiser. |
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--api-key <key> | zl_… | [object Object]ZEUSLOCK_API_KEY | Clé API d'organisation pour authentifier cet appel. |
--output <path> | Chemin accessible en écriture | sortie standard | Écrit le texte anonymisé dans un fichier au lieu de l'afficher. |
--include-sensitive-map | Booléen | désactivé | Inclut les correspondances original/masqué dans la sortie JSON. Cela révèle les vraies valeurs : traitez-les en conséquence. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock anonymize customer-data.txt
zeuslock anonymize customer-data.txt --output customer-data.safe.txt
zeuslock anonymize customer-data.txt --jsonzeuslock hook — Bloquer les secrets au commit, pas à la relecture
Installe un hook Git pre-commit qui analyse le contenu indexé et refuse le commit si la politique DLP l'exige.
zeuslock hook install
Écrit le hook pre-commit ZeusLock dans un dépôt.
Identifiant: Aucun · Effet: Écrit des fichiers locaux
Crée .git/hooks/pre-commit en 0755, appelant zeuslock hook run. Il refuse d'écraser un hook existant sans --force : il ne détruira donc pas silencieusement le hook d'un autre outil. Le hook est local au clone — il n'est pas partagé via Git, chaque développeur l'installe une fois.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--repo <path> | Chemin | dépôt courant | Dépôt cible. |
--fail-on <decision> | alert | block | alert | Seuil inscrit dans le hook. Par défaut strict : les alertes bloquent aussi le commit. |
--force | Booléen | désactivé | Remplace un hook pre-commit existant. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock hook install
zeuslock hook install --fail-on block --forcezeuslock hook run
Analyse les modifications indexées et décide si le commit peut aboutir.
Identifiant: Clé API d'organisation · Effet: Lecture seule
Lit les blobs indexés, pas la copie de travail : ce qui est analysé correspond exactement à ce qui serait commité — modifier un fichier après l'avoir indexé ne permet pas de contourner le contrôle. Seuls les fichiers ajoutés, copiés, modifiés et renommés sont analysés ; les fichiers non suivis, non indexés et supprimés sont ignorés, tout comme l'historique. Sortie non nulle pour arrêter le commit.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--repo <path> | Chemin | dépôt courant | Dépôt à analyser. |
--api-key <key> | zl_… | [object Object]ZEUSLOCK_API_KEY | Clé API d'organisation pour authentifier cet appel. |
--fail-on <decision> | alert | block | never | alert | Seuil qui bloque le commit. |
--user-email <email> | Tout texte | aucun | Attribue l'incident à une personne. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock hook run
zeuslock hook run --fail-on block --json
git commit -m 'feature' # the hook runs automaticallyLe hook a besoin d'une clé API d'organisation au moment du commit. Enregistrez-la avec `auth api-key set` pour qu'il fonctionne depuis une interface Git graphique, où les variables d'environnement sont souvent absentes.
zeuslock incidents — Ce qui a été détecté, et à quelle fréquence
Les mêmes données que la page Incidents du tableau de bord. Les filtres sont appliqués localement après récupération d'une fenêtre : les valeurs de jours sont donc fixes.
zeuslock incidents list
Liste les incidents récents avec les filtres du tableau de bord.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Les prompts propres sont masqués, comme dans le tableau de bord : une ligne n'est conservée que si elle a des détections, a été bloquée, ou porte une action différente de allowed. --days 90 exige un plan Business ou Enterprise.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Fenêtre d'historique. Les autres valeurs sont rejetées avant la requête. |
--severity <level> | critical | warning | aucun | La gravité suit le résultat de la politique, pas le score du détecteur : critical signifie requête bloquée, warning tout le reste. Cela correspond à l'affichage du tableau de bord. |
--search <text> | Tout texte | aucun | Filtre sur l'e-mail, l'URL ou le type de détection. |
--jailbreak | Booléen | désactivé | Ne garde que les incidents contenant une tentative de jailbreak. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock incidents list --days 7
zeuslock incidents list --severity critical
zeuslock incidents list --jailbreak --jsonzeuslock incidents stats
Affiche des statistiques agrégées d'incidents.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Répartition par gravité, types de données détectés, chronologie quotidienne et usage par plateforme d'IA — les chiffres de la vue d'ensemble, sur un seul écran.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--days <days> | 1 | 7 | 30 | 365 | 30 | Fenêtre statistique. 365 exige un plan Business ou Enterprise. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock incidents stats
zeuslock incidents stats --days 365 --jsonzeuslock incidents export
Écrit les incidents filtrés dans un fichier CSV ou JSON.
Identifiant: Jeton d'accès CLI personnel · Effet: Écrit des fichiers locaux
Produit le fichier de preuve demandé par un auditeur. Le CSV contient à la fois severity (résultat de politique affiché) et risk_level (score brut du détecteur) — ils diffèrent légitimement, les conserver tous deux évite toute perte. L'export exige un plan Business ou Enterprise.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Fenêtre d'historique. |
--severity <level> | critical | warning | aucun | La gravité suit le résultat de la politique, pas le score du détecteur : critical signifie requête bloquée, warning tout le reste. Cela correspond à l'affichage du tableau de bord. |
--search <text> | Tout texte | aucun | Filtre sur l'e-mail, l'URL ou le type de détection. |
--jailbreak | Booléen | désactivé | Ne garde que les incidents contenant une tentative de jailbreak. |
--format <format> | csv | json | csv | Format de sortie. |
--output <path> | Chemin accessible en écriture | incidents-<timestamp>.<ext> | Fichier de destination. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock incidents export --days 7
zeuslock incidents export --days 30 --severity critical --format json --output incidents.jsonzeuslock agents / extensions — La flotte est-elle réellement protégée
zeuslock agents list
Liste les agents installés et leur état de heartbeat.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Affiche nom d'hôte, plateforme, version, état en ligne et dernier heartbeat, plus un marqueur update_available si une version plus récente existe. Un agent est en ligne s'il a communiqué dans les cinq dernières minutes. C'est ainsi qu'on repère les machines silencieuses.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--status <status> | all | online | offline | all | Filtre de heartbeat. |
--search <text> | Tout texte | aucun | Recherche uniquement le nom d'hôte et la plateforme. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock agents list
zeuslock agents list --status offline
zeuslock agents list --search windows --jsonzeuslock agents revoke <agent_id>
Révoque un agent installé.
Identifiant: Jeton d'accès CLI personnel · Effet: Modifie l'état de l'organisation
L'agent perd son enrôlement et n'est plus reconnu par le backend. À utiliser pour un poste perdu ou mis hors service. La commande demande confirmation sauf avec --yes.
| Argument | Requis | Description |
|---|---|---|
agent_id | Oui | Identifiant exact issu de agents list. |
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
-y, --yes | Booléen | désactivé | Ignore la confirmation. Requis en script et en CI. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock agents revoke AGENT-123
zeuslock agents revoke AGENT-123 --yes --jsonzeuslock extensions status
Affiche les extensions de navigateur actuellement actives.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Compte les extensions et utilisateurs vus dans les 30 dernières minutes. Un total faible face à une grande flotte signifie généralement que la politique d'installation forcée n'a pas atteint ces navigateurs.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock extensions status --jsonzeuslock users / keys / tokens — Qui a accès, et avec quoi
Trois choses distinctes : les personnes, les clés API d'organisation et les jetons CLI personnels. Supprimer une personne ne révoque pas une clé qu'elle a créée.
zeuslock users list
Liste les personnes de votre organisation.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Affiche e-mail, rôle, statut, indicateur d'activité et date de création. Les rôles sont validés contre ceux réellement exposés par votre plan : un rôle invalide est rejeté au lieu de ne rien correspondre.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--search <text> | Tout texte | aucun | Filtre local sur e-mail, rôle, statut et nom affiché. |
--role <role> | admin, user, viewer… | aucun | Validé selon les rôles exposés par votre plan. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock users list
zeuslock users list --role admin
zeuslock users list --search alice --jsonzeuslock users remove <user>
Retire une personne de l'organisation.
Identifiant: Jeton d'accès CLI personnel · Effet: Modifie l'état de l'organisation
Deux garde-fous côté serveur, non contournables : vous ne pouvez pas vous retirer vous-même, ni retirer le dernier administrateur actif. Accepte un identifiant ou un e-mail, résolu au préalable via la liste des utilisateurs.
| Argument | Requis | Description |
|---|---|---|
user | Oui | Identifiant ou adresse e-mail. |
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
-y, --yes | Booléen | désactivé | Ignore la confirmation. Requis en script et en CI. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock users remove departing@example.com
zeuslock users remove user-uuid --yes --jsonzeuslock keys list
Liste les clés API d'organisation.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Les valeurs sont masquées par défaut. --show-secret n'affiche en clair que les clés encore déchiffrables côté backend ; les plus anciennes restent masquées.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--status <status> | all | active | revoked | all | Filtre de statut local. |
--show-secret | Booléen | désactivé | Révèle les valeurs complètes disponibles. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock keys list
zeuslock keys list --status active
zeuslock keys list --show-secret --jsonzeuslock keys create --name <name>
Crée une nouvelle clé API d'organisation.
Identifiant: Jeton d'accès CLI personnel · Effet: Modifie l'état de l'organisation
La clé complète est renvoyée une seule fois, dans cette réponse. Copiez-la immédiatement : la CLI ne pourra pas la réafficher si le backend cesse de la fournir.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--name <name> | Tout texte | aucun | Requis. Nommez-la d'après son usage, pour pouvoir la révoquer sans hésiter plus tard. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock keys create --name ci-pipeline
zeuslock keys create --name fleet-deploy --jsonzeuslock keys revoke <key_id>
Révoque une clé API d'organisation active.
Identifiant: Jeton d'accès CLI personnel · Effet: Modifie l'état de l'organisation
Tout ce qui utilise la clé cesse de fonctionner immédiatement : agents configurés avec elle, jobs CI, hooks. La CLI refuse d'agir sur une clé déjà révoquée, car un second delete détruit définitivement l'enregistrement au lieu de le révoquer.
| Argument | Requis | Description |
|---|---|---|
key_id | Oui | Identifiant issu de keys list. |
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
-y, --yes | Booléen | désactivé | Ignore la confirmation. Requis en script et en CI. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock keys revoke key-uuid --yeszeuslock tokens list
Liste vos jetons d'accès CLI personnels.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Affiche nom, valeur masquée, statut, expiration et dernière utilisation. La colonne de dernière utilisation est le moyen le plus rapide de repérer les jetons révocables sans risque.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--status <status> | all | active | revoked | expired | all | Filtre de statut local. |
--show-secret | Booléen | désactivé | Révèle les valeurs complètes lorsque le backend les renvoie. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock tokens list
zeuslock tokens list --status expiredzeuslock tokens create --name <name>
Crée un jeton d'accès CLI personnel.
Identifiant: Jeton d'accès CLI personnel · Effet: Modifie l'état de l'organisation
Le jeton zlu_… complet est renvoyé une seule fois. C'est l'alternative scriptable à la page CLI du tableau de bord — utile pour émettre un jeton court destiné à un job CI depuis une machine déjà authentifiée.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--name <name> | 1 à 255 caractères | aucun | Requis. Identifie le jeton dans la liste. |
--expires-in-days <days> | 1-365 | défaut du backend (90) | Une durée courte est préférable en CI. Les valeurs hors plage sont rejetées localement. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock tokens create --name work-laptop
zeuslock tokens create --name ci-job --expires-in-days 30 --jsonzeuslock tokens revoke <token_id>
Révoque un jeton d'accès CLI personnel.
Identifiant: Jeton d'accès CLI personnel · Effet: Modifie l'état de l'organisation
Le jeton renvoie 401 dès la requête suivante. L'enregistrement est conservé et reste visible comme révoqué — c'est l'étape à privilégier en cas de perte d'un poste.
| Argument | Requis | Description |
|---|---|---|
token_id | Oui | Identifiant issu de tokens list. |
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
-y, --yes | Booléen | désactivé | Ignore la confirmation. Requis en script et en CI. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock tokens revoke token-uuid --yeszeuslock tokens purge <token_id>
Supprime définitivement un jeton CLI déjà révoqué.
Identifiant: Jeton d'accès CLI personnel · Effet: Modifie l'état de l'organisation
Supprime totalement l'enregistrement : il disparaît de la liste et de toute vue d'audit. Le jeton doit d'abord être révoqué — la CLI refuse de purger un jeton actif, ce qui rend impossible la destruction accidentelle d'un identifiant en usage.
| Argument | Requis | Description |
|---|---|---|
token_id | Oui | Identifiant d'un jeton révoqué. |
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
-y, --yes | Booléen | désactivé | Ignore la confirmation. Requis en script et en CI. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock tokens revoke token-uuid --yes
zeuslock tokens purge token-uuid --yeszeuslock rules — Politique en tant que code
Exporte l'état des politiques dans un fichier relisible et détecte les écarts. Lecture seule — la CLI ne réécrit jamais les politiques.
zeuslock rules get
Exporte l'état actuel des politiques DLP en YAML ou JSON.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
La sortie est normalisée : ordre déterministe et champs volatils comme created_at, updated_at et org_id supprimés ; deux exports d'une politique inchangée sont donc identiques octet pour octet. C'est ce qui rend le fichier commitable et comparable.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--scope <scope> | policies | default | policy | policies | policies exporte toutes les politiques visibles et les groupes d'affectation ; default la seule politique par défaut ; policy un document unique. |
--policy-id <id> | Tout texte | aucun | Requis avec --scope policy. |
--format <format> | yaml | json | yaml | Format d'export. |
--output <path> | Chemin accessible en écriture | sortie standard | Écrit dans un fichier au lieu d'afficher. |
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]
Compare un fichier de politique local à l'état en ligne.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Sort en 0 en cas de correspondance et 1 en cas d'écart, avec un diff par chemin. À exécuter en CI contre un export versionné pour détecter les modifications de politique non relues.
| Argument | Requis | Description |
|---|---|---|
file | Non | YAML ou JSON exporté. Par défaut zeuslock.rules.yaml, puis .yml, puis .json. |
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--scope <scope> | policies | default | policy | policies | Doit correspondre au scope enregistré dans le fichier. |
--policy-id <id> | Tout texte | aucun | Requis avec --scope policy. |
--format <format> | text | json | text | Format de sortie du 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 — Alimenter votre SIEM en événements
Récupère les événements DLP au format OCSF. Ces commandes lisent uniquement — les destinations SIEM (Splunk, Sentinel, Elastic) se configurent dans le tableau de bord.
zeuslock siem pull
Récupère une page d'événements OCSF.
Identifiant: Clé API d'organisation · Effet: Lecture seule
Affiche du JSONL par défaut — un événement par ligne — format directement ingéré par les collecteurs SIEM. La réponse contient un next_cursor ; renvoyez-le via --since pour paginer. À utiliser pour les reprises et requêtes ponctuelles.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--api-key <key> | zl_… | [object Object]ZEUSLOCK_API_KEY | Clé API d'organisation pour cet appel. |
--since <cursor> | Chaîne de curseur | aucun | Un next_cursor d'une réponse précédente. Ce n'est pas une date. |
--from <time> | Date/heure ISO ou epoch | aucun | Début de la fenêtre. |
--to <time> | Date/heure ISO ou epoch | aucun | Fin de la fenêtre. |
--days <n> | Entier positif | aucun | Remonte de ce nombre de jours. Exclusif avec --from. |
--category <value> | dlp | aucun | Catégorie d'événement. Les événements actuels utilisent dlp. |
--severity <level> | unknown | low | medium | high | critical | aucun | Traité comme une gravité minimale, pas une correspondance exacte. |
--limit <n> | 1-500 | 100 | Taille de page. Validée avant la requête. |
--format <format> | jsonl | json | jsonl | jsonl se redirige vers les collecteurs ; json renvoie une enveloppe avec 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
Interroge en continu et émet les nouveaux événements au fil de l'eau.
Identifiant: Clé API d'organisation · Effet: Lecture continue jusqu'à l'arrêt
S'exécute jusqu'à l'arrêt, en enregistrant sa position dans siem-cursors.json après chaque interrogation : un redémarrage reprend sans doublon ni perte. Il n'y a pas de flux temps réel derrière — c'est du polling. Donnez à chaque consommateur son propre --cursor-name pour éviter que deux pipelines se disputent la même position.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--api-key <key> | zl_… | [object Object]ZEUSLOCK_API_KEY | Clé API d'organisation pour cet appel. |
--since <cursor> | Chaîne de curseur | curseur enregistré | Remplace la position enregistrée pour cette exécution. |
--category <value> | dlp | aucun | Fait aussi partie de l'identité du curseur. |
--severity <level> | unknown…critical | aucun | Gravité minimale ; fait aussi partie de l'identité du curseur. |
--limit <n> | 1-500 | 100 | Taille de page par interrogation. |
--interval <seconds> | Nombre positif | 5 | Secondes entre deux interrogations. |
--cursor-name <name> | Tout texte | default | Espace de noms de la position enregistrée pour ce consommateur. |
--reset-cursor | Booléen | désactivé | Ignore la position enregistrée et rejoue depuis le début. |
--max-polls <count> | Entier positif | aucun | S'arrête après ce nombre de cycles au lieu de tourner indéfiniment. Utile en tâche planifiée. |
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 — Outils d'IA non approuvés
Vue en lecture seule de la page Shadow AI. Disponible uniquement si Shadow AI est activé pour votre organisation ; sinon les commandes l'indiquent sans appeler l'API de données.
zeuslock shadow-ai stats
Indicateurs clés d'utilisation d'outils d'IA non approuvés.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Totaux et évolution d'une période à l'autre, pour savoir si l'usage non approuvé progresse après une annonce de politique.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Fenêtre d'historique. |
--source <source> | all | endpoint | browser | both | all | Origine de l'observation. |
--status <status> | all | sanctioned | shadow | all | shadow signifie que l'outil n'est pas approuvé. |
--category <category> | all | chatbot | coding_assistant | image_gen | agent | other | all | Catégorie d'outil. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock shadow-ai stats
zeuslock shadow-ai stats --days 7 --status shadow --category chatbotzeuslock shadow-ai tools
Liste les outils d'IA détectés dans votre environnement.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Outil, catégorie, statut de politique, source, nombre d'utilisateurs, de connexions et score de risque — la liste à traiter pour décider quoi autoriser ou bloquer.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Fenêtre d'historique. |
--source <source> | all | endpoint | browser | both | all | Origine de l'observation. |
--status <status> | all | sanctioned | shadow | all | shadow signifie que l'outil n'est pas approuvé. |
--category <category> | all | chatbot | coding_assistant | image_gen | agent | other | all | Catégorie d'outil. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock shadow-ai tools --status shadow
zeuslock shadow-ai tools --category coding_assistant --jsonzeuslock shadow-ai users
Liste les personnes utilisant des outils d'IA non approuvés.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Utilisateur, nombre d'outils distincts et outil le plus utilisé. Destiné à repérer les équipes qui ont besoin d'une alternative approuvée, pas à désigner des personnes.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Fenêtre d'historique. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock shadow-ai users --days 7 --jsonzeuslock mcp — Activité Model Context Protocol
Ce à quoi les agents d'IA se sont connectés et ce qu'ils ont été autorisés à faire. Le backend ne stocke que des métadonnées assainies et des empreintes non réversibles : ni prompts ni charges utiles ne sont exposés ici.
zeuslock mcp stats
Indicateurs clés de l'activité MCP.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Événements, appels d'outils, blocages et alertes, serveurs actifs et utilisateurs concernés, groupés par transport, direction et méthode.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Fenêtre d'historique. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock mcp stats --days 7 --jsonzeuslock mcp events
Liste les événements d'audit MCP.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Paginé à 50 lignes. Suivez next_cursor via --cursor pour parcourir une fenêtre plus large.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--days <days> | 7 | 30 | 90 | 30 | Fenêtre d'historique. |
--transport <transport> | all | http | sse | stdio | all | Mode de connexion de l'agent. |
--direction <direction> | all | client_to_server | server_to_client | all | Direction du message. |
--decision <decision> | all | allow | alert | block | all | Décision de la politique. |
--method <method> | tools/call… | aucun | Nom exact de la méthode MCP. |
--search <text> | Tout texte | aucun | Recherche serveur, outil, utilisateur, méthode, nom d'hôte et chemin. |
--cursor <cursor> | Chaîne de curseur | aucun | Continue depuis une page précédente. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock mcp events --decision block
zeuslock mcp events --transport stdio --method tools/call --jsonzeuslock mcp servers
Liste les serveurs MCP découverts dans votre environnement.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Un inventaire dédoublonné sur une fenêtre fixe de 90 jours — la réponse à « à quoi un agent s'est-il connecté ? ».
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock mcp servers --jsonzeuslock deploy — Déployer sur une flotte, puis le prouver
zeuslock deploy generate (alias: gpo-config)
Génère les fichiers de configuration managée qui enrôlent les machines automatiquement.
Identifiant: Jeton d'accès CLI personnel · Effet: Écrit des fichiers locaux
N'écrit que des fichiers locaux — rien n'est envoyé à Active Directory, Intune ou Jamf. Déployez-les avec l'outil de votre choix : les machines arrivent déjà rattachées à votre organisation, sans configuration par utilisateur. Les fichiers contenant la clé API sont en mode 0600 ; la clé n'est jamais affichée ni écrite dans deployment-summary.json.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--artifact <set> | all | extension | agent | all | Fichiers à générer. Les artefacts d'extension exigent un plan Business ou Enterprise. |
--browser <browser> | all | chrome | edge | all | S'applique uniquement aux artefacts d'extension. |
--output <dir> | Chemin | zeuslock-deploy | Répertoire de sortie. Les fichiers de même nom sont écrasés. |
--api-key <key> | zl_… | aucun | Clé à intégrer. Priorité la plus haute. |
--key-id <id> | Tout texte | aucun | Utilise une clé existante de keys list. |
--create-key-name <name> | Tout texte | aucun | Crée une nouvelle clé et l'intègre. Modifie l'état de l'organisation. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
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 votre organisation a plusieurs clés actives, la commande refuse de deviner — précisez --key-id, --api-key ou --create-key-name.
La configuration de l'extension est livrée en deux fichiers distincts à dessein : la politique navigateur contrôle l'installation, la clé API voyage dans le fichier de configuration managée. Déployez les deux, sinon l'extension s'installe puis demande à chaque utilisateur de la configurer.
zeuslock deploy agent-verify
Confirme que les machines se sont bien enrôlées et communiquent.
Identifiant: Jeton d'accès CLI personnel · Effet: Lecture seule
Sort en code non nul si aucun agent correspondant n'est dans l'état attendu, ce qui permet de conditionner un script de déploiement. Renvoie verified, offline, online ou not_found — la distinction entre « jamais arrivé » et « arrivé puis silencieux » indique si le problème vient du déploiement ou de la machine.
| Option | Valeurs | Défaut | Effet |
|---|---|---|---|
--agent-id <id> | Tout texte | aucun | Correspondance exacte d'identifiant. |
--hostname <name> | Tout texte | aucun | Correspondance exacte du nom d'hôte, insensible à la casse. |
--platform <platform> | windows | macos | linux | aucun | Filtre de plateforme. |
--status <status> | online | offline | any | online | État attendu. Utilisez any pour vérifier l'enrôlement sans exiger un heartbeat actif. |
--json | Booléen | désactivé | Affiche du JSON exploitable au lieu d'un tableau. |
zeuslock deploy agent-verify --hostname LAPTOP-01
zeuslock deploy agent-verify --platform windows --status any --jsonDépannage
| Message | Signification | Action |
|---|---|---|
Not logged in. Run `zeuslock auth login` first. | Aucun jeton personnel enregistré sur cette machine. | Générez-en un sur la page CLI et lancez zeuslock auth login --token zlu_…. |
invalid CLI token | Le jeton est révoqué, expiré, ou appartient à un autre environnement. | Les jetons sont propres à un environnement : un jeton de préproduction renvoie 401 en production. Vérifiez ZEUSLOCK_API_URL, puis émettez un nouveau jeton. |
API key is required. | Une commande de contenu a été lancée sans clé API d'organisation. | Un jeton personnel ne convient pas pour scan, anonymize, hook run ni SIEM. Lancez zeuslock auth api-key set. |
Multiple active API keys are available. | deploy generate ne devine pas quelle clé intégrer. | Précisez --key-id, --api-key ou --create-key-name. |
| Une commande exige 90 ou 365 jours et refuse. | Les longues fenêtres d'historique et l'export dépendent du plan. | Un plan Business ou Enterprise est requis. Les fenêtres courtes restent disponibles. |
| Une commande semble bloquée. | siem tail interroge jusqu'à l'arrêt ; c'est normal. | Ctrl-C, ou utilisez --max-polls pour une exécution bornée. |
Travailler en préproduction
Les identifiants sont propres à chaque environnement et ne sont pas interchangeables. Pointez la CLI vers la préproduction et authentifiez-vous avec un jeton de préproduction.
export ZEUSLOCK_API_URL="https://api-staging.zeuslock.ai"
zeuslock auth login --token zlu_your_staging_token
zeuslock statusCe que la CLI ne fait volontairement pas
La CLI reflète le tableau de bord et le backend au lieu d'inventer des fonctions. Les éléments suivants sont volontairement absents, pour éviter de les chercher :
| Absent | Raison |
|---|---|
| Connexion e-mail/mot de passe | L'endpoint de connexion impose un reCAPTCHA qu'un terminal ne peut pas résoudre. |
| Appliquer ou modifier des politiques | rules se limite à l'export et au diff ; les modifications restent dans le tableau de bord, où elles sont relues. |
| Configurer les destinations SIEM | Les connexions Splunk, Sentinel et Elastic se gèrent dans le tableau de bord. La CLI lit seulement les événements. |
| Rotation d'une clé ou d'un jeton en une étape | Il n'existe pas d'endpoint de rotation atomique. Créez le remplacement, basculez le trafic, puis révoquez l'ancien. |
| Suppression d'utilisateurs en masse | Le backend supprime un utilisateur à la fois, et les garde-fous s'appliquent à chacun. |
| Génération d'installeurs | deploy generate produit des fichiers de configuration. Téléchargez les installeurs depuis le tableau de bord. |