Alle ZeusLock-CLI-Befehle an einem Ort: Optionen, Werte, Standards, Anmeldedaten und Exit-Codes — scan, Vorfälle, Agenten, Benutzer, Schlüssel, Shadow AI, MCP, SIEM, deploy und rules.
Vollständige Referenz aller Befehle von @zeuslock/cli (v0.1.x). Für Installation und erste Anmeldung beginnen Sie mit dem CLI-Schnellstart. Jeder datenliefernde Befehl unterstützt --json für Skripte, und --help funktioniert bei jedem Befehl und Unterbefehl.
Befehlsübersicht
| Befehl | Zweck |
|---|
auth login | Anmeldung mit E-Mail/Passwort (MFA unterstützt), Token gespeichert |
whoami | Zeigt den angemeldeten Benutzer |
auth api-key set/status/clear | Speichert, prüft oder entfernt den Organisations-API-Schlüssel |
status | CLI-Kontext, Backend-Gesundheit, optionale Lizenzprüfung |
scan | Analysiert Datei, Verzeichnis oder stdin mit der DLP-Richtlinie |
anonymize | Anonymisiert eine UTF-8-Textdatei |
hook install / run | Git-Pre-Commit-Hook, der gestagte Dateien scannt |
incidents list / stats / export | Vorfälle, Statistiken und CSV/JSON-Export |
agents list / revoke | Übersicht und Widerruf der Agenten-Flotte |
extensions status | Aktive Browser-Erweiterungen |
users list / remove | Benutzerverwaltung der Organisation |
keys list / create / revoke | Verwaltung der Organisations-API-Schlüssel |
shadow-ai stats / tools / users | Shadow-AI-Erkennungsdaten |
mcp stats / events / servers | MCP-Überwachungsdaten |
siem pull / tail | Abruf von OCSF-SIEM-Ereignissen (eine Seite oder fortlaufend) |
deploy gpo-config / agent-verify | Deployment-Artefakte und Enrollment-Prüfung |
rules get / diff | DLP-Policy-as-Code-Export und -Diff (nur lesend) |
Anmeldedaten und Konfiguration
Die CLI verwendet bewusst zwei verschiedene Anmeldedaten. Benutzer-Anmeldedaten (Login-Sitzung oder persönliches CLI-Zugriffstoken von der Dashboard-CLI-Seite) steuern die Dashboard-Datenbefehle. Der Organisations-API-Schlüssel (zl_…, Seite API-Schlüssel) steuert die Inhalts- und SIEM-Befehle, die für die Organisation handeln.
| Anmeldedaten | Verwendet von |
|---|
| Benutzersitzung / CLI-Zugriffstoken | whoami, incidents, agents, extensions, users, keys, shadow-ai, mcp, rules, deploy |
Organisations-API-Schlüssel (zl_…) | scan, anonymize, hook run, siem pull/tail, status (license) |
Umgebungsvariablen
| Variable | Beschreibung |
|---|
ZEUSLOCK_API_URL | Backend-URL; Standard https://api.zeuslock.ai |
ZEUSLOCK_API_TOKEN | Bearer-Token für benutzerauthentifizierte Befehle (z. B. CLI-Zugriffstoken) |
ZEUSLOCK_API_KEY | Organisations-API-Schlüssel für Maschinenbefehle |
ZEUSLOCK_EMAIL / ZEUSLOCK_PASSWORD / ZEUSLOCK_MFA_CODE | Nicht-interaktive Eingaben für auth login (CI, Automatisierung) |
ZEUSLOCK_CONFIG_DIR | Überschreibt das Benutzer-Konfigurationsverzeichnis |
Das Konfigurationsverzeichnis (macOS ~/Library/Application Support/zeuslock/, Windows %APPDATA%\ZeusLock\, Linux ~/.config/zeuslock/) enthält auth.json (Sitzungstoken, 0600), api-key.json (Organisationsschlüssel) und siem-cursors.json (Tail-Cursor). Passwörter werden nie gespeichert, und die CLI gibt gespeicherte Geheimnisse nie aus.
zeuslock auth
zeuslock auth login --email admin@example.com
zeuslock whoami
zeuslock auth api-key set zl_your_org_api_key
zeuslock auth api-key status
auth login
| Option | Werte | Standard | Beschreibung |
|---|
--email / -u, --username | Konto-E-Mail | ZEUSLOCK_EMAIL | Wird bei Fehlen abgefragt |
--password | — | ZEUSLOCK_PASSWORD | Wird interaktiv abgefragt, wenn weggelassen; nie gespeichert |
--mfa-code | — | ZEUSLOCK_MFA_CODE | Genutzt, wenn das Backend MFA verlangt; sonst abgefragt |
--recaptcha-token | — | keiner | Für Backends, die reCAPTCHA beim Login erzwingen |
--api-url | URL | ZEUSLOCK_API_URL | Backend für die Authentifizierung |
--json | Boolesch | aus | Maschinenlesbare JSON-Ausgabe |
auth api-key set / status / clear
set validiert den Schlüssel über GET /api/rules/sync vor dem Speichern; status zeigt den Zustand mit maskiertem Schlüssel; clear entfernt ihn. Der vollständige Schlüssel wird nie erneut ausgegeben.
Schlüssel-Priorität für Maschinenbefehle: Option --api-key → ZEUSLOCK_API_KEY → gespeicherter Schlüssel.
zeuslock status
zeuslock status
zeuslock status --api-key zl_your_key_here --require-license
zeuslock status --json
| Option | Werte | Standard | Beschreibung |
|---|
--api-key | Organisations-API-Schlüssel | Fallback: ZEUSLOCK_API_KEY, dann der gespeicherte Schlüssel | Aktiviert die Lizenzprüfung über /api/v1/validate-license |
--require-license | Boolesch | aus | Beendet mit Fehlercode, außer Gesundheit, Bereitschaft und Lizenz bestehen |
--json | Boolesch | aus | Maschinenlesbare JSON-Ausgabe |
zeuslock scan
zeuslock scan ./secrets.txt
zeuslock scan ./src --fail-on alert
cat prompt.txt | zeuslock scan --stdin --json
Lädt Inhalte an POST /api/v1/dlp/analyze unter der aktiven DLP-Richtlinie der Organisation hoch. Verzeichnisse werden rekursiv durchlaufen (.git übersprungen) und in 5er-Stapeln hochgeladen. Ein Scan mit alert/block erzeugt einen echten Vorfall — es gibt keinen Probelauf.
| Option | Werte | Standard | Beschreibung |
|---|
[path] / --stdin | Datei, Verzeichnis oder stdin | erforderlich | Schließen sich aus; stdin wird als Text gesendet |
--api-key | Organisations-API-Schlüssel | Fallback: ZEUSLOCK_API_KEY, dann der gespeicherte Schlüssel | Gesendet als X-API-Key |
--fail-on | alert, block, never | block | Exit-Code-Schwelle: alert schlägt bei alert+block fehl; never nie |
--source / --platform / --hostname / --path / --user-email | Beliebiger Text | cli, cli, lokaler Hostname, /cli/<name>, keiner | Metadaten am Vorfall |
--include-sensitive | Boolesch | aus | Nimmt Anonymisierungstabellen in die JSON-Ausgabe auf |
--json | Boolesch | aus | Maschinenlesbare JSON-Ausgabe |
zeuslock anonymize
zeuslock anonymize customer-data.txt --output customer-data.safe.txt
Sendet UTF-8-Text an POST /api/v1/anonymize und liefert den maskierten Text. Nur Text — PDF/Bilder/Office werden vom Endpoint nicht unterstützt.
| Option | Werte | Standard | Beschreibung |
|---|
<file> | UTF-8-Textdatei | erforderlich | Gesendet als {"text": …} |
--api-key | Organisations-API-Schlüssel | Fallback: ZEUSLOCK_API_KEY, dann der gespeicherte Schlüssel | Gesendet als X-API-Key |
--output | Beschreibbarer Pfad | stdout | Schreibt den anonymisierten Text in eine Datei |
--include-sensitive-map | Boolesch | aus | Nimmt Original→maskiert-Ersetzungen in die JSON-Ausgabe auf |
--json | Boolesch | aus | Maschinenlesbare JSON-Ausgabe |
zeuslock hook install / run
zeuslock hook install --fail-on alert
zeuslock hook run --json
install schreibt .git/hooks/pre-commit (0755, --force zum Ersetzen eines vorhandenen Hooks); run scannt gestagte Blobs genau so, wie sie committet werden (nur hinzugefügte/kopierte/geänderte/umbenannte Dateien) über denselben DLP-Endpoint und blockiert den Commit an der gewählten Schwelle. Hook-Vorfälle tragen source=git_pre_commit, platform=git, method=PRE_COMMIT. install --fail-on never wird abgelehnt.
| Option | Werte | Standard | Beschreibung |
|---|
--repo | Pfad des Git-Repositorys | aktuelles Verzeichnis | Aufgelöst über git rev-parse |
install --fail-on | alert, block | alert | In den erzeugten Hook geschrieben |
run --fail-on | alert, block, never | alert | Blockier-Schwelle für einen manuellen Lauf |
install --force | Boolesch | aus | Ersetzt einen vorhandenen Pre-Commit-Hook |
run --api-key / run --user-email | — | Fallback: ZEUSLOCK_API_KEY, dann der gespeicherte Schlüssel | Authentifizierung und Vorfalls-Zuordnung |
--json | Boolesch | aus | Maschinenlesbare JSON-Ausgabe |
zeuslock incidents list / stats / export
zeuslock incidents list --days 7 --severity critical
zeuslock incidents stats --days 30
zeuslock incidents export --days 30 --format csv --output incidents.csv
| Option | Werte | Standard | Beschreibung |
|---|
list/export --days | 7, 30, 90 | 30 | 90 und der Export erfordern Business/Enterprise |
stats --days | 1, 7, 30, 365 | 30 | Erfordert den Business- oder Enterprise-Plan |
--severity | critical, warning | keiner | warning umfasst high, medium und low |
--search | Beliebiger Text | keiner | Sucht E-Mail, URL und Fundtyp |
--jailbreak | Boolesch | aus | Nur Vorfälle mit jailbreak_attempt-Fund |
export --format / --output | csv, json | csv / incidents-<timestamp> | Beliebige Tageswerte und --from/--to werden nicht unterstützt (Dashboard-Parität) |
--json | Boolesch | aus | Maschinenlesbare JSON-Ausgabe |
zeuslock agents / extensions
zeuslock agents list --status offline --search linux
zeuslock agents revoke AGENT-123 --yes
zeuslock extensions status --json
| Option | Werte | Standard | Beschreibung |
|---|
agents list --status | all, online, offline | all | Spiegelt die Statusauswahl des Dashboards |
agents list --search | Beliebiger Text | keiner | Sucht Hostname und Plattform; update_available, wenn ein neuerer Agent existiert |
agents revoke <agent_id> | Exakte Id aus agents list | erforderlich | Überspringt die Bestätigungsabfrage (für Skripte nötig) |
extensions status | — | — | Aktive Erweiterungen mit Zählern (30-Minuten-Aktivitätsfenster) |
--json / --yes | Boolesch | aus | Maschinenlesbare JSON-Ausgabe |
zeuslock users / keys
zeuslock users list --role admin
zeuslock users remove departing@example.com --yes
zeuslock keys list --status active
zeuslock keys create --name rotation-2026-08
zeuslock keys revoke <key_id> --yes
| Option | Werte | Standard | Beschreibung |
|---|
users list --search / --role | Beliebiger Text | keiner | Rollen aus GET /api/users/roles (planabhängig) |
users remove <user> | Benutzer-Id, user_id oder E-Mail | erforderlich | Verweigert Selbstentfernung und das Entfernen des letzten aktiven Admins |
keys list --status | all, active, revoked | all | Vollständige Schlüssel verborgen außer mit --show-secret |
keys create --name | Beliebiger Text | erforderlich | Gibt den vollständigen Schlüssel einmal aus |
keys revoke <key_id> | Schlüssel-Id aus keys list | erforderlich | Verweigert bereits widerrufene Schlüssel (ein zweites DELETE würde endgültig löschen) |
--yes / --json | Boolesch | aus | Überspringt die Bestätigungsabfrage (für Skripte nötig) |
zeuslock shadow-ai / mcp
zeuslock shadow-ai stats --days 30
zeuslock shadow-ai tools --source endpoint --status shadow
zeuslock shadow-ai users --days 7
zeuslock mcp stats
zeuslock mcp events --transport stdio --decision block --method tools/call
zeuslock mcp servers
Beide Gruppen folgen den Dashboard-Feature-Gates über GET /api/org: Shadow AI erfordert settings.shadow_ai_enabled; MCP ist aktiv, außer settings.mcp_enabled ist explizit false. MCP-Ereignisse sind nur bereinigte Metadaten — nie rohe Prompts.
| Option | Werte | Standard | Beschreibung |
|---|
--days | 7, 30, 90 | 30 | Dashboard-Fenster (mcp servers fest auf 90) |
shadow-ai --source | all, endpoint, browser, both | all | Wo das Tool erkannt wurde |
shadow-ai --status / --category | sanctioned/shadow; chatbot, coding_assistant, image_gen, agent, other | all | Dashboard-Filterwerte |
mcp events --transport / --direction / --decision | http/sse/stdio; client_to_server/server_to_client; allow/alert/block | all | Serverseitige Filter; Seitengröße 50 (Dashboard-Parität) |
mcp events --method / --search / --cursor | z. B. tools/call; freier Text; opaker Cursor | keiner | --cursor setzt am next_cursor einer vorherigen --json-Seite fort |
--json | Boolesch | aus | Maschinenlesbare JSON-Ausgabe |
zeuslock siem pull / tail
zeuslock siem pull --api-key zl_your_key_here --severity high --limit 100
zeuslock siem tail --category dlp --interval 10 --cursor-name splunk-prod
Ruft OCSF-Ereignisse über GET /api/v1/siem/events ab (Organisations-API-Schlüssel). pull liest eine Seite; tail fragt fortlaufend ab und speichert seinen Cursor in siem-cursors.json, indiziert nach API-URL, Cursor-Name, Kategorie und Schweregrad — getrennte Konsumenten können unabhängig folgen. Ausgabe standardmäßig JSONL, ideal für SIEM-Ingestion.
| Option | Werte | Standard | Beschreibung |
|---|
--api-key | Organisations-API-Schlüssel | Fallback: ZEUSLOCK_API_KEY, dann der gespeicherte Schlüssel | Gesendet als X-API-Key |
--since | Backend-next_cursor | gespeicherter Cursor (tail) | Ein Cursor, kein Datum |
pull --from / --to / --days | ISO-Datum, Epoch oder Tageszahl | keiner | --days wird zu start_time; schließt --from aus |
--category / --severity | Kategorie-String; unknown–critical | keiner | Schweregrad ist ein Minimum; DLP-Ereignisse nutzen Kategorie dlp |
--limit | 1–500 | 100 | Seitengröße pro Anfrage |
pull --format | jsonl, json | jsonl | JSON umhüllt die Seite |
tail --interval / --cursor-name / --reset-cursor | Sekunden; stabiler Name; Boolesch | 5 / default / off | --reset-cursor ignoriert den gespeicherten Cursor für diesen Lauf |
zeuslock deploy gpo-config / agent-verify
zeuslock deploy gpo-config --api-key zl_your_key_here --output zeuslock-deploy
zeuslock deploy gpo-config --artifact agent --create-key-name fleet-deploy
zeuslock deploy agent-verify --hostname CLIENT01 --status online
gpo-config erzeugt lokale Deployment-Dateien: Chrome/Edge-Force-Install-Richtlinien und ExtensionSettings-JSON, die Windows-Agent-Richtlinie .reg (ServerUrl/LicenseKey unter HKLM\SOFTWARE\Policies\ZeusLock), eine agent-config.json und eine geheimnislose deployment-summary.json. Extension-Artefakte erfordern den Business/Enterprise-Plan. Schlüssel-Priorität: --api-key → --create-key-name → --key-id → der einzige aktive entschlüsselbare Schlüssel. agent-verify prüft Enrollment/Heartbeat über GET /api/agents und beendet mit Fehlercode, wenn nicht verifiziert — nützlich nach einem GPO-Rollout.
| Option | Werte | Standard | Beschreibung |
|---|
gpo-config --artifact | all, extension, agent | all | Zu erzeugende Artefaktgruppen |
gpo-config --browser | all, chrome, edge | all | Nur Extension-Artefakte |
gpo-config --output | Verzeichnis | zeuslock-deploy | Gleichnamige Dateien werden überschrieben |
gpo-config --api-key / --key-id / --create-key-name | — | keiner | In die erzeugten Dateien einzubettender Schlüssel (nie in der Zusammenfassung) |
agent-verify --agent-id / --hostname / --platform | exakte Id; Hostname ohne Groß-/Kleinschreibung; windows/macos/linux | keiner | Identitätsfilter über die Flotte |
agent-verify --status | online, offline, any | online | Erwarteter Zustand; Ergebnisse: verified, offline, online, not_found |
--json | Boolesch | aus | Maschinenlesbare JSON-Ausgabe |
zeuslock rules get / diff
zeuslock rules get --output zeuslock.rules.yaml
zeuslock rules get --scope policy --policy-id default --format json
zeuslock rules diff zeuslock.rules.yaml
Nur-Lese-Policy-as-Code: get exportiert den Live-Zustand als deterministisches YAML/JSON (schema_version: zeuslock.rules.v1, volatile Felder entfernt für saubere Diffs); diff vergleicht eine lokale Datei mit dem Live-Zustand und beendet mit Code 1 bei Abweichungen — ideal für Drift-Checks in CI. Kein Import/Apply: Richtlinien werden im Dashboard geändert.
| Option | Werte | Standard | Beschreibung |
|---|
--scope | policies, default, policy | policies | policies = Richtliniensystem + Gruppen; default = organisationsweites Default-Regelwerk; policy = eine Richtlinie |
--policy-id | Backend-Richtlinien-Id | erforderlich für Scope policy | |
get --format / --output | yaml, json | yaml / stdout | |
diff [file] | YAML- oder JSON-Export | zeuslock.rules.yaml|yml|json | diff --format json für Automatisierung |
Exit-Codes
| Befehl | Ungleich null wenn |
|---|
scan / hook run | Die Backend-Entscheidung erreicht die --fail-on-Schwelle |
rules diff | Abweichungen gefunden werden |
deploy agent-verify | Die Prüfung nicht verified ist |
status --require-license | Gesundheit, Bereitschaft oder Lizenz fehlschlägt |
| Alle Befehle | Authentifizierungs- oder Anfragefehler |