Aller au contenu principal

Référence CLI

S'applique à :
WindowsLinuxmacOSDocker

Synopsis​

dke-scanner-agent [OPTIONS] <COMMAND>

Description​

Scanner de préparation à la cryptographie post-quantique. Analysez les systèmes, les systèmes de fichiers et les réseaux à la recherche d'actifs cryptographiques vulnérables au quantique.

Options globales​

Ces options sont disponibles pour toutes les commandes :

OptionDescriptionPar défaut
-h, --helpAfficher les informations d'aide-
-V, --versionAfficher les informations de version-
-v, --verboseActiver la sortie détaillée (peut être répété : -v, -vv, -vvv, -vvvv)Off

Niveaux de verbosité​

  • Aucune option : info et erreurs uniquement
  • -v : + avertissements
  • -vv : + informations de progression
  • -vvv : + informations de débogage
  • -vvvv : + informations de trace (très détaillé)

Options de contexte CMDB​

Ces options sont partagées par toutes les commandes d'analyse (filesystem, domain, agent, ci, source-code) et permettent de lier les constats d'analyse aux éléments de configuration (CI) de la CMDB.

OptionVariable d'env.DescriptionPar défaut
--ci-id <ID>PQC_CI_IDIdentifiant de CI CMDB (sys_id)-
--ci-name <NAME>PQC_CI_NAMENom d'application lisible par l'humain-
--ci-type <TYPE>PQC_CI_TYPEType de CI dans la CMDBApplication
--cmdb-adapter <ADAPTER>PQC_CMDB_ADAPTERSystème CMDB : servicenow, jira, generic_rest, nonenone
--environment <ENV>PQC_ENVIRONMENTClassification d'environnement (production, staging, dev, test)unknown
--business-unit <UNIT>PQC_BUSINESS_UNITUnité métier propriétaire de l'application-
--owner <OWNER>PQC_OWNERÉquipe ou e-mail propriétaire-
--tags <TAGS>PQC_TAGSÉtiquettes séparées par des virgules-
--domain-map <PATH>PQC_DOMAIN_MAPChemin du fichier YAML de mappage de domaines-
--auto-push-cmdb-Pousser automatiquement les constats vers la CMDB après l'analysefalse
Astuce

Lorsque --ci-id et --ci-name sont fournis, ils sont automatiquement associés à chaque constat des résultats d'analyse. Lors de la publication vers ServiceNow, ci_id est mappé au champ u_related_ci (sys_id CMDB) et ci_name au champ u_business_application.

Précédence du contexte CI​

Le contexte CI est résolu dans cet ordre (priorité la plus élevée en premier) :

  1. Options CLI : --ci-id, --ci-name, etc.
  2. pqc.yaml : fichier de configuration au niveau du dépôt (pour les analyses de code source)
  3. Fichier de mappage de domaines : fichier YAML --domain-map mappant les domaines aux applications
  4. Aucun : pas de liaison CMDB (rétrocompatible)

pqc.yaml (configuration au niveau du dépôt)​

Placez un fichier pqc.yaml à la racine de votre dépôt pour fournir automatiquement le contexte CI lors des analyses de code source :

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

Fichier de mappage de domaines​

Utilisez un fichier YAML de mappage de domaines pour lier les domaines à une ou plusieurs applications. Cela est particulièrement utile pour les infrastructures partagées où plusieurs applications partagent le même domaine :

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"

Exemples de contexte CMDB​

# Filesystem scan with CI linking
dke-scanner-agent filesystem \
--path /etc/ssl/certs \
--ci-id "APP-1234" \
--ci-name "My Application" \
--environment production \
--owner "team-security"

# Domain scan with 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

# Using environment variables
export PQC_CI_ID="APP-1234"
export PQC_CI_NAME="My App"
export PQC_ENVIRONMENT="production"
dke-scanner-agent filesystem --path /certs

Commandes​

dke-scanner-agent filesystem​

