Zum Hauptinhalt springen

CLI-Referenz

Gilt für:
WindowsLinuxmacOSDocker

Übersicht​

dke-scanner-agent [OPTIONS] <COMMAND>

Beschreibung​

Scanner für die Bereitschaft der Post-Quantum-Kryptografie. Scannen Sie Systeme, Dateisysteme und Netzwerke nach quantenanfälligen kryptografischen Assets.

Globale Optionen​

Diese Optionen stehen für alle Befehle zur Verfügung:

OptionBeschreibungStandard
-h, --helpHilfeinformationen anzeigen-
-V, --versionVersionsinformationen anzeigen-
-v, --verboseAusführliche Ausgabe aktivieren (kann wiederholt werden: -v, -vv, -vvv, -vvvv)Aus

Detailgradstufen​

  • Keine Flags: Nur Info und Fehler
  • -v: + Warnungen
  • -vv: + Fortschrittsinformationen
  • -vvv: + Debug-Informationen
  • -vvvv: + Trace-Informationen (sehr detailliert)

CMDB-Kontextoptionen​

Diese Optionen sind für alle Scan-Befehle gemeinsam (filesystem, domain, agent, ci, source-code) und ermöglichen es, Scan-Funde mit CMDB-Configuration-Items zu verknüpfen.

OptionUmgebungsvariableBeschreibungStandard
--ci-id <ID>PQC_CI_IDCMDB-CI-Kennung (sys_id)-
--ci-name <NAME>PQC_CI_NAMEMenschenlesbarer Anwendungsname-
--ci-type <TYPE>PQC_CI_TYPECI-Typ in der CMDBApplication
--cmdb-adapter <ADAPTER>PQC_CMDB_ADAPTERCMDB-System: servicenow, jira, generic_rest, nonenone
--environment <ENV>PQC_ENVIRONMENTUmgebungsklassifizierung (production, staging, dev, test)unknown
--business-unit <UNIT>PQC_BUSINESS_UNITGeschäftseinheit, die die Anwendung besitzt-
--owner <OWNER>PQC_OWNERVerantwortliches Team oder E-Mail-
--tags <TAGS>PQC_TAGSKommagetrennte Tags-
--domain-map <PATH>PQC_DOMAIN_MAPPfad zur Domain-Mapping-YAML-Datei-
--auto-push-cmdb-Funde nach dem Scan automatisch in die CMDB übertragenfalse
Tipp

Wenn --ci-id und --ci-name angegeben sind, werden sie automatisch an jeden Fund in den Scan-Ergebnissen angehängt. Beim Veröffentlichen in ServiceNow wird ci_id dem Feld u_related_ci (CMDB sys_id) und ci_name dem Feld u_business_application zugeordnet.

Vorrang des CI-Kontexts​

Der CI-Kontext wird in dieser Reihenfolge aufgelöst (höchste Priorität zuerst):

  1. CLI-Flags: --ci-id, --ci-name usw.
  2. pqc.yaml: Konfigurationsdatei auf Repository-Ebene (für Quellcode-Scans)
  3. Domain-Mapping-Datei: --domain-map-YAML-Datei, die Domains Anwendungen zuordnet
  4. Keine: Keine CMDB-Verknüpfung (abwärtskompatibel)

pqc.yaml (Konfiguration auf Repository-Ebene)​

Platzieren Sie eine pqc.yaml-Datei im Wurzelverzeichnis Ihres Repositorys, um während Quellcode-Scans automatisch CI-Kontext bereitzustellen:

ci_id: "APP-1234"
ci_name: "My Application"
ci_type: "Application"
cmdb: "servicenow"
environment: "production"
business_unit: "Engineering"
tags:
- "pci-scope"
- "internet-facing"

Domain-Mapping-Datei​

Verwenden Sie eine Domain-Mapping-YAML-Datei, um Domains einer oder mehreren Anwendungen zuzuordnen. Dies ist besonders nützlich für gemeinsam genutzte Infrastruktur, bei der sich mehrere Anwendungen dieselbe Domain teilen:

domain_mappings:
"api.mybank.com":
apps:
- ci_id: "APP-4421"
ci_name: "e-banking web"
owner: "team-frontend"
- ci_id: "APP-4422"
ci_name: "e-banking mobile backend"
owner: "team-mobile"
shared_infra: true
environment: "production"
business_unit: "Retail Banking"

