CLI-Befehlsreferenz

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

BefehlZweck
auth loginAnmeldung mit E-Mail/Passwort (MFA unterstützt), Token gespeichert
whoamiZeigt den angemeldeten Benutzer
auth api-key set/status/clearSpeichert, prüft oder entfernt den Organisations-API-Schlüssel
statusCLI-Kontext, Backend-Gesundheit, optionale Lizenzprüfung
scanAnalysiert Datei, Verzeichnis oder stdin mit der DLP-Richtlinie
anonymizeAnonymisiert eine UTF-8-Textdatei
hook install / runGit-Pre-Commit-Hook, der gestagte Dateien scannt
incidents list / stats / exportVorfälle, Statistiken und CSV/JSON-Export
agents list / revokeÜbersicht und Widerruf der Agenten-Flotte
extensions statusAktive Browser-Erweiterungen
users list / removeBenutzerverwaltung der Organisation
keys list / create / revokeVerwaltung der Organisations-API-Schlüssel
shadow-ai stats / tools / usersShadow-AI-Erkennungsdaten
mcp stats / events / serversMCP-Überwachungsdaten
siem pull / tailAbruf von OCSF-SIEM-Ereignissen (eine Seite oder fortlaufend)
deploy gpo-config / agent-verifyDeployment-Artefakte und Enrollment-Prüfung
rules get / diffDLP-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.

AnmeldedatenVerwendet von
Benutzersitzung / CLI-Zugriffstokenwhoami, 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

VariableBeschreibung
ZEUSLOCK_API_URLBackend-URL; Standard https://api.zeuslock.ai
ZEUSLOCK_API_TOKENBearer-Token für benutzerauthentifizierte Befehle (z. B. CLI-Zugriffstoken)
ZEUSLOCK_API_KEYOrganisations-API-Schlüssel für Maschinenbefehle
ZEUSLOCK_EMAIL / ZEUSLOCK_PASSWORD / ZEUSLOCK_MFA_CODENicht-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

OptionWerteStandardBeschreibung
--email / -u, --usernameKonto-E-MailZEUSLOCK_EMAILWird bei Fehlen abgefragt
--passwordZEUSLOCK_PASSWORDWird interaktiv abgefragt, wenn weggelassen; nie gespeichert
--mfa-codeZEUSLOCK_MFA_CODEGenutzt, wenn das Backend MFA verlangt; sonst abgefragt
--recaptcha-tokenkeinerFür Backends, die reCAPTCHA beim Login erzwingen
--api-urlURLZEUSLOCK_API_URLBackend für die Authentifizierung
--jsonBooleschausMaschinenlesbare 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-keyZEUSLOCK_API_KEY → gespeicherter Schlüssel.

zeuslock status

zeuslock status
zeuslock status --api-key zl_your_key_here --require-license
zeuslock status --json
OptionWerteStandardBeschreibung
--api-keyOrganisations-API-SchlüsselFallback: ZEUSLOCK_API_KEY, dann der gespeicherte SchlüsselAktiviert die Lizenzprüfung über /api/v1/validate-license
--require-licenseBooleschausBeendet mit Fehlercode, außer Gesundheit, Bereitschaft und Lizenz bestehen
--jsonBooleschausMaschinenlesbare 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.

OptionWerteStandardBeschreibung
[path] / --stdinDatei, Verzeichnis oder stdinerforderlichSchließen sich aus; stdin wird als Text gesendet
--api-keyOrganisations-API-SchlüsselFallback: ZEUSLOCK_API_KEY, dann der gespeicherte SchlüsselGesendet als X-API-Key
--fail-onalert, block, neverblockExit-Code-Schwelle: alert schlägt bei alert+block fehl; never nie
--source / --platform / --hostname / --path / --user-emailBeliebiger Textcli, cli, lokaler Hostname, /cli/<name>, keinerMetadaten am Vorfall
--include-sensitiveBooleschausNimmt Anonymisierungstabellen in die JSON-Ausgabe auf
--jsonBooleschausMaschinenlesbare 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.

OptionWerteStandardBeschreibung
<file>UTF-8-TextdateierforderlichGesendet als {"text": …}
--api-keyOrganisations-API-SchlüsselFallback: ZEUSLOCK_API_KEY, dann der gespeicherte SchlüsselGesendet als X-API-Key
--outputBeschreibbarer PfadstdoutSchreibt den anonymisierten Text in eine Datei
--include-sensitive-mapBooleschausNimmt Original→maskiert-Ersetzungen in die JSON-Ausgabe auf
--jsonBooleschausMaschinenlesbare 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.

OptionWerteStandardBeschreibung
--repoPfad des Git-Repositorysaktuelles VerzeichnisAufgelöst über git rev-parse
install --fail-onalert, blockalertIn den erzeugten Hook geschrieben
run --fail-onalert, block, neveralertBlockier-Schwelle für einen manuellen Lauf
install --forceBooleschausErsetzt einen vorhandenen Pre-Commit-Hook
run --api-key / run --user-emailFallback: ZEUSLOCK_API_KEY, dann der gespeicherte SchlüsselAuthentifizierung und Vorfalls-Zuordnung
--jsonBooleschausMaschinenlesbare 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
OptionWerteStandardBeschreibung
list/export --days7, 30, 903090 und der Export erfordern Business/Enterprise
stats --days1, 7, 30, 36530Erfordert den Business- oder Enterprise-Plan
--severitycritical, warningkeinerwarning umfasst high, medium und low
--searchBeliebiger TextkeinerSucht E-Mail, URL und Fundtyp
--jailbreakBooleschausNur Vorfälle mit jailbreak_attempt-Fund
export --format / --outputcsv, jsoncsv / incidents-<timestamp>Beliebige Tageswerte und --from/--to werden nicht unterstützt (Dashboard-Parität)
--jsonBooleschausMaschinenlesbare JSON-Ausgabe

