تحقّق مما يدخل الإصدار
مكتملافحص التبعيات ومدخلات البناء ومعلومات منشأ نواتج البناء. اربط المصدر الخاضع للمراجعة بالبرمجيات التي تصل إلى الإنتاج.
تحقّق من فهمكيفيد فحص تبعيات بعدم وجود ثغرات معروفة. ماذا يثبت ذلك؟نفّذ التمرين
ما ستتعلّمه
- التمييز بين قائمة التبعيات والأدلة الأمنية.
- شرح لماذا لا يكفي اسم حزمة وتثبيت ناجح.
- تتبّع ناتج بناء إلى مصدره وعملية بنائه.
اسأل إن كانت التبعية ضرورية
قد يقترح الوكيل حزمة يبدو أنها تحل مشكلة. الاقتراح مقترح، وليس دليلاً على وجود الحزمة أو ملاءمتها. تحقّق من مستودع الحزم والناشر واسم الحزمة والإصدار بدقة قبل التثبيت.
في تصدير CSV خيالي، قد توفّر بيئة التشغيل السلوك المطلوب بالفعل. وقد تبقى حزمة جديدة مناسبة، لكنها تضيف مسؤوليات صيانة ومسارات تنفيذ. قارن جهد التنفيذ بالمسؤوليات المستمرة للتبعية.
راجع الترخيص وبيئة التشغيل المدعومة. افحص نشاط الصيانة والتنبيهات المعنية. قد يشير اسم مألوف إلى حزمة مختلفة في مستودع حزم آخر. ولا يدل التثبيت الناجح إلا على اكتمال التثبيت.
افحص سلوك التثبيت والبناء
قد تنفّذ التبعيات شيفرة أثناء التثبيت أو البناء. قيّد بيانات الاعتماد والوصول إلى الشبكة في هذه البيئات. ولا تعرّض أسرار الإنتاج لمهمة تعالج طلب دمج غير موثوق.
استخدم ملف قفل محفوظاً في المستودع حيث تدعمه المنظومة. واشترط أن يلتزم البناء بهذا الملف. راجع تغييرات ملف القفل مع تغيير المصدر، بما فيها الحزم غير المباشرة غير المتوقعة. يحسّن تثبيت الإصدارات قابلية إعادة إنتاج البناء، لكنه لا يجعل إصداراً به ثغرة آمناً.
يغطي إطار SSDF من NIST حماية البرمجيات وممارسات التطوير عبر دورة الحياة. استخدم هذا المنظور الأوسع عند تصميم بيئة البناء. اقرأ الإطار.
ميّز قائمة المكوّنات عن معلومات المنشأ
تسجّل قائمة مكوّنات البرمجيات، أو SBOM، المكوّنات الموجودة في البرمجيات. وتساعد على تحديد الإصدارات المتأثرة عندما يثير مكوّن قلقاً. لكنها لا تثبت بمفردها سلامة المكوّنات.
تصف معلومات المنشأ كيفية إنتاج ناتج بناء. يحدّد SLSA تنسيقاً لمعلومات المنشأ عن البناء ومدخلاته. يجب أن يربط التحقق هذه المعلومات بجهة إنتاج موثوقة وناتج البناء الذي تنوي استخدامه. لا يكفي ملف اسمه «provenance». معلومات المنشأ في SLSA.
لخدمة التصدير، سجّل سلسلة تستطيع فحصها:
- يحدّد commit الخاضع للمراجعة المصدر المقبول.
- يحدّد البناء مدخلاته وبيئة تنفيذه.
- لناتج البناء بصمة تجزئة ثابتة.
- تحدّد الفحوص ناتج البناء أو المصدر الذي فحصته.
- يسجّل النشر ناتج البناء الموضوع في البيئة المستهدفة.
تجنّب إعادة البناء بطريقة مختلفة بعد الموافقة دون عملية تحقق محددة. فقد يشير وسم قابل للتغيير مثل latest إلى صورة مختلفة لاحقاً.
حدّد معنى المشكلة المكتشفة
تحتاج الثغرة المكتشفة إلى سياق: الإصدار المتأثر وإمكان تشغيل السلوك المعني والتعرّض والإصلاح المتاح والعواقب. سجّل الأدلة وراء أي استثناء مؤقت. وحدّد له مسؤولاً وموعد انتهاء وظرفاً يستدعي المراجعة.
لا تعطّل أداة فحص كاملة لأن مشكلة واحدة لا تنطبق. ولا تدّعِ خلو النتيجة من المشكلات عندما لم يكتمل الفحص. انتهاء المهلة أو عدم دعم حزمة أو تعذّر الوصول إلى مصدر تنبيهات يعني غياب أدلة.
أخيراً، خطّط للتحديثات بعد الإصدار. قد تؤثر تنبيهات جديدة في ناتج بناء قُبل بالأمس. يحتاج مسؤول الخدمة إلى قائمة مكوّنات وعملية استجابة وموارد لإنتاج إصدار مصحح.
تابع إلى الإدارة المستمرة للثغرات لربط الفحوص المتكررة بإصلاحات متحقق منها في الإنتاج.
نفّذ التمرين
اختر تغييراً خيالياً لتصدير CSV يضيف حزمة. اكتب ملاحظة قبول تغطي الحاجة وهوية الحزمة الدقيقة والإصدار والترخيص والصيانة والثغرات المكتشفة وسلوك التثبيت. ارسم المسار من commit الخاضع للمراجعة إلى ناتج البناء المنشور.
تنزيل ورقة العمل (Markdown)يؤدي إلغاء هذا الاختيار إلى حذف كل التقدم المحفوظ في هذا المتصفح.
يبقى تقدمك في هذا المتصفح. دون حساب أو تتبّع.