Analyser le système de fichiers à la recherche de certificats et de magasins de clés.

dke-scanner-agent filesystem [OPTIONS]

Options​

OptionDescriptionPar défaut
-p, --path <PATH>Chemin racine à analyser. (répertoire courant)
-r, --recursiveAnalyse récursivetrue
--max-depth <N>Profondeur de répertoire maximale10
--follow-symlinksSuivre les liens symboliquesfalse
--extensions <EXTS>Extensions de fichiers à analyser (séparées par des virgules).jks,.p12,.pfx,.pem,.crt,.cer,.key
--exclude <PATTERNS>Motifs à exclure (séparés par des virgules)node_modules,.git,target
--threads <N>Nombre de threads parallèles4
-o, --output <FILE>Chemin du fichier de sortie (stdout si non spécifié)-
--format <FMT>Format de sortie : json, yaml, terminal, htmljson
--scan-windows-certstoreAnalyser le magasin de certificats Windows (Windows uniquement)false
--certstore-name <NAME>Magasin de certificats Windows spécifique : MY, ROOT, CA, TRUST ou ALLALL

Exemples​

# Basic filesystem scan
dke-scanner-agent filesystem --path /etc/ssl/certs

# Scan current directory recursively
dke-scanner-agent filesystem

# Scan with depth limit
dke-scanner-agent filesystem --path /opt --max-depth 3

# Scan specific file types only
dke-scanner-agent filesystem --path /certs --extensions .pem,.crt

# Exclude additional patterns
dke-scanner-agent filesystem --path /app --exclude "node_modules,.git,target,*.bak,*.old"

# Non-recursive scan
dke-scanner-agent filesystem --path /etc/ssl --recursive false

# Save to file with specific format
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: Scan Windows Certificate Store
dke-scanner-agent filesystem --scan-windows-certstore

# Windows: Scan specific certificate store
dke-scanner-agent filesystem --scan-windows-certstore --certstore-name MY

# Parallel scanning with 8 threads
dke-scanner-agent filesystem --path /large-dir --threads 8

# Follow symbolic links
dke-scanner-agent filesystem --path /data --follow-symlinks

Formats de fichiers pris en charge​

  • Java KeyStore : .jks
  • PKCS#12 : .p12, .pfx
  • Certificats PEM : .pem, .crt, .cer
  • Clés privées : .key, .pem
  • Magasin de certificats Windows : magasins LocalMachine et CurrentUser (MY, ROOT, CA, TRUST)
  • Fichiers de configuration : détectés par le contenu

dke-scanner-agent domain​

Analyser un domaine distant via une connexion TLS.

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

Options​

