メインコンテンツまでスキップ

CLI リファレンス

適用対象:
WindowsLinuxmacOSDocker

概要(Synopsis)​

dke-scanner-agent [OPTIONS] <COMMAND>

説明​

ポスト量子暗号対応度スキャナー。システム、ファイルシステム、およびネットワークをスキャンして、量子脆弱な暗号資産を検出します。

グローバルオプション​

これらのオプションはすべてのコマンドで利用できます。

オプション説明デフォルト
-h, --helpヘルプ情報を表示-
-V, --versionバージョン情報を表示-
-v, --verbose詳細出力を有効化(繰り返し可能: -v、-vv、-vvv、-vvvv)オフ

詳細度レベル​

  • フラグなし: 情報とエラーのみ
  • -v: + 警告
  • -vv: + 進捗情報
  • -vvv: + デバッグ情報
  • -vvvv: + トレース情報(非常に詳細)

CMDB コンテキストオプション​

これらのオプションはすべてのスキャンコマンド(filesystem、domain、agent、ci、source-code)で共有され、スキャン検出結果を CMDB 構成アイテム(Configuration Item)にリンクできます。

オプション環境変数説明デフォルト
--ci-id <ID>PQC_CI_IDCMDB CI 識別子(sys_id)-
--ci-name <NAME>PQC_CI_NAME人間が読めるアプリケーション名-
--ci-type <TYPE>PQC_CI_TYPECMDB における CI タイプApplication
--cmdb-adapter <ADAPTER>PQC_CMDB_ADAPTERCMDB システム: servicenow、jira、generic_rest、nonenone
--environment <ENV>PQC_ENVIRONMENT環境分類(production、staging、dev、test)unknown
--business-unit <UNIT>PQC_BUSINESS_UNITアプリケーションを所有するビジネスユニット-
--owner <OWNER>PQC_OWNERオーナーチームまたはメール-
--tags <TAGS>PQC_TAGSカンマ区切りのタグ-
--domain-map <PATH>PQC_DOMAIN_MAPドメインマッピング YAML ファイルへのパス-
--auto-push-cmdb-スキャン後に検出結果を CMDB へ自動プッシュfalse
ヒント

--ci-id と --ci-name が指定されると、それらはスキャン結果内のすべての検出結果に自動的に付加されます。ServiceNow に公開する際、ci_id は u_related_ci フィールド(CMDB sys_id)にマッピングされ、ci_name は u_business_application にマッピングされます。

CI コンテキストの優先順位​

CI コンテキストは、次の順序で解決されます(最も優先度が高いものが先)。

  1. CLI フラグ: --ci-id、--ci-name など
  2. pqc.yaml: リポジトリレベルの設定ファイル(ソースコードスキャン用)
  3. ドメインマッピングファイル: ドメインをアプリケーションにマッピングする --domain-map YAML ファイル
  4. None: CMDB リンクなし(後方互換)

pqc.yaml(リポジトリレベル設定)​

ソースコードスキャン中に CI コンテキストを自動的に提供するには、リポジトリのルートに pqc.yaml ファイルを配置します。

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

ドメインマッピングファイル​

ドメインマッピング YAML ファイルを使用して、ドメインを 1 つ以上のアプリケーションにリンクします。これは、複数のアプリケーションが同じドメインを共有する共有インフラストラクチャで特に役立ちます。

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"

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

コマンド​

dke-scanner-agent filesystem​

ファイルシステムをスキャンして証明書とキーストアを検出します。

dke-scanner-agent filesystem [OPTIONS]

オプション​

オプション説明デフォルト
-p, --path <PATH>スキャンするルートパス.(カレントディレクトリ)
-r, --recursive再帰スキャンtrue
--max-depth <N>最大ディレクトリ深度10
--follow-symlinksシンボリックリンクを追跡false
--extensions <EXTS>スキャンするファイル拡張子(カンマ区切り).jks,.p12,.pfx,.pem,.crt,.cer,.key
--exclude <PATTERNS>除外パターン(カンマ区切り)node_modules,.git,target
--threads <N>並列スレッド数4
-o, --output <FILE>出力ファイルのパス(指定しない場合は stdout)-
--format <FMT>出力形式: json、yaml、terminal、htmljson
--scan-windows-certstoreWindows 証明書ストアをスキャン(Windows のみ)false
--certstore-name <NAME>特定の Windows 証明書ストア: MY、ROOT、CA、TRUST、または ALLALL

例​

# 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

サポートされるファイル形式​

  • Java KeyStore: .jks
  • PKCS#12: .p12、.pfx
  • PEM 証明書: .pem、.crt、.cer
  • 秘密鍵: .key、.pem
  • Windows 証明書ストア: LocalMachine および CurrentUser のストア(MY、ROOT、CA、TRUST)
  • 設定ファイル: 内容によって検出

