CLI-Referenz
CLI-Referenz
Vollständiger Referenzleitfaden für die Befehlszeilenschnittstelle des DuoKey PQC Scanners.
Ü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:
| Option | Beschreibung | Standard |
|---|---|---|
| -h, --help | Hilfeinformationen anzeigen | - |
| -V, --version | Versionsinformationen anzeigen | - |
| -v, --verbose | Ausfü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.
| Option | Umgebungsvariable | Beschreibung | Standard |
|---|---|---|---|
| --ci-id <ID> | PQC_CI_ID | CMDB-CI-Kennung (sys_id) | - |
| --ci-name <NAME> | PQC_CI_NAME | Menschenlesbarer Anwendungsname | - |
| --ci-type <TYPE> | PQC_CI_TYPE | CI-Typ in der CMDB | Application |
| --cmdb-adapter <ADAPTER> | PQC_CMDB_ADAPTER | CMDB-System: servicenow, jira, generic_rest, none | none |
| --environment <ENV> | PQC_ENVIRONMENT | Umgebungsklassifizierung (production, staging, dev, test) | unknown |
| --business-unit <UNIT> | PQC_BUSINESS_UNIT | Geschäftseinheit, die die Anwendung besitzt | - |
| --owner <OWNER> | PQC_OWNER | Verantwortliches Team oder E-Mail | - |
| --tags <TAGS> | PQC_TAGS | Kommagetrennte Tags | - |
| --domain-map <PATH> | PQC_DOMAIN_MAP | Pfad zur Domain-Mapping-YAML-Datei | - |
| --auto-push-cmdb | - | Funde nach dem Scan automatisch in die CMDB übertragen | false |
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):
- CLI-Flags:
--ci-id,--ci-nameusw. - pqc.yaml: Konfigurationsdatei auf Repository-Ebene (für Quellcode-Scans)
- Domain-Mapping-Datei:
--domain-map-YAML-Datei, die Domains Anwendungen zuordnet - 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
| Option | Beschreibung | Standard |
|---|---|---|
| -p, --path <PATH> | Zu scannender Wurzelpfad | . (aktuelles Verzeichnis) |
| -r, --recursive | Rekursiver Scan | true |
| --max-depth <N> | Maximale Verzeichnistiefe | 10 |
| --follow-symlinks | Symbolischen Links folgen | false |
| --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 Threads | 4 |
| -o, --output <FILE> | Pfad der Ausgabedatei (stdout, falls nicht angegeben) | - |
| --format <FMT> | Ausgabeformat: json, yaml, terminal, html | json |
| --scan-windows-certstore | Windows-Zertifikatspeicher scannen (nur Windows) | false |
| --certstore-name <NAME> | Bestimmter Windows-Zertifikatspeicher: MY, ROOT, CA, TRUST oder ALL | ALL |
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
| Option | Beschreibung | Standard |
|---|---|---|
| -t, --target <TARGET> | (Erforderlich) Ziel-Domain oder -IP | - |
| -p, --port <PORT> | Portnummer | 443 |
| --timeout <SECS> | Verbindungs-Timeout in Sekunden | 10 |
| --detect-pq-kex | Paketerfassung 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-subdomains | Subdomain-Entdeckung aktivieren | false |
| --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, html | json |
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)
- 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
| Option | Beschreibung | Standard |
|---|---|---|
| --no-process-scan | Prozess-Scan überspringen | false |
| --no-filesystem-scan | Dateisystem-Scan überspringen | false |
| -o, --output <FILE> | Pfad der Ausgabedatei | - |
| --format <FMT> | Ausgabeformat: json, yaml, terminal, html | json |
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
| Option | Beschreibung | Standard |
|---|---|---|
| --pcap <FILE> | (Erforderlich) Zu analysierende PCAP- oder PcapNG-Datei | - |
| --max-flows <N> | Maximale Anzahl zu verfolgender Netzwerkflüsse | 100000 |
| -o, --output <FILE> | Pfad der Ausgabedatei (stdout, falls nicht angegeben) | - |
| --format <FMT> | Ausgabeformat: json, terminal | json |
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
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
| Option | Beschreibung | Standard |
|---|---|---|
| -p, --port <PORT> | Port, auf dem gelauscht wird | 3000 |
| --open-browser | Browser automatisch öffnen | true |
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
| Option | Beschreibung | Standard |
|---|---|---|
| --source-path <PATH> | Zu scannender Quellcode-Pfad | . |
| --max-depth <N> | Maximale Verzeichnistiefe | 10 |
| -o, --output <FILE> | Pfad der Ausgabedatei | - |
| --format <FMT> | Ausgabeformat: json, sarif | json |
| --fail-on <LEVEL> | CI bei Schweregradstufe fehlschlagen lassen: critical, high, medium, never | high |
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
| Code | Bedeutung |
|---|---|
| 0 | Erfolg (keine Probleme oder Schweregrad unter dem Schwellenwert) |
| 1 | Funde am oder über dem --fail-on-Schwellenwert |
| 2 | Scan-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
| Option | Beschreibung | Standard |
|---|---|---|
| -p, --path <PATH> | Zu scannender lokaler Pfad | - |
| --gitlab-project <PROJECT> | GitLab-Projekt (group/project) | - |
| --gitlab-token <TOKEN> | GitLab-Token | Umgebungsvariable GITLAB_TOKEN |
| --gitlab-url <URL> | GitLab-Basis-URL | https://gitlab.com |
| --github-repo <REPO> | GitHub-Repository (owner/repo) | - |
| --github-token <TOKEN> | GitHub-Token | Umgebungsvariable GITHUB_TOKEN |
| --github-url <URL> | GitHub-Basis-URL | https://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-Token | Umgebungsvariable AZDO_TOKEN |
| --azdo-url <URL> | Azure-DevOps-Basis-URL | https://dev.azure.com |
| --branch <BRANCH> | Zu scannender Branch | main/master |
| --languages <LANGS> | Zu scannende Sprachen (kommagetrennt) | Automatische Erkennung |
| --max-depth <N> | Maximale Verzeichnistiefe | 10 |
| -o, --output <FILE> | Pfad der Ausgabedatei | - |
| --format <FMT> | Ausgabeformat: json, yaml, terminal, html | json |
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-ZugriffstokenGITHUB_TOKEN: Persönliches GitHub-ZugriffstokenAZDO_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
| Option | Beschreibung | Standard |
|---|---|---|
| -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, all | both |
Unterstützte Frameworks
| Framework | Beschreibung |
|---|---|
| NIST-800-52 | NIST-Richtlinien für TLS-Implementierungen |
| NIST-800-131A | Kryptografische Algorithmen und Schlüssellängen |
| CIS | CIS-Benchmarks |
| PCI-DSS-4.0 | Payment Card Industry Data Security Standard |
| HIPAA | Health Insurance Portability and Accountability Act |
| GDPR | Datenschutz-Grundverordnung |
| SOC2 | Service Organization Control 2 |
| ISO27001 | Informationssicherheitsmanagement |
| FedRAMP | Federal Risk and Authorization Management Program |
| Algerian | Algerische kryptografische Standards |
| all | Gegen alle Frameworks prüfen |
Ausgabeformate
| Format | Beschreibung |
|---|---|
| json | Nur JSON-Report |
| html | Nur HTML-Report |
| Nur PDF-Report | |
| both | JSON- und HTML-Reports |
| all | JSON-, 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
| Option | Beschreibung | Standard |
|---|---|---|
| --instance <URL> | (Erforderlich) ServiceNow-Instanz-URL (z. B. https://company.service-now.com) | Umgebungsvariable SERVICENOW_INSTANCE |
| --username <USER> | Benutzername für Basic Auth | Umgebungsvariable SERVICENOW_USER |
| --password <PASS> | Passwort für Basic Auth | Umgebungsvariable SERVICENOW_PASSWORD |
| --token <TOKEN> | OAuth-Token (Alternative zu Benutzername/Passwort) | Umgebungsvariable SERVICENOW_TOKEN |
| --table-name <NAME> | Benutzerdefinierter Tabellenname | x_1598283_pqcsca_0_crypto_asset |
| --auto-incidents | Incidents für kritische Schwachstellen automatisch erstellen | true |
| --test-connection | Nur Verbindung testen | false |
| -i, --input <FILE> | (Erforderlich) Zu veröffentlichende Scan-Ergebnisdatei | - |
Authentifizierung
Es werden zwei Authentifizierungsmethoden unterstützt:
- Basic Auth:
--usernameund--password - 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-Feld | ServiceNow-Feld | Beschreibung |
|---|---|---|
| ci_id | u_related_ci | CMDB-CI-sys_id (32-stelliges Hex) – erstellt eine Verknüpfung zum Configuration Item |
| ci_name | u_business_application | Menschenlesbarer Anwendungsname |
| environment | u_environment | Umgebungsklassifizierung (Production, Staging, Dev) |
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-URLSERVICENOW_USER: Benutzername für Basic AuthSERVICENOW_PASSWORD: Passwort für Basic AuthSERVICENOW_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
| Option | Beschreibung | Standard |
|---|---|---|
| -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-Metadaten | Aus dem Scan |
| --app-version <VER> | Anwendungsversion für CBOM-Metadaten | 1.0 |
| --pretty | JSON-Ausgabe hübsch formatieren | true |
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:
| Format | Befehl | Beschreibung |
|---|---|---|
| JSON (Standard) | --format json | Strukturierte JSON-Ausgabe für die programmatische Verarbeitung |
| YAML | --format yaml | Menschenlesbares YAML-Format |
| HTML | --format html | Interaktiver HTML-Report mit Visualisierungen |
| Terminal | --format terminal | Hübsch formatierte Terminalausgabe mit Farben (interaktive Nutzung) |
| SARIF (nur CI) | --format sarif | Static 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
| Code | Bedeutung |
|---|---|
| 0 | Erfolg |
| 1 | Allgemeiner Fehler oder Funde über dem Schwellenwert (CI-Modus) |
| 2 | Scan-Fehler oder ungültige Argumente |
| 3 | Berechtigung verweigert |
Fehlerbehebung
Umgebungsvariablen
Globale Umgebungsvariablen, die das Verhalten des Scanners beeinflussen:
| Variable | Beschreibung | Standard |
|---|---|---|
| RUST_LOG | Rust-Logging-Level | - |
| WHOISXML_API_KEY | WhoisXML-API-Schlüssel für die Subdomain-Entdeckung | - |
| GITLAB_TOKEN | Persönliches GitLab-Zugriffstoken | - |
| GITHUB_TOKEN | Persönliches GitHub-Zugriffstoken | - |
| AZDO_TOKEN | Azure-DevOps-PAT-Token | - |
| SERVICENOW_INSTANCE | ServiceNow-Instanz-URL | - |
| SERVICENOW_USER | ServiceNow-Benutzername | - |
| SERVICENOW_PASSWORD | ServiceNow-Passwort | - |
| SERVICENOW_TOKEN | ServiceNow-OAuth-Token | - |
| PQC_CI_ID | CMDB-CI-Kennung (sys_id) | - |
| PQC_CI_NAME | Menschenlesbarer CMDB-CI-Name | - |
| PQC_CI_TYPE | CI-Typ in der CMDB | Application |
| PQC_CMDB_ADAPTER | CMDB-System (servicenow, jira, generic_rest, none) | none |
| PQC_ENVIRONMENT | Umgebungsklassifizierung | unknown |
| PQC_BUSINESS_UNIT | Geschäftseinheit | - |
| PQC_OWNER | Verantwortliches Team oder E-Mail | - |
| PQC_TAGS | Kommagetrennte Tags | - |
| PQC_DOMAIN_MAP | Pfad 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
Siehe auch
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