"auth.mybank.com":
apps:
- ci_id: "APP-4430"
ci_name: "IAM service"
owner: "team-security"
environment: "production"

Beispiele für CMDB-Kontext​

# Dateisystem-Scan mit CI-Verknüpfung
dke-scanner-agent filesystem \
--path /etc/ssl/certs \
--ci-id "APP-1234" \
--ci-name "My Application" \
--environment production \
--owner "team-security"

# Domain-Scan mit Domain-Mapping
dke-scanner-agent domain \
--target api.mybank.com \
--ci-id "APP-4421" \
--ci-name "e-banking portal" \
--domain-map ./pqc-domain-map.yaml

# Verwendung von Umgebungsvariablen
export PQC_CI_ID="APP-1234"
export PQC_CI_NAME="My App"
export PQC_ENVIRONMENT="production"
dke-scanner-agent filesystem --path /certs

Befehle​

dke-scanner-agent filesystem​

Dateisystem nach Zertifikaten und Keystores scannen.

dke-scanner-agent filesystem [OPTIONS]

Optionen​

OptionBeschreibungStandard
-p, --path <PATH>Zu scannender Wurzelpfad. (aktuelles Verzeichnis)
-r, --recursiveRekursiver Scantrue
--max-depth <N>Maximale Verzeichnistiefe10
--follow-symlinksSymbolischen Links folgenfalse
--extensions <EXTS>Zu scannende Dateierweiterungen (kommagetrennt).jks,.p12,.pfx,.pem,.crt,.cer,.key
--exclude <PATTERNS>Auszuschließende Muster (kommagetrennt)node_modules,.git,target
--threads <N>Anzahl paralleler Threads4
-o, --output <FILE>Pfad der Ausgabedatei (stdout, falls nicht angegeben)-
--format <FMT>Ausgabeformat: json, yaml, terminal, htmljson
--scan-windows-certstoreWindows-Zertifikatspeicher scannen (nur Windows)false
--certstore-name <NAME>Bestimmter Windows-Zertifikatspeicher: MY, ROOT, CA, TRUST oder ALLALL

Beispiele​

# Einfacher Dateisystem-Scan
dke-scanner-agent filesystem --path /etc/ssl/certs

# Aktuelles Verzeichnis rekursiv scannen
dke-scanner-agent filesystem

# Mit Tiefenbegrenzung scannen
dke-scanner-agent filesystem --path /opt --max-depth 3

# Nur bestimmte Dateitypen scannen
dke-scanner-agent filesystem --path /certs --extensions .pem,.crt

# Zusätzliche Muster ausschließen
dke-scanner-agent filesystem --path /app --exclude "node_modules,.git,target,*.bak,*.old"

# Nicht-rekursiver Scan
dke-scanner-agent filesystem --path /etc/ssl --recursive false

# In Datei mit bestimmtem Format speichern
dke-scanner-agent filesystem --path . --output results.json --format json
dke-scanner-agent filesystem --path . --output results.yaml --format yaml
dke-scanner-agent filesystem --path . --output report.html --format html

# Windows: Windows-Zertifikatspeicher scannen
dke-scanner-agent filesystem --scan-windows-certstore

# Windows: Bestimmten Zertifikatspeicher scannen
dke-scanner-agent filesystem --scan-windows-certstore --certstore-name MY

# Paralleles Scannen mit 8 Threads
dke-scanner-agent filesystem --path /large-dir --threads 8

# Symbolischen Links folgen
dke-scanner-agent filesystem --path /data --follow-symlinks

Unterstützte Dateiformate​

  • Java KeyStore: .jks
  • PKCS#12: .p12, .pfx
  • PEM-Zertifikate: .pem, .crt, .cer
  • Private Schlüssel: .key, .pem
  • Windows-Zertifikatspeicher: LocalMachine- und CurrentUser-Speicher (MY, ROOT, CA, TRUST)
  • Konfigurationsdateien: Anhand des Inhalts erkannt

dke-scanner-agent domain​

Entfernte Domain über TLS-Verbindung scannen.

dke-scanner-agent domain [OPTIONS] --target <TARGET>

Optionen​