zeuslock agents / extensions

zeuslock agents list --status offline --search linux
zeuslock agents revoke AGENT-123 --yes
zeuslock extensions status --json
OptionWerteStandardBeschreibung
agents list --statusall, online, offlineallSpiegelt die Statusauswahl des Dashboards
agents list --searchBeliebiger TextkeinerSucht Hostname und Plattform; update_available, wenn ein neuerer Agent existiert
agents revoke <agent_id>Exakte Id aus agents listerforderlichÜberspringt die Bestätigungsabfrage (für Skripte nötig)
extensions statusAktive Erweiterungen mit Zählern (30-Minuten-Aktivitätsfenster)
--json / --yesBooleschausMaschinenlesbare 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
OptionWerteStandardBeschreibung
users list --search / --roleBeliebiger TextkeinerRollen aus GET /api/users/roles (planabhängig)
users remove <user>Benutzer-Id, user_id oder E-MailerforderlichVerweigert Selbstentfernung und das Entfernen des letzten aktiven Admins
keys list --statusall, active, revokedallVollständige Schlüssel verborgen außer mit --show-secret
keys create --nameBeliebiger TexterforderlichGibt den vollständigen Schlüssel einmal aus
keys revoke <key_id>Schlüssel-Id aus keys listerforderlichVerweigert bereits widerrufene Schlüssel (ein zweites DELETE würde endgültig löschen)
--yes / --jsonBooleschausÜ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.

OptionWerteStandardBeschreibung
--days7, 30, 9030Dashboard-Fenster (mcp servers fest auf 90)
shadow-ai --sourceall, endpoint, browser, bothallWo das Tool erkannt wurde
shadow-ai --status / --categorysanctioned/shadow; chatbot, coding_assistant, image_gen, agent, otherallDashboard-Filterwerte
mcp events --transport / --direction / --decisionhttp/sse/stdio; client_to_server/server_to_client; allow/alert/blockallServerseitige Filter; Seitengröße 50 (Dashboard-Parität)
mcp events --method / --search / --cursorz. B. tools/call; freier Text; opaker Cursorkeiner--cursor setzt am next_cursor einer vorherigen --json-Seite fort
--jsonBooleschausMaschinenlesbare 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.

OptionWerteStandardBeschreibung
--api-keyOrganisations-API-SchlüsselFallback: ZEUSLOCK_API_KEY, dann der gespeicherte SchlüsselGesendet als X-API-Key
--sinceBackend-next_cursorgespeicherter Cursor (tail)Ein Cursor, kein Datum
pull --from / --to / --daysISO-Datum, Epoch oder Tageszahlkeiner--days wird zu start_time; schließt --from aus
--category / --severityKategorie-String; unknowncriticalkeinerSchweregrad ist ein Minimum; DLP-Ereignisse nutzen Kategorie dlp
--limit1500100Seitengröße pro Anfrage
pull --formatjsonl, jsonjsonlJSON umhüllt die Seite
tail --interval / --cursor-name / --reset-cursorSekunden; stabiler Name; Boolesch5 / 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.

OptionWerteStandardBeschreibung
gpo-config --artifactall, extension, agentallZu erzeugende Artefaktgruppen
gpo-config --browserall, chrome, edgeallNur Extension-Artefakte
gpo-config --outputVerzeichniszeuslock-deployGleichnamige Dateien werden überschrieben
gpo-config --api-key / --key-id / --create-key-namekeinerIn die erzeugten Dateien einzubettender Schlüssel (nie in der Zusammenfassung)
agent-verify --agent-id / --hostname / --platformexakte Id; Hostname ohne Groß-/Kleinschreibung; windows/macos/linuxkeinerIdentitätsfilter über die Flotte
agent-verify --statusonline, offline, anyonlineErwarteter Zustand; Ergebnisse: verified, offline, online, not_found
--jsonBooleschausMaschinenlesbare 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.

OptionWerteStandardBeschreibung
--scopepolicies, default, policypoliciespolicies = Richtliniensystem + Gruppen; default = organisationsweites Default-Regelwerk; policy = eine Richtlinie
--policy-idBackend-Richtlinien-Iderforderlich für Scope policy
get --format / --outputyaml, jsonyaml / stdout
diff [file]YAML- oder JSON-Exportzeuslock.rules.yaml|yml|jsondiff --format json für Automatisierung

Exit-Codes

BefehlUngleich null wenn
scan / hook runDie Backend-Entscheidung erreicht die --fail-on-Schwelle
rules diffAbweichungen gefunden werden
deploy agent-verifyDie Prüfung nicht verified ist
status --require-licenseGesundheit, Bereitschaft oder Lizenz fehlschlägt
Alle BefehleAuthentifizierungs- oder Anfragefehler