dke-scanner-agent domain​

TLS 接続経由でリモートドメインをスキャンします。

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

オプション​

オプション説明デフォルト
-t, --target <TARGET>(必須)ターゲットドメインまたは IP-
-p, --port <PORT>ポート番号443
--timeout <SECS>接続タイムアウト(秒)10
--detect-pq-kex正確な PQ 鍵交換検出のためのパケットキャプチャを有効化(昇格された権限が必要)false
--interface <IF>パケットキャプチャ用のネットワークインターフェース(指定しない場合は自動検出)自動検出
--discover-subdomainsサブドメイン検出を有効化false
--subdomain-api-key <KEY>サブドメイン検出用の WhoisXML API キー(または WHOISXML_API_KEY 環境変数を設定)-
--max-subdomains <N>スキャンする最大サブドメイン数(0 = 無制限)10
-o, --output <FILE>出力ファイルのパス-
--format <FMT>出力形式: json、yaml、terminal、htmljson

例​

# 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

環境変数​

  • WHOISXML_API_KEY: サブドメイン検出用の API キー(--subdomain-api-key の代替)
注記
  • ポスト量子鍵交換検出(--detect-pq-kex)には昇格された権限(sudo/管理者)が必要です
  • サブドメイン検出には WhoisXML API キーが必要です
  • スキャナーは自動的に TLS 接続を検出してテストします

dke-scanner-agent agent​

ローカルシステムをスキャンします(エージェントモード)。

dke-scanner-agent agent [OPTIONS]

オプション​

オプション説明デフォルト
--no-process-scanプロセススキャンをスキップfalse
--no-filesystem-scanファイルシステムスキャンをスキップfalse
-o, --output <FILE>出力ファイルのパス-
--format <FMT>出力形式: json、yaml、terminal、htmljson

例​

# 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

プラットフォーム固有の要件​

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

PCAP または PcapNG ネットワークキャプチャファイルを分析して、量子脆弱な暗号ハンドシェイク(TLS および SSH)を検出します。

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

オプション​

オプション説明デフォルト
--pcap <FILE>(必須)分析する PCAP または PcapNG ファイル-
--max-flows <N>追跡する最大ネットワークフロー数100000
-o, --output <FILE>出力ファイルのパス(指定しない場合は stdout)-
--format <FMT>出力形式: json、terminaljson

説明​

network コマンドは、パケットキャプチャファイルのオフライン分析を実行します。ライブトラフィックはキャプチャしません。代わりに、ネットワークフローを再構成し、暗号ハンドシェイクを解析して PQC 対応度を評価します。

  • TLS 1.2/1.3: ClientHello および ServerHello メッセージを解析し、サポートされるグループ、key share 拡張、および SNI を抽出
  • SSH 2.0: 鍵交換アルゴリズムのネゴシエーションのために KEXINIT メッセージを解析

サポートされるファイル形式:

  • PCAP(libpcap 形式、.pcap)
  • PcapNG(Wireshark 形式、.pcapng)

PQC 検出​

スキャナーは、以下のポスト量子鍵交換アルゴリズムを検出します。

例​

# 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
ヒント

まず Wireshark または tcpdump を使用してトラフィックをキャプチャし、次に生成されたファイルをスキャナーで分析します。
tcpdump -i eth0 -w capture.pcap "tcp port 443 or tcp port 22"


dke-scanner-agent serve​

Web ダッシュボードサーバーを起動します。

dke-scanner-agent serve [OPTIONS]

オプション​

オプション説明デフォルト
-p, --port <PORT>リッスンするポート3000
--open-browserブラウザを自動的に開くtrue

例​

# 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

説明​

以下のためのインタラクティブな Web ダッシュボードを起動します。

  • スキャン結果の表示
  • リスク分析と可視化
  • コンプライアンスチェック
  • 移行計画
  • ServiceNow 統合
  • CBOM エクスポート

ダッシュボードには http://localhost:3000(または指定したポート)でアクセスします。


dke-scanner-agent ci​

CI/CD モード - ソースコードをスキャンして CBOM を生成します。

dke-scanner-agent ci [OPTIONS]

オプション​

オプション説明デフォルト
--source-path <PATH>スキャンするソースコードのパス.
--max-depth <N>最大ディレクトリ深度10
-o, --output <FILE>出力ファイルのパス-
--format <FMT>出力形式: json、sarifjson
--fail-on <LEVEL>重大度レベルで CI を失敗させる: critical、high、medium、neverhigh

例​

# 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

終了コード​

コード意味
0成功(問題なし、または重大度がしきい値未満)
1--fail-on しきい値以上の検出結果
2スキャンエラー

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​

Git プロバイダー統合を備えたソースコード暗号スキャナー。

dke-scanner-agent source-code [OPTIONS]

オプション​

