CLI リファレンス
CLI リファレンス
DuoKey PQCスキャナーのコマンドラインインターフェースの完全なリファレンスガイド。
概要(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_ID | CMDB CI 識別子(sys_id) | - |
| --ci-name <NAME> | PQC_CI_NAME | 人間が読めるアプリケーション名 | - |
| --ci-type <TYPE> | PQC_CI_TYPE | CMDB における CI タイプ | Application |
| --cmdb-adapter <ADAPTER> | PQC_CMDB_ADAPTER | CMDB システム: servicenow、jira、generic_rest、none | none |
| --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 コンテキストは、次の順序で解決されます(最も優先度が高いものが先)。
- CLI フラグ:
--ci-id、--ci-nameなど - pqc.yaml: リポジトリレベルの設定ファイル(ソースコードスキャン用)
- ドメインマッピングファイル: ドメインをアプリケーションにマッピングする
--domain-mapYAML ファイル - 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、html | json |
| --scan-windows-certstore | Windows 証明書ストアをスキャン(Windows のみ) | false |
| --certstore-name <NAME> | 特定の Windows 証明書ストア: MY、ROOT、CA、TRUST、または ALL | ALL |
例
# 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、html | json |
例
# 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、html | json |
例
# 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、terminal | json |
説明
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、sarif | json |
| --fail-on <LEVEL> | 重大度レベルで CI を失敗させる: critical、high、medium、never | high |
例
# 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 ベース URL | https://gitlab.com |
| --github-repo <REPO> | GitHub リポジトリ(owner/repo) | - |
| --github-token <TOKEN> | GitHub トークン | GITHUB_TOKEN 環境変数 |
| --github-url <URL> | GitHub ベース URL | https://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 ベース URL | https://dev.azure.com |
| --branch <BRANCH> | スキャンするブランチ | main/master |
| --languages <LANGS> | スキャンする言語(カンマ区切り) | 自動検出 |
| --max-depth <N> | 最大ディレクトリ深度 | 10 |
| -o, --output <FILE> | 出力ファイルのパス | - |
| --format <FMT> | 出力形式: json、yaml、terminal、html | json |
例
# 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、all | both |
サポートされるフレームワーク
| フレームワーク | 説明 |
|---|---|
| NIST-800-52 | TLS 実装に関する NIST ガイドライン |
| NIST-800-131A | 暗号アルゴリズムと鍵長 |
| CIS | CIS ベンチマーク |
| PCI-DSS-4.0 | Payment Card Industry Data Security Standard |
| HIPAA | Health Insurance Portability and Accountability Act |
| GDPR | General Data Protection Regulation |
| SOC2 | Service Organization Control 2 |
| ISO27001 | 情報セキュリティマネジメント |
| FedRAMP | Federal Risk and Authorization Management Program |
| Algerian | アルジェリア暗号標準 |
| all | すべてのフレームワークに対してチェック |
出力形式
| 形式 | 説明 |
|---|---|
| json | JSON レポートのみ |
| html | HTML レポートのみ |
| PDF レポートのみ | |
| both | JSON および HTML レポート |
| all | JSON、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 つの認証方式がサポートされています。
- ベーシック認証:
--usernameと--password - 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_id | u_related_ci | CMDB CI sys_id(32 文字の 16 進数) — 構成アイテムへのリンクを作成 |
| ci_name | u_business_application | 人間が読めるアプリケーション名 |
| environment | u_environment | 環境分類(Production、Staging、Dev) |
ci_id は有効な 32 文字の 16 進数の ServiceNow sys_id である必要があります。無効な形式が指定された場合、ServiceNow ではそのフィールドは空のままになります。
環境変数
SERVICENOW_INSTANCE: ServiceNow インスタンス URLSERVICENOW_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 |
| --pretty | JSON 出力を整形 | 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 sarif | CI/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_LOG | Rust のロギングレベル | - |
| WHOISXML_API_KEY | サブドメイン検出用の WhoisXML API キー | - |
| GITLAB_TOKEN | GitLab 個人アクセストークン | - |
| GITHUB_TOKEN | GitHub 個人アクセストークン | - |
| AZDO_TOKEN | Azure DevOps PAT トークン | - |
| SERVICENOW_INSTANCE | ServiceNow インスタンス URL | - |
| SERVICENOW_USER | ServiceNow ユーザー名 | - |
| SERVICENOW_PASSWORD | ServiceNow パスワード | - |
| SERVICENOW_TOKEN | ServiceNow OAuth トークン | - |
| PQC_CI_ID | CMDB CI 識別子(sys_id) | - |
| PQC_CI_NAME | CMDB CI の人間が読める名前 | - |
| PQC_CI_TYPE | CMDB における CI タイプ | Application |
| PQC_CMDB_ADAPTER | CMDB システム(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