تخطَّ إلى المحتوى

SBOM

قائمة مكوّنات البرمجيات SBOM

SBOM (Software Bill of Materials) قائمة كاملة وموثَّقة بكل مكوّن واعتمادية (بما فيها الاعتماديات غير المباشرة) داخل برنامجك، تُستخدَم لمعرفة أثر ثغرة مكتشفة حديثًا فورًا دون البحث اليدوي.

عند الإعلان عن ثغرة خطيرة بمكتبة معيّنة، أول سؤال لأي فريق أمن هو: 'هل نستخدمها؟ وأين بالضبط؟'. بمشروع يعتمد على مئات الاعتماديات غير المباشرة (اعتماديات اعتمادياتك)، الإجابة اليدوية بطيئة وغير موثوقة.

الـ SBOM سجلّ مُولَّد آليًّا (وليس مكتوبًا يدويًّا) يوثّق كل مكوّن ورقم إصداره ومصدره، فيتحوّل السؤال أعلاه لعملية بحث فورية بدل تحقيق يدوي قد يستغرق أيامًا — وهو أحد أهم التوصيات الدفاعية لمواجهة إخفاقات سلسلة التوريد البرمجية.

الصياغة

npm sbom --sbom-format=cyclonedx   // توليد SBOM آليًّا من ملفّ القفل الحالي

📄 مثال

// مثال مفاهيمي لبنية سجلّ SBOM (مبسّط)
{
  "component": "some-library",
  "version": "2.4.1",
  "source": "npm-registry",
  "dependsOn": ["another-lib@1.0.3"]
}
// عند الإعلان عن ثغرة بـ another-lib@1.0.x، بحث واحد في السجلّ يحدّد كل مشروع متأثّر فورًا

أهم النقاط

النقطةالوظيفة
الغرضمعرفة أثر ثغرة مكتشفة حديثًا بمكوّن معيّن خلال دقائق لا أيام
التوليدآلي من ملفّات القفل ونظام البناء، لا يُكتب يدويًّا
الصيغ الشائعةCycloneDX وSPDX أشهر تنسيقين معياريّين لتبادل السجلّ

💡 نصائح عملية

  • ولّد SBOM كخطوة تلقائية ضمن خط CI عند كل إصدار، وليس عملية يدوية تُنسى مع الوقت

⚠️ أخطاء شائعة

  • الاكتفاء بتوثيق الاعتماديات المباشرة فقط — أغلب الثغرات الفعلية تظهر باعتماديات غير مباشرة (اعتماديات اعتمادياتك) لا يراها أحد يدويًّا

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار CYBERSECURITY الكامل بالعربي.