Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cyclonedx-cli — واجهة سطر أوامر (CLI) لتوليد وتحليل ودمج ومقارنة والتحقق من وتوقيع وتحويل ملفات SBOM بصيغة CycloneDX عبر تنسيقات JSON وXML وProtobuf وCSV وSPDX. | Kitploit
أدوات/GitHubGitHub/cyclonedx/cyclonedx-cli
أدوات دفاعيةالتشفيرDevSecOpsالأدوات والمكوناتأمن سلسلة التوريد
GitHubcyclonedx/cyclonedx-cli

cyclonedx-cli

واجهة سطر أوامر (CLI) لتوليد وتحليل ودمج ومقارنة والتحقق من وتوقيع وتحويل ملفات SBOM بصيغة CycloneDX عبر تنسيقات JSON وXML وProtobuf وCSV وSPDX.

عرض المستودع
53381منذ 3 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

Docker Image License Website Slack Invite Group Discussion Twitter

root@kitploit:~
   ______           __                 ____ _  __    ________    ____
  / ____/_  _______/ /___  ____  ___  / __ \ |/ /   / ____/ /   /  _/
 / /   / / / / ___/ / __ \/ __ \/ _ \/ / / /   /   / /   / /    / /
/ /___/ /_/ / /__/ / /_/ / / / /  __/ /_/ /   |   / /___/ /____/ /
\____/\__, /\___/_/\____/_/ /_/\___/_____/_/|_|   \____/_____/___/
     /____/

Usage:
  cyclonedx [command] [options]

Options:
  --version         Show version information
  -?, -h, --help    Show help and usage information

Commands:
  add                         Add information to a BOM (currently supports files)
  analyze                     Analyze a BOM file
  convert                     Convert between different BOM formats
  diff <from-file> <to-file>  Generate a BOM diff
  keygen                      Generates an RSA public/private key pair for BOM signing
  merge                       Merge two or more BOMs
  sign                        Sign a BOM or file
  validate                    Validate a BOM
  verify                      Verify signatures in a BOM

تدعم أداة سطر الأوامر CycloneDX CLI حالياً تحليل ملفات BOM وتعديلها وحساب الفروقات بينها ودمجها وتحويل التنسيقات وتوقيعها والتحقق منها.

يُدعم التحويل بين تنسيقات CycloneDX XML وJSON وProtobuf وCSV وSPDX JSON v2.3.

يمكن تنزيل الملفات التنفيذية من صفحة الإصدارات.

ملاحظة: أُنشئت أداة CycloneDX CLI لحالات الاستخدام المؤتمتة. أي أمر يحتوي على الخيار --input-file يدعم أيضاً إدخال البيانات من stdin. وبالمثل، فإن أي أمر يحتوي على الخيار --output-file يدعم إخراج البيانات إلى stdout. ومع ذلك، ستحتاج إلى تحديد تنسيقات الإدخال والإخراج.

على سبيل المثال:
cat bom.json | cyclonedx-cli convert --input-format json --output-format xml > bom.xml

الأوامر

أمر الإضافة

الأمر الفرعي لإضافة الملفات

root@kitploit:~
files
  Add files to a BOM

Usage:
  cyclonedx add files [options]

Options:
  --input-file <input-file>                       Input BOM filename.
  --no-input                                      Use this option to indicate that there is no input BOM.
  --output-file <output-file>                     Output BOM filename, will write to stdout if no value provided.
  --input-format <autodetect|json|protobuf|xml>   Specify input file format.
  --output-format <autodetect|json|protobuf|xml>  Specify output file format.
  --base-path <base-path>                         Base path for directory to process (defaults to current working directory if omitted).
  --include <include>                             Apache Ant style path and file patterns to specify what to include (defaults to all files, separate patterns with a space).
  --exclude <exclude>                             Apache Ant style path and file patterns to specify what to exclude (defaults to none, separate patterns with a space).

أمثلة