OptionDescriptionPar défaut
-t, --target <TARGET>(Requis) Domaine ou IP cible-
-p, --port <PORT>Numéro de port443
--timeout <SECS>Délai d'expiration de connexion en secondes10
--detect-pq-kexActiver la capture de paquets pour une détection précise de l'échange de clés PQ (nécessite des permissions élevées)false
--interface <IF>Interface réseau pour la capture de paquets (détection automatique si non spécifiée)Détection automatique
--discover-subdomainsActiver la découverte de sous-domainesfalse
--subdomain-api-key <KEY>Clé API WhoisXML pour la découverte de sous-domaines (ou définir la variable d'env. WHOISXML_API_KEY)-
--max-subdomains <N>Nombre maximal de sous-domaines à analyser (0 = illimité)10
-o, --output <FILE>Chemin du fichier de sortie-
--format <FMT>Format de sortie : json, yaml, terminal, htmljson

Exemples​

# Scan single domain
dke-scanner-agent domain --target example.com

# Scan with custom port
dke-scanner-agent domain --target api.bank.com --port 8443

# Scan IP address
dke-scanner-agent domain --target 203.0.113.10 --port 443

# Enable Post-Quantum key exchange detection
sudo dke-scanner-agent domain --target example.com --detect-pq-kex

# Specify network interface for packet capture
sudo dke-scanner-agent domain --target example.com --detect-pq-kex --interface eth0

# Discover and scan subdomains
dke-scanner-agent domain --target example.com --discover-subdomains --subdomain-api-key YOUR_API_KEY

# Limit subdomain discovery
dke-scanner-agent domain --target example.com --discover-subdomains --max-subdomains 5

# Long timeout for slow servers
dke-scanner-agent domain --target slow-server.com --timeout 30

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

Variables d'environnement​

  • WHOISXML_API_KEY : clé API pour la découverte de sous-domaines (alternative à --subdomain-api-key)
Remarque
  • La détection de l'échange de clés post-quantique (--detect-pq-kex) nécessite des permissions élevées (sudo/administrateur)
  • La découverte de sous-domaines nécessite une clé API WhoisXML
  • Le scanner détecte et teste automatiquement les connexions TLS

dke-scanner-agent agent​

Analyser le système local (mode agent).

dke-scanner-agent agent [OPTIONS]

Options​

OptionDescriptionPar défaut
--no-process-scanIgnorer l'analyse des processusfalse
--no-filesystem-scanIgnorer l'analyse du système de fichiersfalse
-o, --output <FILE>Chemin du fichier de sortie-
--format <FMT>Format de sortie : json, yaml, terminal, htmljson

Exemples​

# Basic system scan
sudo dke-scanner-agent agent

# Skip process scanning (faster)
sudo dke-scanner-agent agent --no-process-scan

# Skip filesystem scanning
sudo dke-scanner-agent agent --no-filesystem-scan

# Only scan processes
sudo dke-scanner-agent agent --no-filesystem-scan

# Save to file
sudo dke-scanner-agent agent --output system-scan.json

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

# Verbose output
sudo dke-scanner-agent agent -vvv --output scan.json

Exigences spécifiques à la plateforme​

# Requires root or CAP_SYS_PTRACE
sudo dke-scanner-agent agent

# Or with capabilities
sudo setcap cap_sys_ptrace=eip /usr/local/bin/dke-scanner-agent
dke-scanner-agent agent

dke-scanner-agent network​

Analyser des fichiers de capture réseau PCAP ou PcapNG à la recherche de négociations cryptographiques vulnérables au quantique (TLS et SSH).

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

Options​

OptionDescriptionPar défaut
--pcap <FILE>(Requis) Fichier PCAP ou PcapNG à analyser-
--max-flows <N>Nombre maximal de flux réseau à suivre100000
-o, --output <FILE>Chemin du fichier de sortie (stdout si non spécifié)-
--format <FMT>Format de sortie : json, terminaljson

Description​

La commande network effectue une analyse hors ligne des fichiers de capture de paquets. Elle ne capture pas le trafic en direct. Elle reconstruit plutôt les flux réseau et analyse les négociations cryptographiques pour évaluer la préparation PQC :

  • TLS 1.2/1.3 : analyse les messages ClientHello et ServerHello, extrait les groupes pris en charge, les extensions de partage de clés et le SNI
  • SSH 2.0 : analyse les messages KEXINIT pour la négociation de l'algorithme d'échange de clés

Formats de fichiers pris en charge :

  • PCAP (format libpcap, .pcap)
  • PcapNG (format Wireshark, .pcapng)

Détection PQC​

Le scanner détecte les algorithmes d'échange de clés post-quantiques suivants :

Exemples​

# Analyze a PCAP file
dke-scanner-agent network --pcap capture.pcap

# Analyze a PcapNG file (Wireshark export)
dke-scanner-agent network --pcap traffic.pcapng --output results.json

# Display results in terminal format
dke-scanner-agent network --pcap capture.pcap --format terminal

# Limit flow tracking for large captures
dke-scanner-agent network --pcap large_capture.pcap --max-flows 50000

# Save analysis results
dke-scanner-agent network --pcap capture.pcapng --output network-scan.json
Astuce

Utilisez Wireshark ou tcpdump pour capturer d'abord le trafic, puis analysez le fichier obtenu avec le scanner :
tcpdump -i eth0 -w capture.pcap "tcp port 443 or tcp port 22"


dke-scanner-agent serve​

Démarrer le serveur du tableau de bord web.

dke-scanner-agent serve [OPTIONS]

Options​

OptionDescriptionPar défaut
-p, --port <PORT>Port d'écoute3000
--open-browserOuvrir le navigateur automatiquementtrue

Exemples​

# Start server with default settings
dke-scanner-agent serve

# Custom port
dke-scanner-agent serve --port 8080

# Disable auto-open browser
dke-scanner-agent serve --open-browser false

# Run on specific port without opening browser
dke-scanner-agent serve --port 5000 --open-browser false

Description​

Démarre un tableau de bord web interactif pour :

  • Consulter les résultats d'analyse
  • Analyse et visualisation des risques
  • Vérification de conformité
  • Planification de la migration
  • Intégration ServiceNow
  • Export CBOM

Accédez au tableau de bord à l'adresse http://localhost:3000 (ou le port que vous avez spécifié).


dke-scanner-agent ci​

Mode CI/CD - analyser le code source et générer un CBOM.

dke-scanner-agent ci [OPTIONS]

Options​

OptionDescriptionPar défaut
--source-path <PATH>Chemin du code source à analyser.
--max-depth <N>Profondeur de répertoire maximale10
-o, --output <FILE>Chemin du fichier de sortie-
--format <FMT>Format de sortie : json, sarifjson
--fail-on <LEVEL>Échouer la CI selon le niveau de gravité : critical, high, medium, neverhigh

Exemples​

# Scan current directory
dke-scanner-agent ci

# Scan specific directory
dke-scanner-agent ci --source-path /path/to/code

# Generate SARIF for GitHub/GitLab integration
dke-scanner-agent ci --format sarif --output results.sarif

# Fail on critical findings only
dke-scanner-agent ci --fail-on critical

# Never fail the build
dke-scanner-agent ci --fail-on never

# Save to file
dke-scanner-agent ci --output ci-results.json

# Limit scan depth
dke-scanner-agent ci --source-path . --max-depth 5

Codes de sortie​

CodeSignification
0Succès (aucun problème ou gravité inférieure au seuil)
1Constats au niveau ou au-dessus du seuil --fail-on
2Erreur d'analyse

Exemples d'intégration CI/CD​

- 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​

Scanner cryptographique de code source avec intégrations aux fournisseurs Git.

dke-scanner-agent source-code [OPTIONS]

Options​

OptionDescriptionPar défaut
-p, --path <PATH>Chemin local à analyser-
--gitlab-project <PROJECT>Projet GitLab (group/project)-
--gitlab-token <TOKEN>Jeton GitLabVariable d'env. GITLAB_TOKEN
--gitlab-url <URL>URL de base GitLabhttps://gitlab.com
--github-repo <REPO>Dépôt GitHub (owner/repo)-
--github-token <TOKEN>Jeton GitHubVariable d'env. GITHUB_TOKEN
--github-url <URL>URL de base GitHubhttps://api.github.com
--azdo-org <ORG>Organisation Azure DevOps-
--azdo-project <PROJECT>Projet Azure DevOps-
--azdo-repo <REPO>Dépôt Azure DevOps-
--azdo-token <TOKEN>Jeton PAT Azure DevOpsVariable d'env. AZDO_TOKEN
--azdo-url <URL>URL de base Azure DevOpshttps://dev.azure.com
--branch <BRANCH>Branche à analysermain/master
--languages <LANGS>Langages à analyser (séparés par des virgules)Détection automatique
--max-depth <N>Profondeur de répertoire maximale10
-o, --output <FILE>Chemin du fichier de sortie-
--format <FMT>Format de sortie : json, yaml, terminal, htmljson

Exemples​

# Scan local directory
dke-scanner-agent source-code --path /path/to/code

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

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

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

# Scan specific branch
dke-scanner-agent source-code \
--github-repo owner/repo \
--github-token $GITHUB_TOKEN \
--branch develop

# Scan specific languages
dke-scanner-agent source-code \
--path . \
--languages "java,python,go"

# Self-hosted 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

# Save results
dke-scanner-agent source-code --path . --output scan.json --format json

Variables d'environnement​

  • GITLAB_TOKEN : jeton d'accès personnel GitLab
  • GITHUB_TOKEN : jeton d'accès personnel GitHub
  • AZDO_TOKEN : jeton d'accès personnel (PAT) Azure DevOps

Langages pris en charge​

Le scanner détecte automatiquement et analyse l'utilisation cryptographique dans :

Langages

  • Java
  • Python
  • Go
  • JavaScript/TypeScript
  • C/C++
  • C#
  • Ruby
  • PHP
  • Et bien d'autres...

dke-scanner-agent compliance​

Vérifier la conformité par rapport aux cadres de politique.

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

Options​

OptionDescriptionPar défaut
-s, --scan-results <FILE>(Requis) Fichier JSON avec les résultats d'analyse-
-f, --frameworks <LIST>Cadres de conformité (séparés par des virgules ou all)all
--custom-policy-pdf <FILE>Fichier PDF de politique personnalisée dont extraire les règles-
--custom-policy-name <NAME>Nom de la politique personnalisée (requis avec --custom-policy-pdf)-
--organization <NAME>Nom de l'organisation pour le rapport-
-o, --output <DIR>Répertoire de sortie des rapports.
--format <FMT>Format de sortie : json, html, pdf, both, allboth

Cadres pris en charge​

CadreDescription
NIST-800-52Directives NIST pour les implémentations TLS
NIST-800-131AAlgorithmes cryptographiques et longueurs de clés
CISBenchmarks CIS
PCI-DSS-4.0Payment Card Industry Data Security Standard
HIPAAHealth Insurance Portability and Accountability Act
GDPRRèglement général sur la protection des données
SOC2Service Organization Control 2
ISO27001Gestion de la sécurité de l'information
FedRAMPFederal Risk and Authorization Management Program
AlgerianNormes cryptographiques algériennes
allVérifier par rapport à tous les cadres

Formats de sortie​

FormatDescription
jsonRapport JSON uniquement
htmlRapport HTML uniquement
pdfRapport PDF uniquement
bothRapports JSON et HTML
allRapports JSON, HTML et PDF

Exemples​

# Check against all frameworks
dke-scanner-agent compliance --scan-results scan.json

# Check specific frameworks
dke-scanner-agent compliance \
--scan-results scan.json \
--frameworks "NIST-800-52,PCI-DSS-4.0,HIPAA"

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

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

# Generate all formats
dke-scanner-agent compliance \
--scan-results scan.json \
--frameworks all \
--format all \
--output compliance-reports/

# JSON only for automation
dke-scanner-agent compliance \
--scan-results scan.json \
--frameworks "NIST-800-52,PCI-DSS-4.0" \
--format json \
--output results/

# PDF report for auditors
dke-scanner-agent compliance \
--scan-results scan.json \
--frameworks all \
--organization "Acme Corp" \
--format pdf \
--output audit-reports/

dke-scanner-agent servicenow​

Publier les résultats d'analyse vers ServiceNow.

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

Options​

OptionDescriptionPar défaut
--instance <URL>(Requis) URL de l'instance ServiceNow (par ex., https://company.service-now.com)Variable d'env. SERVICENOW_INSTANCE
--username <USER>Nom d'utilisateur pour l'authentification de baseVariable d'env. SERVICENOW_USER
--password <PASS>Mot de passe pour l'authentification de baseVariable d'env. SERVICENOW_PASSWORD
--token <TOKEN>Jeton OAuth (alternative au nom d'utilisateur/mot de passe)Variable d'env. SERVICENOW_TOKEN
--table-name <NAME>Nom de table personnaliséx_1598283_pqcsca_0_crypto_asset
--auto-incidentsCréer automatiquement des incidents pour les vulnérabilités critiquestrue
--test-connectionTester la connexion uniquementfalse
-i, --input <FILE>(Requis) Fichier de résultats d'analyse à publier-

Authentification​

Deux méthodes d'authentification sont prises en charge :

  1. Authentification de base : --username et --password
  2. Jeton OAuth : --token

Exemples​

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

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

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

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

# Custom table and disable auto-incidents
dke-scanner-agent servicenow \
--instance https://company.service-now.com \
--token $TOKEN \
--input scan.json \
--table-name custom_crypto_assets \
--auto-incidents false

# Complete workflow
dke-scanner-agent agent --output scan.json
dke-scanner-agent servicenow \
--instance $SERVICENOW_INSTANCE \
--token $SERVICENOW_TOKEN \
--input scan.json

Liaison de CI CMDB​

Lorsque les résultats d'analyse contiennent ci_id et ci_name (définis via les options de contexte CMDB), ils sont automatiquement mappés aux champs ServiceNow lors de la publication :

Champ du constatChamp ServiceNowDescription
ci_idu_related_cisys_id de CI CMDB (hex de 32 caractères) — crée un lien vers l'élément de configuration
ci_nameu_business_applicationNom d'application lisible par l'humain
environmentu_environmentClassification d'environnement (Production, Staging, Dev)
Remarque

Le ci_id doit être un sys_id ServiceNow hexadécimal valide de 32 caractères. Si un format invalide est fourni, le champ est laissé vide dans ServiceNow.

Variables d'environnement​

  • SERVICENOW_INSTANCE : URL de l'instance ServiceNow
  • SERVICENOW_USER : nom d'utilisateur pour l'authentification de base
  • SERVICENOW_PASSWORD : mot de passe pour l'authentification de base
  • SERVICENOW_TOKEN : jeton OAuth ServiceNow

Sortie​

La commande fournit un résumé incluant :

  • Nombre d'actifs créés/mis à jour
  • Nombre d'incidents créés (pour les constats critiques)
  • Toute erreur rencontrée

dke-scanner-agent cbom​

Exporter les résultats d'analyse sous forme de CBOM (nomenclature cryptographique).

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

Options​

OptionDescriptionPar défaut
-i, --input <FILE>(Requis) Fichier de résultats d'analyse (JSON) à convertir-
-o, --output <FILE>Fichier de sortie pour le CBOM<input>-cbom.json
--app-name <NAME>Nom de l'application pour les métadonnées du CBOMIssu de l'analyse
--app-version <VER>Version de l'application pour les métadonnées du CBOM1.0
--prettyFormater la sortie JSON de façon lisibletrue

Description​

Génère un CBOM CycloneDX 1.7 (nomenclature cryptographique) à partir des résultats d'analyse. Le format CBOM fournit :

  • Un inventaire standardisé des actifs cryptographiques
  • Les relations et dépendances entre composants
  • La conformité à la spécification CycloneDX
  • L'intégration avec les outils et flux de travail SBOM

Exemples​

# Basic CBOM generation
dke-scanner-agent cbom --input scan-results.json

# Custom output file
dke-scanner-agent cbom \
--input scan-results.json \
--output app-cbom.json

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

# Compact JSON (no pretty print)
dke-scanner-agent cbom \
--input scan.json \
--pretty false

# Complete workflow
dke-scanner-agent filesystem --path /app --output scan.json
dke-scanner-agent cbom --input scan.json --app-name "MyApp" --app-version "1.0"

Sortie CBOM​

Le CBOM généré inclut :

  • Composants : actifs cryptographiques (algorithmes, certificats, clés, protocoles)
  • Dépendances : relations entre les composants
  • Métadonnées : horodatages, informations sur l'outil, détails de l'application
  • Propriétés : scores de risque, statut de vulnérabilité quantique, informations de conformité

Validation​

L'outil valide automatiquement le CBOM généré par rapport à la spécification CycloneDX 1.7 :

  • Conformité de format et de version
  • Validation de la structure des composants
  • Validation des propriétés cryptographiques
  • Cohérence des types d'actifs

Formats de sortie​

Toutes les commandes d'analyse prennent en charge plusieurs formats de sortie :

FormatCommandeDescription
JSON (par défaut)--format jsonSortie JSON structurée pour un traitement programmatique
YAML--format yamlFormat YAML lisible par l'humain
HTML--format htmlRapport HTML interactif avec visualisations
Terminal--format terminalSortie terminal mise en forme avec couleurs (usage interactif)
SARIF (CI uniquement)--format sarifStatic Analysis Results Interchange Format pour CI/CD

Flux de travail courants​

# Step 1: Agent scan on all servers
ssh server1 "sudo dke-scanner-agent agent --output server1.json"
ssh server2 "sudo dke-scanner-agent agent --output server2.json"

# Step 2: Filesystem scan on shared storage
dke-scanner-agent filesystem --path /mnt/shared --output shared.json

# Step 3: Domain scan for external endpoints
dke-scanner-agent domain --target api.example.com --output api-scan.json

# Step 4: Start dashboard to view all results
dke-scanner-agent serve

Codes de sortie​

CodeSignification
0Succès
1Erreur générale ou constats au-dessus du seuil (mode CI)
2Erreur d'analyse ou arguments invalides
3Permission refusée

Dépannage​


Variables d'environnement​

Variables d'environnement globales qui affectent le comportement du scanner :

VariableDescriptionPar défaut
RUST_LOGNiveau de journalisation Rust-
WHOISXML_API_KEYClé API WhoisXML pour la découverte de sous-domaines-
GITLAB_TOKENJeton d'accès personnel GitLab-
GITHUB_TOKENJeton d'accès personnel GitHub-
AZDO_TOKENJeton PAT Azure DevOps-
SERVICENOW_INSTANCEURL de l'instance ServiceNow-
SERVICENOW_USERNom d'utilisateur ServiceNow-
SERVICENOW_PASSWORDMot de passe ServiceNow-
SERVICENOW_TOKENJeton OAuth ServiceNow-
PQC_CI_IDIdentifiant de CI CMDB (sys_id)-
PQC_CI_NAMENom lisible par l'humain du CI CMDB-
PQC_CI_TYPEType de CI dans la CMDBApplication
PQC_CMDB_ADAPTERSystème CMDB (servicenow, jira, generic_rest, none)none
PQC_ENVIRONMENTClassification d'environnementunknown
PQC_BUSINESS_UNITUnité métier-
PQC_OWNERÉquipe ou e-mail propriétaire-
PQC_TAGSÉtiquettes séparées par des virgules-
PQC_DOMAIN_MAPChemin du YAML de mappage de domaines-

Exemples​

# Set GitLab token
export GITLAB_TOKEN="glpat-xxxxxxxxxxxxxxxxxxxx"

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

# Set CMDB context
export PQC_CI_ID="a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"
export PQC_CI_NAME="Payment Gateway"
export PQC_ENVIRONMENT="production"

# Use environment variables
dke-scanner-agent source-code --gitlab-project mygroup/myproject
dke-scanner-agent servicenow --input scan.json

Bonnes pratiques​

Pratiques recommandées

Analyses régulières

Planifiez des analyses agent quotidiennes via cron

Identifiants sécurisés

Utilisez des variables d'environnement, pas des arguments de ligne de commande

Intégration CI/CD

Ajoutez les analyses à votre pipeline de déploiement

Rapports de conformité

Générez des rapports de conformité trimestriels


Conseils de performance​



Remarque

Cette documentation reflète la version actuelle de la CLI du PQC Scanner. Pour les changements propres à chaque version, consultez le journal des modifications du projet. Dernière mise à jour : janvier 2025 | Version du scanner : 1.0+ | Version de l'API : v1