OptionBeschreibungStandard
-t, --target <TARGET>(Erforderlich) Ziel-Domain oder -IP-
-p, --port <PORT>Portnummer443
--timeout <SECS>Verbindungs-Timeout in Sekunden10
--detect-pq-kexPaketerfassung für die genaue Erkennung von PQ-Schlüsselaustausch aktivieren (erfordert erhöhte Berechtigungen)false
--interface <IF>Netzwerkschnittstelle für Paketerfassung (automatische Erkennung, falls nicht angegeben)Automatische Erkennung
--discover-subdomainsSubdomain-Entdeckung aktivierenfalse
--subdomain-api-key <KEY>WhoisXML-API-Schlüssel für die Subdomain-Entdeckung (oder Umgebungsvariable WHOISXML_API_KEY setzen)-
--max-subdomains <N>Maximale Anzahl zu scannender Subdomains (0 = unbegrenzt)10
-o, --output <FILE>Pfad der Ausgabedatei-
--format <FMT>Ausgabeformat: json, yaml, terminal, htmljson

Beispiele​

# Einzelne Domain scannen
dke-scanner-agent domain --target example.com

# Mit benutzerdefiniertem Port scannen
dke-scanner-agent domain --target api.bank.com --port 8443

# IP-Adresse scannen
dke-scanner-agent domain --target 203.0.113.10 --port 443

# Erkennung von Post-Quantum-Schlüsselaustausch aktivieren
sudo dke-scanner-agent domain --target example.com --detect-pq-kex

# Netzwerkschnittstelle für die Paketerfassung angeben
sudo dke-scanner-agent domain --target example.com --detect-pq-kex --interface eth0

# Subdomains entdecken und scannen
dke-scanner-agent domain --target example.com --discover-subdomains --subdomain-api-key YOUR_API_KEY

# Subdomain-Entdeckung begrenzen
dke-scanner-agent domain --target example.com --discover-subdomains --max-subdomains 5

# Langes Timeout für langsame Server
dke-scanner-agent domain --target slow-server.com --timeout 30

# Ergebnisse speichern
dke-scanner-agent domain --target example.com --output scan-results.json
dke-scanner-agent domain --target example.com --output report.html --format html

Umgebungsvariablen​

  • WHOISXML_API_KEY: API-Schlüssel für die Subdomain-Entdeckung (Alternative zu --subdomain-api-key)
Hinweis
  • Die Erkennung von Post-Quantum-Schlüsselaustausch (--detect-pq-kex) erfordert erhöhte Berechtigungen (sudo/Administrator)
  • Die Subdomain-Entdeckung erfordert einen WhoisXML-API-Schlüssel
  • Der Scanner erkennt und testet TLS-Verbindungen automatisch

dke-scanner-agent agent​

Lokales System scannen (Agentenmodus).

dke-scanner-agent agent [OPTIONS]

Optionen​

OptionBeschreibungStandard
--no-process-scanProzess-Scan überspringenfalse
--no-filesystem-scanDateisystem-Scan überspringenfalse
-o, --output <FILE>Pfad der Ausgabedatei-
--format <FMT>Ausgabeformat: json, yaml, terminal, htmljson

Beispiele​

# Einfacher Systemscan
sudo dke-scanner-agent agent

# Prozess-Scan überspringen (schneller)
sudo dke-scanner-agent agent --no-process-scan

# Dateisystem-Scan überspringen
sudo dke-scanner-agent agent --no-filesystem-scan

# Nur Prozesse scannen
sudo dke-scanner-agent agent --no-filesystem-scan

# In Datei speichern
sudo dke-scanner-agent agent --output system-scan.json

# HTML-Report
sudo dke-scanner-agent agent --output report.html --format html

# Ausführliche Ausgabe
sudo dke-scanner-agent agent -vvv --output scan.json

Plattformspezifische Anforderungen​

# Erfordert root oder CAP_SYS_PTRACE
sudo dke-scanner-agent agent

# Oder mit Fähigkeiten
sudo setcap cap_sys_ptrace=eip /usr/local/bin/dke-scanner-agent
dke-scanner-agent agent

dke-scanner-agent network​

PCAP- oder PcapNG-Netzwerkerfassungsdateien auf quantenanfällige kryptografische Handshakes (TLS und SSH) analysieren.

dke-scanner-agent network [OPTIONS] --pcap <FILE>

Optionen​

OptionBeschreibungStandard
--pcap <FILE>(Erforderlich) Zu analysierende PCAP- oder PcapNG-Datei-
--max-flows <N>Maximale Anzahl zu verfolgender Netzwerkflüsse100000
-o, --output <FILE>Pfad der Ausgabedatei (stdout, falls nicht angegeben)-
--format <FMT>Ausgabeformat: json, terminaljson