إنشاء BOM لكود المصدر مع استبعاد دليل مستودع Git:
cyclonedx-cli add files --no-input --output-format json --exclude /.git/**

إضافة ملفات مخرجات البناء من دليل bin إلى BOM موجود:
cyclonedx-cli add files --input-file bom.json --output-format json --base-path bin

أمر التحليل

root@kitploit:~
analyze
  Analyze a BOM file

Usage:
  cyclonedx analyze [options]

Options:
  --input-file <input-file>                      Input BOM filename, will read from stdin if no value provided.
  --input-format <autodetect|json|protobuf|xml>  Specify input file format.
  --output-format <json|text>                    Specify output format (defaults to text).
  --multiple-component-versions                  Report components that have multiple versions in use.

أمثلة

الإبلاغ عن المكونات المضمّنة أكثر من مرة بإصدارات مختلفة:
cyclonedx-cli analyze --input-file sbom.xml --multiple-component-versions

أمر التحويل

root@kitploit:~
convert
  Convert between different BOM formats

Usage:
  cyclonedx convert [options]

Options:
  --input-file <input-file>                                    Input BOM filename, will read from stdin if no value provided.
  --output-file <output-file>                                  Output BOM filename, will write to stdout if no value provided.
  --input-format <autodetect|csv|json|protobuf|spdxjson|xml>   Specify input file format.
  --output-format <autodetect|csv|json|protobuf|spdxjson|xml>  Specify output file format.
  --output-version <v1_0|v1_1|v1_2|v1_3|v1_4|v1_5|v1_6|v1_7>   Specify output BOM specification version. (ignored for CSV and SPDX formats)

أمثلة

التحويل من تنسيق XML إلى تنسيق JSON:
cyclonedx-cli convert --input-file sbom.xml --output-file sbom.json

التحويل من تنسيق XML إلى تنسيق JSON وتوجيه المخرجات إلى أدوات إضافية:
cyclonedx-cli convert --input-file sbom.xml --output-format json | grep "somthing"

تنسيق CSV

تنسيق CSV هو تمثيل محدود لقائمة المكونات في BOM.

الهدف هو توفير طريقة بسيطة للمستخدمين لإنتاج واستهلاك ملفات BOM لحالات الاستخدام البسيطة، بما في ذلك حالات ترحيل البيانات البسيطة.

الحقلان الوحيدان المطلوبان هما حقلا المكوّن name وversion. ويمكن ترك الحقول الأخرى فارغة أو حذف الأعمدة.

example.csv

تنسيق SPDX

يمكن أن يؤدي التحويل بين تنسيقي SPDX وCycloneDX إلى فقدان بعض المعلومات. وظيفة التحويل مُقدَّمة من مكتبة CycloneDX.Spdx.Interop، وهي جزء من مشروع مكتبة CycloneDX .NET.

لمزيد من التفاصيل حول المعلومات المفقودة، راجع صفحة مشروع مكتبة CycloneDX .NET.

أمر الفرق

root@kitploit:~
diff
  Generate a BOM diff

Usage:
  cyclonedx diff <from-file> <to-file> [options]

Arguments:
  <from-file>  From BOM filename.
  <to-file>    To BOM filename.

Options:
  --from-format <autodetect|json|protobuf|xml>  Specify from file format.
  --to-format <autodetect|json|protobuf|xml>    Specify to file format.
  --output-format <json|text>                   Specify output format (defaults to text).
  --component-versions                          Report component versions that have been added, removed or modified.

أمثلة

الإبلاغ عن المكونات التي تغيّرت إصداراتها:
cyclonedx-cli diff sbom-from.xml sbom-to.xml --component-versions

أمر إنشاء المفاتيح

root@kitploit:~
keygen
  Generates an RSA public/private key pair for BOM signing

Usage:
  cyclonedx keygen [options]

Options:
  --private-key-file <private-key-file>  Filename for generated private key file (defaults to "private.key")
  --public-key-file <public-key-file>    Filename for generated public key file (defaults to "public.key")

أمر الدمج

root@kitploit:~
merge
  Merge two or more BOMs

Usage:
  cyclonedx merge [options]

Options:
  --input-files <input-files>                                Input BOM filenames (separate filenames with a space).
  --output-file <output-file>                                Output BOM filename, will write to stdout if no value provided.
  --input-format <autodetect|json|protobuf|xml>              Specify input file format.
  --output-format <autodetect|json|protobuf|xml>             Specify output file format.
  --output-version <v1_0|v1_1|v1_2|v1_3|v1_4|v1_5|v1_6|v1_7> Specify output BOM specification version.
  --hierarchical                                             Perform a hierarchical merge.
  --group <group>                                            Provide the group of software the merged BOM describes.
  --name <name>                                              Provide the name of software the merged BOM describes (required for hierarchical merging).
  --version <version>                                        Provide the version of software the merged BOM describes (required for hierarchical merging).

ملاحظة: لإجراء دمج هرمي، يجب أن تحتوي جميع ملفات BOM على موضوع BOM موصوفاً في عنصر المكوّن في البيانات الوصفية (metadata component element).

أمثلة

دمج ملفي BOM بتنسيق XML:
cyclonedx-cli merge --input-files sbom1.xml sbom2.xml --output-file sbom_all.xml

دمج ملفي BOM وتوجيه المخرجات إلى أدوات إضافية:
cyclonedx-cli merge --input-files sbom1.xml sbom2.xml --output-format json | grep "something"

أمر التوقيع

توقيع BOM أو ملف

الأمر الفرعي لتوقيع BOM

root@kitploit:~
bom
  Sign the entire BOM document

Usage:
  cyclonedx sign bom <bom-file> [options]

Arguments:
  <bom-file>  BOM filename

Options:
  --key-file <key-file>  Signing key filename (RSA private key in PEM format, defaults to "private.key")

الأمر الفرعي لتوقيع ملف

root@kitploit:~
file
  Sign arbitrary files and generate a PKCS1 RSA SHA256 signature file

Usage:
  cyclonedx sign file <file> [options]

Arguments:
  <file>  Filename of the file the signature will be created for

Options:
  --key-file <key-file>              Signing key filename (RSA private key in PEM format, defaults to "private.key")
  --signature-file <signature-file>  Filename of the generated signature file (defaults to the filename with ".sig" appended)

أمر التحقق من الصحة

root@kitploit:~
validate
  Validate a BOM

Usage:
  cyclonedx validate [options]

Options:
  --input-file <input-file>                                  Input BOM filename, will read from stdin if no value provided.
  --input-format <autodetect|json|xml>                       Specify input file format.
  --input-version <v1_0|v1_1|v1_2|v1_3|v1_4|v1_5|v1_6|v1_7>  Specify input file specification version (defaults to v1.7)
  --fail-on-errors                                           Fail on validation errors (return a non-zero exit code)

أمثلة

التحقق من صحة BOM وإرجاع رمز خروج غير صفري (مفيد لكسر البناء تلقائياً، وما إلى ذلك)
cyclonedx-cli validate --input-file sbom.xml --fail-on-errors

أمر التحقق

التحقق من التوقيعات الخاصة بملفات BOM والملفات

الأمر الفرعي للتحقق من الكل

root@kitploit:~
all
  Verify all signatures in a BOM

Usage:
  cyclonedx verify all <bom-file> [options]

Arguments:
  <bom-file>  BOM filename

Options:
  --key-file <key-file>  Public key filename (RSA public key in PEM format, defaults to "public.key")

الأمر الفرعي للتحقق من ملف

root@kitploit:~
file
  Verifies a PKCS1 RSA SHA256 signature file for an arbitrary file

Usage:
  cyclonedx verify file <file> [options]

Arguments:
  <file>  File the signature file is for

Options:
  --key-file <key-file>              Public key filename (RSA public key in PEM format, defaults to "public.key")
  --signature-file <signature-file>  Signature file to be verified (defaults to the filename with ".sig" appended)

صورة Docker

يمكن أيضاً تشغيل أداة CycloneDX CLI باستخدام docker: docker run cyclonedx/cyclonedx-cli.

Homebrew

بالنسبة إلى Linux وMacOS، يمكن تثبيت CLI عبر مستودع CycloneDX Homebrew:

root@kitploit:~
brew install cyclonedx/cyclonedx/cyclonedx-cli

المنصات المدعومة

تتوفر إصدارات مدعومة رسمياً لهذه المنصات:

  • Windows x64 (win-x64)
  • Linux x64 (linux-x64)
  • Linux musl x64 (linux-musl-x64، يتضمن Alpine Linux)
  • MacOS x64 (osx-x64)

تتوفر إصدارات مدعومة من المجتمع لهذه المنصات:

  • Windows x86 (win-x86)
  • Windows ARM x64 (win-arm64)
  • Linux ARM (linux-arm)
  • Linux ARM x64 (linux-arm64)
  • MacOS ARM x64 (osx-arm64)

مطلوبة تبعيات وقت تشغيل .NET Core.

بالنسبة إلى Windows، يجب أن تكون هذه التبعيات مثبتة مسبقاً.

بالنسبة إلى Ubuntu، هذه التبعيات هي: libc6 libgcc1 libgssapi-krb5-2 libicu66 libssl1.1 libstdc++6 zlib1g.

استخدام gron للبحث والتحليل المخصص

يحوّل gron بيانات JSON إلى تعيينات منفصلة لتسهيل استخدام grep للعثور على ما تريده ورؤية «المسار» المطلق إليه.

للتسهيل، تم تضمين gron في صورة Docker الخاصة بـ CycloneDX CLI.

مثال استخدام يعرض جميع أسماء المكونات وإصداراتها

root@kitploit:~
$ gron bom-1.2.json | grep -E "(components\[[[:digit:]]*\].name)|(components\[[[:digit:]]*\].version)"

json.components[0].name = "tomcat-catalina";
json.components[0].version = "9.0.14";
json.components[1].name = "mylibrary";
json.components[1].version = "1.0.0";

أو نفس المثال باستخدام BOM بتنسيق XML

root@kitploit:~
$ cyclonedx convert --input-file bom.xml --output-format json | gron | grep -E "(components\[[[:digit:]]*\].name)|(components\[[[:digit:]]*\].version)"

json.components[0].name = "tomcat-catalina";
json.components[0].version = "9.0.14";
json.components[1].name = "mylibrary";
json.components[1].version = "1.0.0";

لمزيد من التفاصيل حول استخدام gron، راجع صفحة مشروع gron.

لمزيد من التفاصيل حول استخدام grep، راجع صفحة دليل grep.

الترخيص

يُمنح الإذن بالتعديل وإعادة التوزيع بموجب شروط ترخيص Apache 2.0. راجع ملف LICENSE للحصول على الترخيص الكامل.

المساهمة

نرحب بطلبات السحب (Pull requests). لكن يرجى قراءة إرشادات المساهمة في CycloneDX أولاً.

لإنشاء الحل واختباره محلياً، يجب أن يكون .NET 8 مثبتاً لديك. تعمل الأوامر القياسية مثل dotnet build وdotnet test.

من المتوقع عموماً أن تتضمن طلبات السحب اختبارات ذات صلة. تُنفَّذ الاختبارات تلقائياً على Windows وMacOS وLinux لكل طلب سحب. ستؤدي تحذيرات البناء إلى كسر البناء.

يرجى إخبارنا إذا كنت تواجه مشكلة في تصحيح اختبار فاشل على منصة لا يمكنك الوصول إليها.

تنزيل الأداة