المصطلحات
Software Bill of Materials (SBOM)
قائمة مكونات البرمجيات (SBOM) هي سجل يوضح مكونات البرمجية واعتمادياتها وإصداراتها، وتساعد في تتبع الثغرات وفهم سلسلة توريد البرمجيات. تُستخدم في Homebrew لفحص الصيغ المثبتة، وتظهر ضمن حزم Rust في Ubuntu، كما تواصل Cloud Native Buildpacks تطوير آليات إنشائها.
قائمة مكونات البرمجيات (Software Bill of Materials أو SBOM) هي سجل لمكونات البرمجية واعتمادياتها، بما في ذلك أسماء المكونات وإصداراتها ومعلومات مصدرها عند توفرها. تساعد هذه القوائم المؤسسات والأدوات على معرفة ما يدخل في المنتج أو الحزمة، وتحديد ما إذا كانت ثغرة مكتشفة تؤثر في البيئة المستخدمة.
الاستخدامات الأمنية
- يعتمد فحص الثغرات في Homebrew على معلومات متاحة في SBOM للحزم المثبتة، أو يستخلص معلومات المصدر من تعريف الصيغة.
- يرسل Homebrew مستودع المصدر ورقم الإصدار أو الوسم إلى OSV.dev لمطابقة سجلات الثغرات المحتملة.
- لا تمنع SBOM الثغرات بحد ذاتها، لكنها تجعل تحديد الإصدارات والمكونات المتأثرة أكثر مباشرة.
SBOM في Ubuntu
تحتوي الثنائيات المبنية بلغة Rust ضمن حزم Ubuntu، وفق المصدر، على SBOM مضمّن يسجل أسماء crates وإصداراتها المستخدمة في البناء. وتتحدث هذه البيانات عند إعادة بناء الحزمة، ما يدعم تتبع تبعيات Rust عند ظهور مشكلة أمنية.
SBOM وسلسلة توريد البرمجيات
يرتبط SBOM بإدارة سلسلة توريد البرمجيات لأنه يتيح تتبع المكونات عبر البناء والتوزيع والتشغيل. وفي Cloud Native Buildpacks، تركز خارطة الطريق على تعزيز آليات إنشاء SBOM إلى جانب دعم OCI Artifacts وتحسين التوافق مع أحمال عمل أحدث.
من SBOM إلى AIBOM
يمتد مفهوم SBOM إلى أنظمة الذكاء الاصطناعي عبر قائمة مكونات برمجيات الذكاء الاصطناعي (AIBOM). ويشمل ذلك عناصر لا تقتصر على الحزم البرمجية، مثل النماذج ومجموعات البيانات والبنية التحتية ونتائج التقييم والعلاقات بين المكونات.
ما الذي لا يقدمه SBOM وحده؟
- لا يثبت وجود SBOM أن المكونات خالية من الثغرات.
- تتوقف فائدة النتائج على دقة بيانات المكونات والإصدارات ومعلومات المصدر.
- يحتاج استخدام SBOM إلى التكامل مع فحص الثغرات وإدارة المخاطر وممارسات أمنية أخرى.