オプション説明デフォルト
-p, --path <PATH>スキャンするローカルパス-
--gitlab-project <PROJECT>GitLab プロジェクト(group/project)-
--gitlab-token <TOKEN>GitLab トークンGITLAB_TOKEN 環境変数
--gitlab-url <URL>GitLab ベース URLhttps://gitlab.com
--github-repo <REPO>GitHub リポジトリ(owner/repo)-
--github-token <TOKEN>GitHub トークンGITHUB_TOKEN 環境変数
--github-url <URL>GitHub ベース URLhttps://api.github.com
--azdo-org <ORG>Azure DevOps 組織-
--azdo-project <PROJECT>Azure DevOps プロジェクト-
--azdo-repo <REPO>Azure DevOps リポジトリ-
--azdo-token <TOKEN>Azure DevOps PAT トークンAZDO_TOKEN 環境変数
--azdo-url <URL>Azure DevOps ベース URLhttps://dev.azure.com
--branch <BRANCH>スキャンするブランチmain/master
--languages <LANGS>スキャンする言語(カンマ区切り)自動検出
--max-depth <N>最大ディレクトリ深度10
-o, --output <FILE>出力ファイルのパス-
--format <FMT>出力形式: json、yaml、terminal、htmljson

例​

# 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

環境変数​

  • GITLAB_TOKEN: GitLab 個人アクセストークン
  • GITHUB_TOKEN: GitHub 個人アクセストークン
  • AZDO_TOKEN: Azure DevOps 個人アクセストークン(PAT)

サポートされる言語​

スキャナーは、以下の言語における暗号の使用を自動検出して分析します。

言語

  • Java
  • Python
  • Go
  • JavaScript/TypeScript
  • C/C++
  • C#
  • Ruby
  • PHP
  • その他...

dke-scanner-agent compliance​

ポリシーフレームワークに対するコンプライアンスをチェックします。

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

オプション​

オプション説明デフォルト
-s, --scan-results <FILE>(必須)スキャン結果を含む JSON ファイル-
-f, --frameworks <LIST>コンプライアンスフレームワーク(カンマ区切りまたは all)all
--custom-policy-pdf <FILE>ルールを抽出するカスタムポリシー PDF ファイル-
--custom-policy-name <NAME>カスタムポリシー名(--custom-policy-pdf と併用で必須)-
--organization <NAME>レポート用の組織名-
-o, --output <DIR>レポートの出力ディレクトリ.
--format <FMT>出力形式: json、html、pdf、both、allboth

サポートされるフレームワーク​

フレームワーク説明
NIST-800-52TLS 実装に関する NIST ガイドライン
NIST-800-131A暗号アルゴリズムと鍵長
CISCIS ベンチマーク
PCI-DSS-4.0Payment Card Industry Data Security Standard
HIPAAHealth Insurance Portability and Accountability Act
GDPRGeneral Data Protection Regulation
SOC2Service Organization Control 2
ISO27001情報セキュリティマネジメント
FedRAMPFederal Risk and Authorization Management Program
Algerianアルジェリア暗号標準
allすべてのフレームワークに対してチェック

出力形式​

形式説明
jsonJSON レポートのみ
htmlHTML レポートのみ
pdfPDF レポートのみ
bothJSON および HTML レポート
allJSON、HTML、および PDF レポート

例​

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

スキャン結果を ServiceNow に公開します。

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

オプション​

