
يمسح قوائم مواد البرمجيات (SBOMs) للبحث عن الثغرات الأمنية.

bomber هو تطبيق يقوم بفحص قوائم مكونات البرمجيات (SBOMs) بحثًا عن الثغرات الأمنية.
لقد طلبت من بائع قائمة مكونات برمجيات (SBOM) لأحد منتجاته المغلقة المصدر، وقد زودك بها في ملف JSON... ماذا الآن؟
أول شيء سترغب في فعله هو معرفة ما إذا كان أي من المكونات المدرجة داخل قائمة المكونات يحتوي على ثغرات أمنية، ونوع التراخيص التي تمتلكها هذه المكونات. سيساعدك هذا في تحديد نوع المخاطرة التي سيتحملها استخدامك للمنتج.
العثور على الثغرات الأمنية ومعلومات الترخيص للمكونات المحددة في قائمة المكونات هو بالضبط ما صُمم bomber للقيام به. يمكن لـ bomber قراءة أي تنسيق CycloneDX قائم على JSON أو XML، أو تنسيق SPDX أو Syft بصيغة JSON، وإخبارك بسرعة إذا كان هناك أي ثغرات.
يمكن أن تكون البرمجيات إما مفتوحة المصدر أو مغلقة المصدر. يمكنك النظر إلى المكونات الخارجية التي ستجدها في Github، أو أي مستودع مصدر عام على أنها مفتوحة المصدر. من الناحية الفنية، البرمجيات التي تنشئها داخليًا في شركتك هي أيضًا مفتوحة المصدر - فهي ليست عامة، لكن فرقك الداخلية يمكنها رؤيتها. البرمجيات مغلقة المصدر يمكن أيضًا أن تكون داخلية، ولكن عادةً ما تكون هذه البرمجيات التي تشتريها من بائعين خارجيين.
يمكن للشركات استخدام أدوات SCA التي يوفرها بائعون مثل Github و Sonatype و Snyk وما إلى ذلك لفحص أي نوع من البرمجيات مفتوحة المصدر وتوفير بيانات الثغرات الأمنية - وحتى إنشاء قوائم مكونات في بعض الحالات. ما لا يمكنهم فعله (حتى الآن...) هو فحص البرمجيات مغلقة المصدر التي ليس لديك رؤية فيها. هذا هو المكان الذي تلعب فيه قوائم المكونات و bomber. توفر قوائم المكونات تكوين البرمجيات التي لا يمكنك الوصول إليها، ويحدد bomber ما إذا كان هناك أي شيء في قائمة المكونات به ثغرات.
لقد أنشأنا bomber لفحص قوائم المكونات مغلقة المصدر التي يتم توفيرها عند استلامها من البائعين. يمكنه أيضًا فحص قوائم المكونات مفتوحة المصدر، ومن الناحية الفنية يمكنك استخدام bomber كأداة SCA مفتوحة المصدر إذا أردت.
هناك عدد لا بأس به من تنسيقات قوائم المكونات المتاحة اليوم. يدعم bomber ما يلي:

يدعم bomber مصادر متعددة لمعلومات الثغرات الأمنية. نسمي هؤلاء المزودين. حاليًا، يستخدم bomber OSV كمزود افتراضي، ولكن يمكنك أيضًا استخدام قاعدة بيانات استشارات Github، أو فهرس Sonatype OSS، أو Snyk.
في الوقت الحالي، يرجى ملاحظة أن OSV مجاني ولا يتطلب أي بيانات اعتماد لاستخدامه، فهرس Sonatype OSS مجاني ولكنه يتطلب منك التسجيل والحصول على رمز مميز، ودعم Snyk يتطلب ترخيص Snyk.
بالإضافة إلى البيانات التي يجمعها bomber من المزودين، فإنه أيضًا يثري بيانات الثغرات بمعلومات إضافية مثل احتمالات الاستغلال.
يرجى ملاحظة أن كل مزود يدعم أنظمة بيئية مختلفة، لذلك إذا لم ترَ أي ثغرات في أحدهم، جرب الآخر. النظام البيئي هو ببساطة مدير الحزم، أو نوع الحزمة. تتضمن الأمثلة rpm و npm و gems وما إلى ذلك. من المهم أن تفهم أن كل مزود قد يبلغ عن ثغرات مختلفة. إذا كنت في شك، انظر إلى عدد قليل منهم.
إذا لم يجد bomber أي ثغرات، فهذا لا يعني أنه لا توجد أي منها. كل ما يعنيه هو أن المزود المستخدم لم يكتشف أيًا منها، أو أنه لا يدعم النظام البيئي. بعض المزودين لديهم ثغرات تعود بدون معلومات عن الخطورة. في هذه الحالة، سيتم إدراج الخطورة على أنها "غير محددة"
يمكن العثور على وثائق المزود لـ bomber في:
يمكنك استخدام Homebrew لتثبيت bomber باستخدام ما يلي:
brew tap devops-kung-fu/homebrew-tap
brew install devops-kung-fu/homebrew-tap/bomber
إذا لم يكن لديك Homebrew، فلا يزال بإمكانك تنزيل أحدث إصدار (مثال: bomber_0.4.1_darwin_all.tar.gz)، واستخراج الملفات من الأرشيف، واستخدام البرنامج الثنائي bomber.
إذا كنت ترغب، يمكنك نقل البرنامج الثنائي bomber إلى دليل /usr/local/bin أو أي مكان في مسارك.
لتثبيت bomber، قم بتنزيل أحدث إصدار لمنصتك وقم بالتثبيت محليًا. على سبيل المثال، قم بتثبيت bomber على أوبونتو:
dpkg -i bomber_0.5.0_linux_arm64.deb
يمكنك إما فحص مجلد كامل من قوائم المكونات أو قائمة مكونات فردية باستخدام bomber. bomber لا يهتم إذا كان لديك تنسيقات متعددة في مجلد واحد. سيقوم بفرز كل شيء لك.
لاحظ أن المخرجات الافتراضية لـ bomber تكون إلى STDOUT. خيارات الإخراج بتنسيق HTML أو JSON موصوفة لاحقًا في هذا المستند.
# باستخدام OSV (المزود الافتراضي) الذي لا يتطلب أي بيانات اعتماد
bomber scan cyclonedx.sbom.json
# باستخدام مزود يتطلب بيانات اعتماد (ossindex)
bomber scan --provider=xxx --username=xxx --token=xxx [sbom.json]
إذا وجد المزود ثغرات، سترى مخرجات مشابهة لما يلي:

إذا لم يُرجع المزود أي ثغرات، سترى رسالة تقول أنه لم يتم العثور على أي ثغرات.