مرجع واجهة سطر الأوامر
مرجع واجهة سطر الأوامر
دليل مرجعي كامل لواجهة سطر الأوامر لماسح DuoKey PQC.
الملخّص
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 | نوع عنصر الإعداد في CMDB | 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 (sys_id في CMDB) ويُربَط ci_name بـ u_business_application.
أسبقية سياق عنصر الإعداد
يُحلّ سياق عنصر الإعداد بهذا الترتيب (الأعلى أولوية أولًا):
- رايات سطر الأوامر:
--ci-id،--ci-name، إلخ. - pqc.yaml: ملف إعداد على مستوى المستودع (لمسح الكود المصدري)
- ملف تخطيط النطاقات: ملف YAML الخاص بـ
--domain-mapالذي يربط النطاقات بالتطبيقات - لا شيء: بلا ربط بـ 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، 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 لاكتشاف النطاقات الفرعية (أو اضبط متغيّر البيئة 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: مفتاح واجهة برمجة التطبيقات لاكتشاف النطاقات الفرعية (بديل لـ--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، 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، ويستخرج المجموعات المدعومة وامتدادات مشاركة المفاتيح و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، 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> | عنوان URL الأساسي لـ GitLab | https://gitlab.com |
| --github-repo <REPO> | مستودع GitHub (owner/repo) | - |
| --github-token <TOKEN> | رمز GitHub | متغيّر البيئة GITHUB_TOKEN |
| --github-url <URL> | عنوان URL الأساسي لـ GitHub | https://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 DevOps | 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: رمز الوصول الشخصي لـ GitLabGITHUB_TOKEN: رمز الوصول الشخصي لـ GitHubAZDO_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، all | both |
أطر العمل المدعومة
| إطار العمل | الوصف |
|---|---|
| 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 فقط | |
| 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> | (مطلوب) ملف نتائج المسح المراد نشره | - |
المصادقة
طريقتان للمصادقة مدعومتان:
- المصادقة الأساسية:
--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_id وci_name (المضبوطَين عبر خيارات سياق CMDB)، يُربَطان تلقائيًا بحقول ServiceNow أثناء النشر:
| حقل اكتشاف المسح | حقل ServiceNow | الوصف |
|---|---|---|
| ci_id | u_related_ci | sys_id لعنصر إعداد CMDB (سداسي عشري من 32 حرفًا) — ينشئ رابطًا إلى عنصر الإعداد |
| ci_name | u_business_application | اسم التطبيق القابل للقراءة البشرية |
| environment | u_environment | تصنيف البيئة (Production، Staging، Dev) |
يجب أن يكون ci_id معرّف sys_id سداسيًا عشريًا صالحًا من 32 حرفًا في ServiceNow. إذا قُدِّمت صيغة غير صالحة، يُترَك الحقل فارغًا في ServiceNow.
متغيّرات البيئة
SERVICENOW_INSTANCE: عنوان URL لمثيل ServiceNowSERVICENOW_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> | إصدار التطبيق للبيانات الوصفية لـ CBOM | 1.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 | نوع عنصر الإعداد في CMDB | 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. للتغييرات الخاصة بالإصدار، راجع سجل تغييرات المشروع. آخر تحديث: يناير 2025 | إصدار الماسح: 1.0+ | إصدار واجهة برمجة التطبيقات: v1