Beschreibung​

Der Befehl network führt eine Offline-Analyse von Paketerfassungsdateien durch. Er erfasst keinen Live-Datenverkehr. Stattdessen rekonstruiert er Netzwerkflüsse und parst kryptografische Handshakes, um die PQC-Bereitschaft zu bewerten:

  • TLS 1.2/1.3: Parst ClientHello- und ServerHello-Nachrichten, extrahiert unterstützte Gruppen, Key-Share-Erweiterungen und SNI
  • SSH 2.0: Parst KEXINIT-Nachrichten zur Aushandlung des Schlüsselaustauschalgorithmus

Unterstützte Dateiformate:

  • PCAP (libpcap-Format, .pcap)
  • PcapNG (Wireshark-Format, .pcapng)

PQC-Erkennung​

Der Scanner erkennt die folgenden Post-Quantum-Schlüsselaustauschalgorithmen:

Beispiele​

# Eine PCAP-Datei analysieren
dke-scanner-agent network --pcap capture.pcap

# Eine PcapNG-Datei analysieren (Wireshark-Export)
dke-scanner-agent network --pcap traffic.pcapng --output results.json

# Ergebnisse im Terminalformat anzeigen
dke-scanner-agent network --pcap capture.pcap --format terminal

# Flow-Verfolgung für große Erfassungen begrenzen
dke-scanner-agent network --pcap large_capture.pcap --max-flows 50000

# Analyseergebnisse speichern
dke-scanner-agent network --pcap capture.pcapng --output network-scan.json
Tipp

Erfassen Sie zunächst mit Wireshark oder tcpdump den Datenverkehr und analysieren Sie anschließend die resultierende Datei mit dem Scanner:
tcpdump -i eth0 -w capture.pcap "tcp port 443 or tcp port 22"


dke-scanner-agent serve​

Web-Dashboard-Server starten.

dke-scanner-agent serve [OPTIONS]

Optionen​

OptionBeschreibungStandard
-p, --port <PORT>Port, auf dem gelauscht wird3000
--open-browserBrowser automatisch öffnentrue

Beispiele​

# Server mit Standardeinstellungen starten
dke-scanner-agent serve

# Benutzerdefinierter Port
dke-scanner-agent serve --port 8080

# Automatisches Öffnen des Browsers deaktivieren
dke-scanner-agent serve --open-browser false

# Auf bestimmtem Port ausführen, ohne den Browser zu öffnen
dke-scanner-agent serve --port 5000 --open-browser false

Beschreibung​

Startet ein interaktives Web-Dashboard für:

  • Anzeigen von Scan-Ergebnissen
  • Risikoanalyse und Visualisierung
  • Compliance-Prüfung
  • Migrationsplanung
  • ServiceNow-Integration
  • CBOM-Export

Greifen Sie unter http://localhost:3000 (oder Ihrem angegebenen Port) auf das Dashboard zu.


dke-scanner-agent ci​

CI/CD-Modus – Quellcode scannen und CBOM generieren.

dke-scanner-agent ci [OPTIONS]

Optionen​

OptionBeschreibungStandard
--source-path <PATH>Zu scannender Quellcode-Pfad.
--max-depth <N>Maximale Verzeichnistiefe10
-o, --output <FILE>Pfad der Ausgabedatei-
--format <FMT>Ausgabeformat: json, sarifjson
--fail-on <LEVEL>CI bei Schweregradstufe fehlschlagen lassen: critical, high, medium, neverhigh

Beispiele​

# Aktuelles Verzeichnis scannen
dke-scanner-agent ci

# Bestimmtes Verzeichnis scannen
dke-scanner-agent ci --source-path /path/to/code

# SARIF für GitHub-/GitLab-Integration generieren
dke-scanner-agent ci --format sarif --output results.sarif

# Nur bei kritischen Funden fehlschlagen
dke-scanner-agent ci --fail-on critical

# Build niemals fehlschlagen lassen
dke-scanner-agent ci --fail-on never

# In Datei speichern
dke-scanner-agent ci --output ci-results.json

# Scan-Tiefe begrenzen
dke-scanner-agent ci --source-path . --max-depth 5

Exit-Codes​

CodeBedeutung
0Erfolg (keine Probleme oder Schweregrad unter dem Schwellenwert)
1Funde am oder über dem --fail-on-Schwellenwert
2Scan-Fehler

