إنتقل إلى المحتوى الرئيسي

مرجع واجهة سطر الأوامر

ينطبق على:
WindowsLinuxmacOSDocker

الملخّص​

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.

الخيارمتغيّر البيئةالوصفالافتراضي
--ci-id <ID>PQC_CI_IDمعرّف عنصر إعداد CMDB (sys_id)-
--ci-name <NAME>PQC_CI_NAMEاسم التطبيق القابل للقراءة البشرية-
--ci-type <TYPE>PQC_CI_TYPEنوع عنصر الإعداد في CMDBApplication
--cmdb-adapter <ADAPTER>PQC_CMDB_ADAPTERنظام CMDB: 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 (sys_id في CMDB) ويُربَط ci_name بـ u_business_application.

أسبقية سياق عنصر الإعداد​

يُحلّ سياق عنصر الإعداد بهذا الترتيب (الأعلى أولوية أولًا):

  1. رايات سطر الأوامر: --ci-id، --ci-name، إلخ.
  2. pqc.yaml: ملف إعداد على مستوى المستودع (لمسح الكود المصدري)
  3. ملف تخطيط النطاقات: ملف YAML الخاص بـ --domain-map الذي يربط النطاقات بالتطبيقات
  4. لا شيء: بلا ربط بـ CMDB (متوافق مع الإصدارات السابقة)

pqc.yaml (إعداد على مستوى المستودع)​

ضع ملف 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 لتخطيط النطاقات لربط النطاقات بتطبيق واحد أو أكثر. يفيد ذلك بشكل خاص للبنية التحتية المشتركة حيث تشترك تطبيقات متعددة في النطاق نفسه:

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-certstoreمسح مخزن شهادات Windows (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 لاكتشاف النطاقات الفرعية (أو اضبط متغيّر البيئة 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: مفتاح واجهة برمجة التطبيقات لاكتشاف النطاقات الفرعية (بديل لـ --subdomain-api-key)
ملاحظة
  • يتطلب اكتشاف تبادل مفاتيح ما بعد الكم (--detect-pq-kex) أذونات مرتفعة (sudo/المسؤول)
  • يتطلب اكتشاف النطاقات الفرعية مفتاح واجهة برمجة تطبيقات WhoisXML
  • يكتشف الماسح اتصالات 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، ويستخرج المجموعات المدعومة وامتدادات مشاركة المفاتيح و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​

تشغيل خادم لوحة معلومات الويب.

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

الوصف​

يشغّل لوحة معلومات ويب تفاعلية من أجل:

  • عرض نتائج المسح
  • تحليل المخاطر وتصويرها
  • فحص الامتثال
  • تخطيط الترحيل
  • التكامل مع 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>عنوان URL الأساسي لـ GitLabhttps://gitlab.com
--github-repo <REPO>مستودع GitHub‏ (owner/repo)-
--github-token <TOKEN>رمز GitHubمتغيّر البيئة GITHUB_TOKEN
--github-url <URL>عنوان URL الأساسي لـ GitHubhttps://api.github.com
--azdo-org <ORG>مؤسسة Azure DevOps-
--azdo-project <PROJECT>مشروع Azure DevOps-
--azdo-repo <REPO>مستودع Azure DevOps-
--azdo-token <TOKEN>رمز PAT الخاص بـ Azure DevOpsمتغيّر البيئة AZDO_TOKEN
--azdo-url <URL>عنوان URL الأساسي لـ Azure DevOpshttps://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: رمز الوصول الشخصي (PAT) لـ Azure DevOps

اللغات المدعومة​

يكتشف الماسح ويحلّل تلقائيًا استخدام التشفير في:

اللغات

  • 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-52إرشادات NIST لتنفيذات TLS
NIST-800-131Aالخوارزميات التشفيرية وأطوال المفاتيح
CISمعايير CIS
PCI-DSS-4.0معيار أمان بيانات صناعة بطاقات الدفع
HIPAAقانون نقل التأمين الصحي والمساءلة
GDPRاللائحة العامة لحماية البيانات
SOC2مراقبة مؤسسة الخدمة 2
ISO27001إدارة أمن المعلومات
FedRAMPبرنامج إدارة المخاطر والترخيص الفيدرالي
Algerianالمعايير التشفيرية الجزائرية
allالفحص مقابل جميع أطر العمل

صيغ المخرجات​

الصيغةالوصف
jsonتقرير JSON فقط
htmlتقرير HTML فقط
pdfتقرير 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>(مطلوب) عنوان URL لمثيل ServiceNow (مثل 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>(مطلوب) ملف نتائج المسح المراد نشره-

المصادقة​

طريقتان للمصادقة مدعومتان:

  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_id وci_name (المضبوطَين عبر خيارات سياق CMDB)، يُربَطان تلقائيًا بحقول ServiceNow أثناء النشر:

حقل اكتشاف المسححقل ServiceNowالوصف
ci_idu_related_cisys_id لعنصر إعداد CMDB (سداسي عشري من 32 حرفًا) — ينشئ رابطًا إلى عنصر الإعداد
ci_nameu_business_applicationاسم التطبيق القابل للقراءة البشرية
environmentu_environmentتصنيف البيئة (Production، Staging، Dev)
ملاحظة

يجب أن يكون ci_id معرّف sys_id سداسيًا عشريًا صالحًا من 32 حرفًا في ServiceNow. إذا قُدِّمت صيغة غير صالحة، يُترَك الحقل فارغًا في ServiceNow.

متغيّرات البيئة​

  • SERVICENOW_INSTANCE: عنوان URL لمثيل ServiceNow
  • SERVICENOW_USER: اسم المستخدم للمصادقة الأساسية
  • SERVICENOW_PASSWORD: كلمة المرور للمصادقة الأساسية
  • SERVICENOW_TOKEN: رمز OAuth الخاص بـ ServiceNow

المخرجات​

يقدّم الأمر ملخصًا يتضمّن:

  • عدد الأصول المُنشأة/المُحدَّثة
  • عدد الحوادث المُنشأة (للاكتشافات الحرِجة)
  • أي أخطاء واجَهها

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>إصدار التطبيق للبيانات الوصفية لـ CBOM1.0
--prettyتنسيق مخرجات JSON بشكل جميلtrue

الوصف​

يولّد CBOM بصيغة CycloneDX 1.7 (قائمة مكوّنات التشفير) من نتائج المسح. توفّر صيغة 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

سير العمل الشائع​

# 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 لاكتشاف النطاقات الفرعية-
GITLAB_TOKENرمز الوصول الشخصي لـ GitLab-
GITHUB_TOKENرمز الوصول الشخصي لـ GitHub-
AZDO_TOKENرمز PAT الخاص بـ Azure DevOps-
SERVICENOW_INSTANCEعنوان URL لمثيل ServiceNow-
SERVICENOW_USERاسم مستخدم ServiceNow-
SERVICENOW_PASSWORDكلمة مرور ServiceNow-
SERVICENOW_TOKENرمز OAuth الخاص بـ ServiceNow-
PQC_CI_IDمعرّف عنصر إعداد CMDB (sys_id)-
PQC_CI_NAMEالاسم القابل للقراءة البشرية لعنصر إعداد CMDB-
PQC_CI_TYPEنوع عنصر الإعداد في CMDBApplication
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. للتغييرات الخاصة بالإصدار، راجع سجل تغييرات المشروع. آخر تحديث: يناير 2025 | إصدار الماسح: 1.0+ | إصدار واجهة برمجة التطبيقات: v1