ماذا لو استطعت اكتشاف أضعف رابط في سلسلة توريد البرمجيات الخاصة بك قبل أن تنفجر؟
مع جيثب الرسم البياني التبعية، أنت تستطيع. من خلال توفير عرض واضحة وكاملة للحزم الخارجية التي يعتمد عليها الرمز الخاص بك ، بشكل مباشر وغير مباشر ، فإنه يتيح لك فهم البصمة الحقيقية لمشروعك.
إذا كنت مثلي وأحيانًا تفقد تتبع ما يعمل فعليًا على تطبيقاتك (لقد كنا جميعًا هناك!) ، فإن الرسم البياني التبعي لـ Github على وشك أن يصبح أفضل صديق لك الجديد.
ما هو الرسم البياني التبعية؟
إليكم الشيء: كل مشروع برمجيات حديث هو في الأساس جبل جليدي. هذا الملف البيان الصغير مع تبعياتك المباشرة يبدو غير ضار للوهلة الأولى. لكن تحتها؟ هناك هذا العالم الضخم المخفي من التبعيات المتعدية التي لا يفكر فيها معظمنا. يخطط الرسم البياني للاعتماد على Github هذا العالم تحت الماء بالكامل. فكر في الأمر مثل شجرة العائلة ، ولكن للرمز الخاص بك. كل حزمة هي أحد أفراد الأسرة ، وكل علاقة تبعية تُظهر من يرتبط بمن (وثق بي ، بعض هذه الأشجار العائلية حقًا معقد).
كل حزمة هي عقدة. كل علاقة تبعية هي حافة. النتيجة؟ تمثيل بصري كامل ومنظم لقاعدة الكود الخارجية لبرنامجك.
في بعض الحالات ، 95-97 ٪ من الكود الخاص بك هو في الواقع شخص آخر. الرسم البياني التبعية يساعدك على فهم هذا الواقع.
مهندس جيثب إريك سورنسون
دع هذا يغرق للحظة. نحن في الأساس منسقون عمل الآخرين ، ويساعدنا الرسم البياني التبعي أخيرًا على فهم هذا الواقع.
لماذا يهم
عندما يتم اكتشاف نقاط الضعف في حزم المصادر المفتوحة ، فإن العواقب تتموج في اتجاه مجرى النهر. إذا كنت لا تعرف أن التبعية الضعيفة هي جزء من مشروعك ، فمن الصعب اتخاذ إجراء.
الرسم البياني التبعي ليس مجرد تصور رائع (على الرغم من أنه من الرائع أن ننظر إليه). إنها الأساس الذي يصنع تعتمد تنبيهات ممكنة. عندما يتم العثور على مشكلة أمنية في أي من تبعياتك (حتى مشكلة متعدية) ، يقوم Github بإعلامك. يمكنك الحصول على الصورة الكاملة لما يوجد في سلسلة التوريد الخاصة بك ، وكيف وصل إلى هناك ، وما يمكنك فعله حيال ذلك.
شاهدها في العمل: من 21 إلى 1000 تبعية
أظهر لنا إريك مشروعًا يبدو بريئًا بما فيه الكفاية:
- 21 التبعيات المباشرة (تلك المدرجة بالفعل في package.json)
- 1000 إجمالي التبعيات (بما في ذلك كل ما تم سحبه على طول الطريق)
مع الرسم البياني التبعية ، يمكنك أخيرًا:
- فهم التبعيات المباشرة مقابل العابرة
- تتبع كيف انتهت حزمة مثل log4j في قاعدة الشفرة الخاصة بك. (المفسد: ربما جاء على طول ركوب شيء آخر.)
- تعرف ما الذي يجب عليك إصلاحه وما يعتمد على مشرف المنبع
تشديد سلسلة التوريد الخاصة بك مع reparabot
يتم تشغيل REPOBOT على رأس الرسم البياني التبعية – لذا فإن تمكين الرسم البياني هو ما يجعل تنبيهات قابلية التعاقد في DEPOBABOT واقتراحات الإصلاح التلقائي الممكنة.
نصيحة للمحترفين: تصفية للتبعيات المباشرة أولاً. هذه هي تلك التي يمكنك التحكم فيها فعليًا ، لذا ركز طاقتك هناك بدلاً من سحب شعرك على التبعيات المتعدية التي هي مسؤولية شخص آخر.
كيفية تمكين الرسم البياني التبعية
يمكنك تمكين الرسم البياني التبعية في إعدادات المستودع الخاص بك الأمان> الرسم البياني التبعية. إذا قمت بتشغيل تعتمد، سيتم تمكين الرسم البياني تلقائيًا.
باستخدام تصرفات github؟ يمكن أن تقوم الإجراءات التي يتم صيانتها بالمجتمع بإنشاء فاتورة للبرامج (SBOM) وتقديمها إلى واجهة برمجة تطبيقات التقديم التبعية لـ Github ، حتى لو لم يدعم النظام البيئي لغتك الاكتشاف التلقائي.
✅ أفضل جزء؟ الرسم البياني التبعية مجاني لجميع المستودعات العامة. تحتاج repos الخاصة إلى GitHub Advanced Security لاستخدام تنبيهات DeperAbot ، ولكن الرسم البياني نفسه مجاني.
TL;DR
لا يمكنك تأمين ما لا يمكنك رؤيته. يمنحك الرسم البياني للاعتماد على Github الرؤية في 90 ٪+ من قاعدة بيانات الكود التي تأتي من مكتبات مفتوحة المصدر وتساعدك على اتخاذ الإجراء عندما يتم مهمتها.
- تمكينها اليوم (بجدية ، افعلها الآن)
- استخدمه مع تعتمد على التنبيهات الآلية والإصلاحات
- أخيرًا اكتشف ما هو بالفعل في سلسلة إمداد البرمجيات الخاصة بك
سوف تشكرك نفسك في المستقبل (وفريق الأمن الخاص بك).
هل تريد معرفة المزيد عن الرسم البياني للاعتماد على جيثب؟ استكشف الوثائق>
كتبه
اترك تعليقاً