Beispiele für die CI/CD-Integration​

- name: PQC Security Scan
run: |
dke-scanner-agent ci --format sarif --output results.sarif

- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results.sarif

dke-scanner-agent source-code​

Quellcode-Krypto-Scanner mit Git-Provider-Integrationen.

dke-scanner-agent source-code [OPTIONS]

Optionen​

OptionBeschreibungStandard
-p, --path <PATH>Zu scannender lokaler Pfad-
--gitlab-project <PROJECT>GitLab-Projekt (group/project)-
--gitlab-token <TOKEN>GitLab-TokenUmgebungsvariable GITLAB_TOKEN
--gitlab-url <URL>GitLab-Basis-URLhttps://gitlab.com
--github-repo <REPO>GitHub-Repository (owner/repo)-
--github-token <TOKEN>GitHub-TokenUmgebungsvariable GITHUB_TOKEN
--github-url <URL>GitHub-Basis-URLhttps://api.github.com
--azdo-org <ORG>Azure-DevOps-Organisation-
--azdo-project <PROJECT>Azure-DevOps-Projekt-
--azdo-repo <REPO>Azure-DevOps-Repository-
--azdo-token <TOKEN>Azure-DevOps-PAT-TokenUmgebungsvariable AZDO_TOKEN
--azdo-url <URL>Azure-DevOps-Basis-URLhttps://dev.azure.com
--branch <BRANCH>Zu scannender Branchmain/master
--languages <LANGS>Zu scannende Sprachen (kommagetrennt)Automatische Erkennung
--max-depth <N>Maximale Verzeichnistiefe10
-o, --output <FILE>Pfad der Ausgabedatei-
--format <FMT>Ausgabeformat: json, yaml, terminal, htmljson

Beispiele​

# Lokales Verzeichnis scannen
dke-scanner-agent source-code --path /path/to/code

# GitLab-Projekt scannen
dke-scanner-agent source-code \
--gitlab-project mygroup/myproject \
--gitlab-token $GITLAB_TOKEN

# GitHub-Repository scannen
dke-scanner-agent source-code \
--github-repo owner/repo \
--github-token $GITHUB_TOKEN

# Azure-DevOps-Repository scannen
dke-scanner-agent source-code \
--azdo-org myorg \
--azdo-project myproject \
--azdo-repo myrepo \
--azdo-token $AZDO_TOKEN

# Bestimmten Branch scannen
dke-scanner-agent source-code \
--github-repo owner/repo \
--github-token $GITHUB_TOKEN \
--branch develop

# Bestimmte Sprachen scannen
dke-scanner-agent source-code \
--path . \
--languages "java,python,go"

# Selbst gehostetes GitLab
dke-scanner-agent source-code \
--gitlab-project group/project \
--gitlab-url https://gitlab.company.com \
--gitlab-token $TOKEN

# GitHub Enterprise
dke-scanner-agent source-code \
--github-repo org/repo \
--github-url https://github.company.com/api/v3 \
--github-token $TOKEN

# Ergebnisse speichern
dke-scanner-agent source-code --path . --output scan.json --format json

Umgebungsvariablen​

  • GITLAB_TOKEN: Persönliches GitLab-Zugriffstoken
  • GITHUB_TOKEN: Persönliches GitHub-Zugriffstoken
  • AZDO_TOKEN: Persönliches Azure-DevOps-Zugriffstoken (PAT)

Unterstützte Sprachen​

Der Scanner erkennt und analysiert automatisch kryptografische Nutzung in:

Sprachen

  • Java
  • Python
  • Go
  • JavaScript/TypeScript
  • C/C++
  • C#
  • Ruby
  • PHP
  • Und weitere ...

dke-scanner-agent compliance​

Compliance gegen Richtlinien-Frameworks prüfen.

dke-scanner-agent compliance [OPTIONS] --scan-results <FILE>

Optionen​

OptionBeschreibungStandard
-s, --scan-results <FILE>(Erforderlich) JSON-Datei mit Scan-Ergebnissen-
-f, --frameworks <LIST>Compliance-Frameworks (kommagetrennt oder all)all
--custom-policy-pdf <FILE>Benutzerdefinierte Richtlinien-PDF-Datei, aus der Regeln extrahiert werden-
--custom-policy-name <NAME>Name der benutzerdefinierten Richtlinie (erforderlich mit --custom-policy-pdf)-
--organization <NAME>Organisationsname für den Report-
-o, --output <DIR>Ausgabeverzeichnis für Reports.
--format <FMT>Ausgabeformat: json, html, pdf, both, allboth