オプション説明デフォルト
--instance <URL>(必須)ServiceNow インスタンス URL(例: https://company.service-now.com)SERVICENOW_INSTANCE 環境変数
--username <USER>ベーシック認証用のユーザー名SERVICENOW_USER 環境変数
--password <PASS>ベーシック認証用のパスワードSERVICENOW_PASSWORD 環境変数
--token <TOKEN>OAuth トークン(ユーザー名/パスワードの代替)SERVICENOW_TOKEN 環境変数
--table-name <NAME>カスタムテーブル名x_1598283_pqcsca_0_crypto_asset
--auto-incidentsクリティカルな脆弱性に対してインシデントを自動作成true
--test-connection接続テストのみfalse
-i, --input <FILE>(必須)公開するスキャン結果ファイル-

認証​

2 つの認証方式がサポートされています。

  1. ベーシック認証: --username と --password
  2. OAuth トークン: --token

例​

# 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

CMDB CI リンク​

スキャン結果に ci_id と ci_name(CMDB コンテキストオプション経由で設定)が含まれる場合、公開時に ServiceNow フィールドへ自動的にマッピングされます。

スキャン検出結果フィールドServiceNow フィールド説明
ci_idu_related_ciCMDB CI sys_id(32 文字の 16 進数) — 構成アイテムへのリンクを作成
ci_nameu_business_application人間が読めるアプリケーション名
environmentu_environment環境分類(Production、Staging、Dev)
注記

ci_id は有効な 32 文字の 16 進数の ServiceNow sys_id である必要があります。無効な形式が指定された場合、ServiceNow ではそのフィールドは空のままになります。

環境変数​

  • SERVICENOW_INSTANCE: ServiceNow インスタンス URL
  • SERVICENOW_USER: ベーシック認証用のユーザー名
  • SERVICENOW_PASSWORD: ベーシック認証用のパスワード
  • SERVICENOW_TOKEN: ServiceNow OAuth トークン

出力​

コマンドは、以下を含むサマリーを提供します。

  • 作成/更新された資産の数
  • 作成されたインシデントの数(クリティカルな検出結果に対して)
  • 発生したエラー

dke-scanner-agent cbom​

スキャン結果を CBOM(暗号部品表)としてエクスポートします。

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

オプション​

オプション説明デフォルト
-i, --input <FILE>(必須)変換するスキャン結果ファイル(JSON)-
-o, --output <FILE>CBOM の出力ファイル<input>-cbom.json
--app-name <NAME>CBOM メタデータ用のアプリケーション名スキャンから
--app-version <VER>CBOM メタデータ用のアプリケーションバージョン1.0
--prettyJSON 出力を整形true

説明​

スキャン結果から CycloneDX 1.7 CBOM(暗号部品表)を生成します。CBOM 形式は以下を提供します。

  • 標準化された暗号資産インベントリ
  • コンポーネントの関係と依存関係
  • CycloneDX 仕様への準拠
  • SBOM ツールおよびワークフローとの統合

例​

# 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"

CBOM 出力​

生成される CBOM には以下が含まれます。

  • コンポーネント: 暗号資産(アルゴリズム、証明書、鍵、プロトコル)
  • 依存関係: コンポーネント間の関係
  • メタデータ: タイムスタンプ、ツール情報、アプリケーション詳細
  • プロパティ: リスクスコア、量子脆弱性ステータス、コンプライアンス情報

検証​

ツールは、生成された CBOM を CycloneDX 1.7 仕様に対して自動的に検証します。

  • 形式とバージョンの準拠
  • コンポーネント構造の検証
  • 暗号プロパティの検証
  • 資産タイプの一貫性

出力形式​

すべてのスキャンコマンドは複数の出力形式をサポートします。

形式コマンド説明
JSON(デフォルト)--format jsonプログラムによる処理向けの構造化 JSON 出力
YAML--format yaml人間が読みやすい YAML 形式
HTML--format html可視化を備えたインタラクティブな HTML レポート
ターミナル--format terminal色付きの整形されたターミナル出力(インタラクティブ利用)
SARIF(CI のみ)--format sarifCI/CD 向けの Static Analysis Results Interchange Format

一般的なワークフロー​

# 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

終了コード​

コード意味
0成功
1一般エラー、またはしきい値を超える検出結果(CI モード)
2スキャンエラー、または無効な引数
3アクセス拒否

トラブルシューティング​


環境変数​

スキャナーの動作に影響するグローバル環境変数。

変数説明デフォルト
RUST_LOGRust のロギングレベル-
WHOISXML_API_KEYサブドメイン検出用の WhoisXML API キー-
GITLAB_TOKENGitLab 個人アクセストークン-
GITHUB_TOKENGitHub 個人アクセストークン-
AZDO_TOKENAzure DevOps PAT トークン-
SERVICENOW_INSTANCEServiceNow インスタンス URL-
SERVICENOW_USERServiceNow ユーザー名-
SERVICENOW_PASSWORDServiceNow パスワード-
SERVICENOW_TOKENServiceNow OAuth トークン-
PQC_CI_IDCMDB CI 識別子(sys_id)-
PQC_CI_NAMECMDB CI の人間が読める名前-
PQC_CI_TYPECMDB における CI タイプApplication
PQC_CMDB_ADAPTERCMDB システム(servicenow、jira、generic_rest、none)none
PQC_ENVIRONMENT環境分類unknown
PQC_BUSINESS_UNITビジネスユニット-
PQC_OWNERオーナーチームまたはメール-
PQC_TAGSカンマ区切りのタグ-
PQC_DOMAIN_MAPドメインマッピング YAML へのパス-

例​

# 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

ベストプラクティス​

推奨されるプラクティス

定期的なスキャン

cron 経由で日次エージェントスキャンをスケジュール

認証情報の保護

コマンドライン引数ではなく環境変数を使用

CI/CD 統合

デプロイパイプラインにスキャンを追加

コンプライアンスレポート

四半期ごとのコンプライアンスレポートを生成


パフォーマンスのヒント​



注記

このドキュメントは PQCスキャナー CLI の現行バージョンを反映しています。バージョン固有の変更については、プロジェクトの changelog を参照してください。最終更新: 2025年1月 | スキャナーバージョン: 1.0+ | API バージョン: v1