Référence CLI
Référence CLI
Guide de référence complet de l'interface en ligne de commande du DuoKey PQC Scanner.
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 :
| Option | Description | Par défaut |
|---|---|---|
| -h, --help | Afficher les informations d'aide | - |
| -V, --version | Afficher les informations de version | - |
| -v, --verbose | Activer 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.
| Option | Variable d'env. | Description | Par défaut |
|---|---|---|---|
| --ci-id <ID> | PQC_CI_ID | Identifiant de CI CMDB (sys_id) | - |
| --ci-name <NAME> | PQC_CI_NAME | Nom d'application lisible par l'humain | - |
| --ci-type <TYPE> | PQC_CI_TYPE | Type de CI dans la CMDB | Application |
| --cmdb-adapter <ADAPTER> | PQC_CMDB_ADAPTER | Système CMDB : servicenow, jira, generic_rest, none | none |
| --environment <ENV> | PQC_ENVIRONMENT | Classification d'environnement (production, staging, dev, test) | unknown |
| --business-unit <UNIT> | PQC_BUSINESS_UNIT | Unité 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_MAP | Chemin du fichier YAML de mappage de domaines | - |
| --auto-push-cmdb | - | Pousser automatiquement les constats vers la CMDB après l'analyse | false |
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) :
- Options CLI :
--ci-id,--ci-name, etc. - pqc.yaml : fichier de configuration au niveau du dépôt (pour les analyses de code source)
- Fichier de mappage de domaines : fichier YAML
--domain-mapmappant les domaines aux applications - 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
| Option | Description | Par défaut |
|---|---|---|
| -p, --path <PATH> | Chemin racine à analyser | . (répertoire courant) |
| -r, --recursive | Analyse récursive | true |
| --max-depth <N> | Profondeur de répertoire maximale | 10 |
| --follow-symlinks | Suivre les liens symboliques | false |
| --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èles | 4 |
| -o, --output <FILE> | Chemin du fichier de sortie (stdout si non spécifié) | - |
| --format <FMT> | Format de sortie : json, yaml, terminal, html | json |
| --scan-windows-certstore | Analyser le magasin de certificats Windows (Windows uniquement) | false |
| --certstore-name <NAME> | Magasin de certificats Windows spécifique : MY, ROOT, CA, TRUST ou ALL | ALL |
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
| Option | Description | Par défaut |
|---|---|---|
| -t, --target <TARGET> | (Requis) Domaine ou IP cible | - |
| -p, --port <PORT> | Numéro de port | 443 |
| --timeout <SECS> | Délai d'expiration de connexion en secondes | 10 |
| --detect-pq-kex | Activer 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-subdomains | Activer la découverte de sous-domaines | false |
| --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, html | json |
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)
- 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
| Option | Description | Par défaut |
|---|---|---|
| --no-process-scan | Ignorer l'analyse des processus | false |
| --no-filesystem-scan | Ignorer l'analyse du système de fichiers | false |
| -o, --output <FILE> | Chemin du fichier de sortie | - |
| --format <FMT> | Format de sortie : json, yaml, terminal, html | json |
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
| Option | Description | Par défaut |
|---|---|---|
| --pcap <FILE> | (Requis) Fichier PCAP ou PcapNG à analyser | - |
| --max-flows <N> | Nombre maximal de flux réseau à suivre | 100000 |
| -o, --output <FILE> | Chemin du fichier de sortie (stdout si non spécifié) | - |
| --format <FMT> | Format de sortie : json, terminal | json |
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
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
| Option | Description | Par défaut |
|---|---|---|
| -p, --port <PORT> | Port d'écoute | 3000 |
| --open-browser | Ouvrir le navigateur automatiquement | true |
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
| Option | Description | Par défaut |
|---|---|---|
| --source-path <PATH> | Chemin du code source à analyser | . |
| --max-depth <N> | Profondeur de répertoire maximale | 10 |
| -o, --output <FILE> | Chemin du fichier de sortie | - |
| --format <FMT> | Format de sortie : json, sarif | json |
| --fail-on <LEVEL> | Échouer la CI selon le niveau de gravité : critical, high, medium, never | high |
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
| Code | Signification |
|---|---|
| 0 | Succès (aucun problème ou gravité inférieure au seuil) |
| 1 | Constats au niveau ou au-dessus du seuil --fail-on |
| 2 | Erreur 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
| Option | Description | Par défaut |
|---|---|---|
| -p, --path <PATH> | Chemin local à analyser | - |
| --gitlab-project <PROJECT> | Projet GitLab (group/project) | - |
| --gitlab-token <TOKEN> | Jeton GitLab | Variable d'env. GITLAB_TOKEN |
| --gitlab-url <URL> | URL de base GitLab | https://gitlab.com |
| --github-repo <REPO> | Dépôt GitHub (owner/repo) | - |
| --github-token <TOKEN> | Jeton GitHub | Variable d'env. GITHUB_TOKEN |
| --github-url <URL> | URL de base GitHub | https://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 DevOps | Variable d'env. AZDO_TOKEN |
| --azdo-url <URL> | URL de base Azure DevOps | https://dev.azure.com |
| --branch <BRANCH> | Branche à analyser | main/master |
| --languages <LANGS> | Langages à analyser (séparés par des virgules) | Détection automatique |
| --max-depth <N> | Profondeur de répertoire maximale | 10 |
| -o, --output <FILE> | Chemin du fichier de sortie | - |
| --format <FMT> | Format de sortie : json, yaml, terminal, html | json |
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 GitLabGITHUB_TOKEN: jeton d'accès personnel GitHubAZDO_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
| Option | Description | Par 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, all | both |
Cadres pris en charge
| Cadre | Description |
|---|---|
| NIST-800-52 | Directives NIST pour les implémentations TLS |
| NIST-800-131A | Algorithmes cryptographiques et longueurs de clés |
| CIS | Benchmarks CIS |
| PCI-DSS-4.0 | Payment Card Industry Data Security Standard |
| HIPAA | Health Insurance Portability and Accountability Act |
| GDPR | Règlement général sur la protection des données |
| SOC2 | Service Organization Control 2 |
| ISO27001 | Gestion de la sécurité de l'information |
| FedRAMP | Federal Risk and Authorization Management Program |
| Algerian | Normes cryptographiques algériennes |
| all | Vérifier par rapport à tous les cadres |
Formats de sortie
| Format | Description |
|---|---|
| json | Rapport JSON uniquement |
| html | Rapport HTML uniquement |
| Rapport PDF uniquement | |
| both | Rapports JSON et HTML |
| all | Rapports 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
| Option | Description | Par 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 base | Variable d'env. SERVICENOW_USER |
| --password <PASS> | Mot de passe pour l'authentification de base | Variable 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-incidents | Créer automatiquement des incidents pour les vulnérabilités critiques | true |
| --test-connection | Tester la connexion uniquement | false |
| -i, --input <FILE> | (Requis) Fichier de résultats d'analyse à publier | - |
Authentification
Deux méthodes d'authentification sont prises en charge :
- Authentification de base :
--usernameet--password - 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 constat | Champ ServiceNow | Description |
|---|---|---|
| ci_id | u_related_ci | sys_id de CI CMDB (hex de 32 caractères) — crée un lien vers l'élément de configuration |
| ci_name | u_business_application | Nom d'application lisible par l'humain |
| environment | u_environment | Classification d'environnement (Production, Staging, Dev) |
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 ServiceNowSERVICENOW_USER: nom d'utilisateur pour l'authentification de baseSERVICENOW_PASSWORD: mot de passe pour l'authentification de baseSERVICENOW_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
| Option | Description | Par 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 CBOM | Issu de l'analyse |
| --app-version <VER> | Version de l'application pour les métadonnées du CBOM | 1.0 |
| --pretty | Formater la sortie JSON de façon lisible | true |
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 :
| Format | Commande | Description |
|---|---|---|
| JSON (par défaut) | --format json | Sortie JSON structurée pour un traitement programmatique |
| YAML | --format yaml | Format YAML lisible par l'humain |
| HTML | --format html | Rapport HTML interactif avec visualisations |
| Terminal | --format terminal | Sortie terminal mise en forme avec couleurs (usage interactif) |
| SARIF (CI uniquement) | --format sarif | Static 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
| Code | Signification |
|---|---|
| 0 | Succès |
| 1 | Erreur générale ou constats au-dessus du seuil (mode CI) |
| 2 | Erreur d'analyse ou arguments invalides |
| 3 | Permission refusée |
Dépannage
Variables d'environnement
Variables d'environnement globales qui affectent le comportement du scanner :
| Variable | Description | Par défaut |
|---|---|---|
| RUST_LOG | Niveau de journalisation Rust | - |
| WHOISXML_API_KEY | Clé API WhoisXML pour la découverte de sous-domaines | - |
| GITLAB_TOKEN | Jeton d'accès personnel GitLab | - |
| GITHUB_TOKEN | Jeton d'accès personnel GitHub | - |
| AZDO_TOKEN | Jeton PAT Azure DevOps | - |
| SERVICENOW_INSTANCE | URL de l'instance ServiceNow | - |
| SERVICENOW_USER | Nom d'utilisateur ServiceNow | - |
| SERVICENOW_PASSWORD | Mot de passe ServiceNow | - |
| SERVICENOW_TOKEN | Jeton OAuth ServiceNow | - |
| PQC_CI_ID | Identifiant de CI CMDB (sys_id) | - |
| PQC_CI_NAME | Nom lisible par l'humain du CI CMDB | - |
| PQC_CI_TYPE | Type de CI dans la CMDB | Application |
| PQC_CMDB_ADAPTER | Système CMDB (servicenow, jira, generic_rest, none) | none |
| PQC_ENVIRONMENT | Classification d'environnement | unknown |
| PQC_BUSINESS_UNIT | Unité métier | - |
| PQC_OWNER | Équipe ou e-mail propriétaire | - |
| PQC_TAGS | Étiquettes séparées par des virgules | - |
| PQC_DOMAIN_MAP | Chemin 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
Voir aussi
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