Unterstützte Frameworks​

FrameworkBeschreibung
NIST-800-52NIST-Richtlinien für TLS-Implementierungen
NIST-800-131AKryptografische Algorithmen und Schlüssellängen
CISCIS-Benchmarks
PCI-DSS-4.0Payment Card Industry Data Security Standard
HIPAAHealth Insurance Portability and Accountability Act
GDPRDatenschutz-Grundverordnung
SOC2Service Organization Control 2
ISO27001Informationssicherheitsmanagement
FedRAMPFederal Risk and Authorization Management Program
AlgerianAlgerische kryptografische Standards
allGegen alle Frameworks prüfen

Ausgabeformate​

FormatBeschreibung
jsonNur JSON-Report
htmlNur HTML-Report
pdfNur PDF-Report
bothJSON- und HTML-Reports
allJSON-, HTML- und PDF-Reports

Beispiele​

# Gegen alle Frameworks prüfen
dke-scanner-agent compliance --scan-results scan.json

# Bestimmte Frameworks prüfen
dke-scanner-agent compliance \
--scan-results scan.json \
--frameworks "NIST-800-52,PCI-DSS-4.0,HIPAA"

# Mit benutzerdefinierter Richtlinien-PDF
dke-scanner-agent compliance \
--scan-results scan.json \
--frameworks all \
--custom-policy-pdf company-policy.pdf \
--custom-policy-name "Company Security Policy"

# Mit Organisationsname
dke-scanner-agent compliance \
--scan-results scan.json \
--organization "Acme Corporation" \
--output reports/

# Alle Formate generieren
dke-scanner-agent compliance \
--scan-results scan.json \
--frameworks all \
--format all \
--output compliance-reports/

# Nur JSON für Automatisierung
dke-scanner-agent compliance \
--scan-results scan.json \
--frameworks "NIST-800-52,PCI-DSS-4.0" \
--format json \
--output results/

# PDF-Report für Prüfer
dke-scanner-agent compliance \
--scan-results scan.json \
--frameworks all \
--organization "Acme Corp" \
--format pdf \
--output audit-reports/

dke-scanner-agent servicenow​

Scan-Ergebnisse in ServiceNow veröffentlichen.

dke-scanner-agent servicenow [OPTIONS] --instance <URL> --input <FILE>

Optionen​

OptionBeschreibungStandard
--instance <URL>(Erforderlich) ServiceNow-Instanz-URL (z. B. https://company.service-now.com)Umgebungsvariable SERVICENOW_INSTANCE
--username <USER>Benutzername für Basic AuthUmgebungsvariable SERVICENOW_USER
--password <PASS>Passwort für Basic AuthUmgebungsvariable SERVICENOW_PASSWORD
--token <TOKEN>OAuth-Token (Alternative zu Benutzername/Passwort)Umgebungsvariable SERVICENOW_TOKEN
--table-name <NAME>Benutzerdefinierter Tabellennamex_1598283_pqcsca_0_crypto_asset
--auto-incidentsIncidents für kritische Schwachstellen automatisch erstellentrue
--test-connectionNur Verbindung testenfalse
-i, --input <FILE>(Erforderlich) Zu veröffentlichende Scan-Ergebnisdatei-

Authentifizierung​

Es werden zwei Authentifizierungsmethoden unterstützt:

  1. Basic Auth: --username und --password
  2. OAuth-Token: --token

Beispiele​

# Basic-Authentifizierung
dke-scanner-agent servicenow \
--instance https://company.service-now.com \
--username admin \
--password secret \
--input scan-results.json

# OAuth-Token-Authentifizierung
dke-scanner-agent servicenow \
--instance https://company.service-now.com \
--token $SERVICENOW_TOKEN \
--input scan-results.json

# Verwendung von Umgebungsvariablen
export SERVICENOW_INSTANCE="https://company.service-now.com"
export SERVICENOW_USER="admin"
export SERVICENOW_PASSWORD="secret"
dke-scanner-agent servicenow --input scan-results.json

# Verbindung testen
dke-scanner-agent servicenow \
--instance https://company.service-now.com \
--token $TOKEN \
--test-connection

# Benutzerdefinierte Tabelle und Auto-Incidents deaktivieren
dke-scanner-agent servicenow \
--instance https://company.service-now.com \
--token $TOKEN \
--input scan.json \
--table-name custom_crypto_assets \
--auto-incidents false

# Vollständiger Workflow
dke-scanner-agent agent --output scan.json
dke-scanner-agent servicenow \
--instance $SERVICENOW_INSTANCE \
--token $SERVICENOW_TOKEN \
--input scan.json

CMDB-CI-Verknüpfung​

Wenn Scan-Ergebnisse ci_id und ci_name enthalten (über CMDB-Kontextoptionen gesetzt), werden diese beim Veröffentlichen automatisch ServiceNow-Feldern zugeordnet:

Fund-FeldServiceNow-FeldBeschreibung
ci_idu_related_ciCMDB-CI-sys_id (32-stelliges Hex) – erstellt eine Verknüpfung zum Configuration Item
ci_nameu_business_applicationMenschenlesbarer Anwendungsname
environmentu_environmentUmgebungsklassifizierung (Production, Staging, Dev)
Hinweis

Die ci_id muss eine gültige 32-stellige hexadezimale ServiceNow-sys_id sein. Wird ein ungültiges Format angegeben, bleibt das Feld in ServiceNow leer.

Umgebungsvariablen​

  • SERVICENOW_INSTANCE: ServiceNow-Instanz-URL
  • SERVICENOW_USER: Benutzername für Basic Auth
  • SERVICENOW_PASSWORD: Passwort für Basic Auth
  • SERVICENOW_TOKEN: ServiceNow-OAuth-Token

Ausgabe​

Der Befehl liefert eine Zusammenfassung, die Folgendes enthält:

  • Anzahl der erstellten/aktualisierten Assets
  • Anzahl der erstellten Incidents (für kritische Funde)
  • Aufgetretene Fehler

dke-scanner-agent cbom​

Scan-Ergebnisse als CBOM (Cryptography Bill of Materials) exportieren.

dke-scanner-agent cbom [OPTIONS] --input <FILE>

Optionen​

OptionBeschreibungStandard
-i, --input <FILE>(Erforderlich) Zu konvertierende Scan-Ergebnisdatei (JSON)-
-o, --output <FILE>Ausgabedatei für CBOM<input>-cbom.json
--app-name <NAME>Anwendungsname für CBOM-MetadatenAus dem Scan
--app-version <VER>Anwendungsversion für CBOM-Metadaten1.0
--prettyJSON-Ausgabe hübsch formatierentrue

Beschreibung​

Generiert eine CycloneDX-1.7-CBOM (Cryptography Bill of Materials) aus Scan-Ergebnissen. Das CBOM-Format bietet:

  • Standardisierte Bestandsaufnahme kryptografischer Assets
  • Komponentenbeziehungen und Abhängigkeiten
  • Konformität mit der CycloneDX-Spezifikation
  • Integration mit SBOM-Tools und -Workflows

Beispiele​

# Einfache CBOM-Generierung
dke-scanner-agent cbom --input scan-results.json

# Benutzerdefinierte Ausgabedatei
dke-scanner-agent cbom \
--input scan-results.json \
--output app-cbom.json

# Mit Anwendungsmetadaten
dke-scanner-agent cbom \
--input scan.json \
--app-name "Payment Gateway" \
--app-version "2.5.1" \
--output payment-gateway-cbom.json

# Kompaktes JSON (kein Pretty-Print)
dke-scanner-agent cbom \
--input scan.json \
--pretty false

# Vollständiger Workflow
dke-scanner-agent filesystem --path /app --output scan.json
dke-scanner-agent cbom --input scan.json --app-name "MyApp" --app-version "1.0"

CBOM-Ausgabe​

Die generierte CBOM enthält:

  • Komponenten: Kryptografische Assets (Algorithmen, Zertifikate, Schlüssel, Protokolle)
  • Abhängigkeiten: Beziehungen zwischen Komponenten
  • Metadaten: Zeitstempel, Tool-Informationen, Anwendungsdetails
  • Eigenschaften: Risikowerte, Quantenanfälligkeitsstatus, Compliance-Informationen

Validierung​

Das Tool validiert die generierte CBOM automatisch gegen die CycloneDX-1.7-Spezifikation:

  • Format- und Versionskonformität
  • Validierung der Komponentenstruktur
  • Validierung der kryptografischen Eigenschaften
  • Konsistenz der Asset-Typen

Ausgabeformate​

Alle Scan-Befehle unterstützen mehrere Ausgabeformate:

FormatBefehlBeschreibung
JSON (Standard)--format jsonStrukturierte JSON-Ausgabe für die programmatische Verarbeitung
YAML--format yamlMenschenlesbares YAML-Format
HTML--format htmlInteraktiver HTML-Report mit Visualisierungen
Terminal--format terminalHübsch formatierte Terminalausgabe mit Farben (interaktive Nutzung)
SARIF (nur CI)--format sarifStatic Analysis Results Interchange Format für CI/CD

Gängige Workflows​

# Schritt 1: Agent-Scan auf allen Servern
ssh server1 "sudo dke-scanner-agent agent --output server1.json"
ssh server2 "sudo dke-scanner-agent agent --output server2.json"

# Schritt 2: Dateisystem-Scan auf gemeinsam genutztem Speicher
dke-scanner-agent filesystem --path /mnt/shared --output shared.json

# Schritt 3: Domain-Scan für externe Endpunkte
dke-scanner-agent domain --target api.example.com --output api-scan.json

# Schritt 4: Dashboard starten, um alle Ergebnisse anzuzeigen
dke-scanner-agent serve

Exit-Codes​

CodeBedeutung
0Erfolg
1Allgemeiner Fehler oder Funde über dem Schwellenwert (CI-Modus)
2Scan-Fehler oder ungültige Argumente
3Berechtigung verweigert

Fehlerbehebung​


Umgebungsvariablen​

Globale Umgebungsvariablen, die das Verhalten des Scanners beeinflussen:

VariableBeschreibungStandard
RUST_LOGRust-Logging-Level-
WHOISXML_API_KEYWhoisXML-API-Schlüssel für die Subdomain-Entdeckung-
GITLAB_TOKENPersönliches GitLab-Zugriffstoken-
GITHUB_TOKENPersönliches GitHub-Zugriffstoken-
AZDO_TOKENAzure-DevOps-PAT-Token-
SERVICENOW_INSTANCEServiceNow-Instanz-URL-
SERVICENOW_USERServiceNow-Benutzername-
SERVICENOW_PASSWORDServiceNow-Passwort-
SERVICENOW_TOKENServiceNow-OAuth-Token-
PQC_CI_IDCMDB-CI-Kennung (sys_id)-
PQC_CI_NAMEMenschenlesbarer CMDB-CI-Name-
PQC_CI_TYPECI-Typ in der CMDBApplication
PQC_CMDB_ADAPTERCMDB-System (servicenow, jira, generic_rest, none)none
PQC_ENVIRONMENTUmgebungsklassifizierungunknown
PQC_BUSINESS_UNITGeschäftseinheit-
PQC_OWNERVerantwortliches Team oder E-Mail-
PQC_TAGSKommagetrennte Tags-
PQC_DOMAIN_MAPPfad zum Domain-Mapping-YAML-

Beispiele​

# GitLab-Token setzen
export GITLAB_TOKEN="glpat-xxxxxxxxxxxxxxxxxxxx"

# ServiceNow-Anmeldedaten setzen
export SERVICENOW_INSTANCE="https://company.service-now.com"
export SERVICENOW_TOKEN="your-oauth-token"

# CMDB-Kontext setzen
export PQC_CI_ID="a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"
export PQC_CI_NAME="Payment Gateway"
export PQC_ENVIRONMENT="production"

# Umgebungsvariablen verwenden
dke-scanner-agent source-code --gitlab-project mygroup/myproject
dke-scanner-agent servicenow --input scan.json

Best Practices​

Empfohlene Praktiken

Regelmäßiges Scannen

Planen Sie tägliche Agent-Scans per cron

Anmeldedaten sichern

Verwenden Sie Umgebungsvariablen, keine Befehlszeilenargumente

CI/CD-Integration

Fügen Sie Scans zu Ihrer Deployment-Pipeline hinzu

Compliance-Reporting

Generieren Sie vierteljährliche Compliance-Reports


Leistungstipps​



Hinweis

Diese Dokumentation spiegelt die aktuelle Version der PQC-Scanner-CLI wider. Versionsspezifische Änderungen finden Sie im Projekt-Changelog. Zuletzt aktualisiert: Januar 2025 | Scanner-Version: 1.0+ | API-Version: v1