كيفية الاستفادة من GHAS للحصول على أكبر قدر من التأثير
في هذه الوحدة، سنراجع ما يلي:
- فهم الرسم البياني للتبعية
- العمل على تنبيهات GHAS
- من لديه حق الوصول إلى التنبيهات
دعونا نلقي نظرة فاحصة على كيفية عمل Dependabot، بدءا من الرسم البياني للتبعية.
يعد الرسم البياني للتبعية مركزيا لتوفير أمان سلسلة التوريد. يحدد الرسم البياني للتبعية جميع تبعيات المصدر وتوابع انتقال البيانات من الخادم العامة لمستودع أو حزمة. يمكنك مشاهدة تبعيات المستودع وبعض خصائصه، مثل معلومات الثغرات الأمنية، على الرسم البياني للتبعية للمستودع.
لإنشاء الرسم البياني للتبعية، يبحث GitHub في التبعيات الصريحة للمستودع المعلن عنها في ملف البيان وملفات التأمين. عند التمكين، يقوم الرسم البياني للتبعية تلقائيا بتحليل جميع ملفات بيان الحزمة المعروفة في المستودع ويستخدم هذا الفحص لإنشاء رسم بياني بأسماء وإصدارات التبعية المعروفة.
تتضمن النقاط الرئيسية حول الرسم البياني للتبعية ما يلي:
- يتضمن معلومات حول التبعيات المباشرة والتبعيات العابرة.
- يتم تحديث الرسم البياني للتبعية تلقائيا عند دفع تثبيت إلى GitHub الذي يغير أو يضيف ملف بيان أو تأمين مدعوم إلى الفرع الافتراضي. كما يتم تحديثه تلقائيا عندما يدفع أي شخص تغييرا إلى مستودع إحدى تبعياتك أيضا.
- يمكنك مشاهدة الرسم البياني للتبعية عن طريق فتح الصفحة الرئيسية للمستودع على GitHub والانتقال إلى علامة التبويب Insights.
- إذا كان لديك حق الوصول للقراءة على الأقل إلى المستودع، يمكنك تصدير الرسم البياني للتبعية للمستودع باعتباره فاتورة مواد متوافقة مع SPDX، عبر واجهة مستخدم GitHub أو واجهة برمجة تطبيقات GitHub REST. لمزيد من المعلومات، راجع "تصدير فاتورة مواد برمجية لمستودعك."
بالإضافة إلى ذلك، يمكنك استخدام واجهة برمجة تطبيقات إرسال التبعية (بيتا) لإرسال التبعيات من مدير الحزمة أو النظام البيئي الذي تختاره، حتى إذا لم يكن النظام البيئي مدعوما من قبل الرسم البياني للتبعية لتحليل ملف البيان أو التأمين. تظهر التبعيات المرسلة إلى مشروع باستخدام واجهة برمجة تطبيقات إرسال التبعية (بيتا) الكاشف الذي تم استخدامه لإرسالها ومتى تم إرسالها.
تعتمد ميزات سلسلة التوريد الأخرى على GitHub على المعلومات التي يوفرها الرسم البياني للتبعية، والتي تتضمن ما يلي:
- مراجعة التبعية: يستخدم الرسم البياني للتبعية لتحديد تغييرات التبعية ومساعدتك على فهم تأثير الأمان لهذه التغييرات عند مراجعة طلبات السحب.
- تنبيهات Dependabot: تشير Dependabot إلى بيانات التبعية التي يوفرها الرسم البياني للتبعية مع قائمة النصائح المنشورة في قاعدة بيانات GitHub الاستشارية. يفحص الرسم البياني للتبعية تبعياتك وينشئ تنبيهات Dependabot عند اكتشاف ثغرة أمنية محتملة.
- تحديثات أمان Dependabot: يستخدم الرسم البياني للتبعية وتنبيهات Dependabot لمساعدتك في تحديث التبعيات ذات الثغرات الأمنية المعروفة في المستودع الخاص بك.
على الرغم من أن تحديثات إصدار Dependabot لا تستخدم الرسم البياني للتبعية، إلا أنه لا يزال من الجدير بالذكر. تعتمد تحديثات إصدار Dependabot على الإصدار الدلالي للتبعيات بدلا من ذلك. تساعدك تحديثات إصدار Dependabot في الحفاظ على تحديث تبعياتك، حتى عندما لا يكون لديها أي ثغرات أمنية.
العمل على تنبيهات GHAS
مع مجموعة شاملة من الأدوات التي توفرها GHAS رؤية شاملة للموقف الأمني للمؤسسة والقدرة على فرض اعتماد الأمان، ما يتيح تحديد الأولويات الدقيقة والفعالة وإدارة المخاطر الأمنية.
واحدة من العديد من الأدوات التي تضمن الأمان طوال عملية التطوير هي جميع التنبيهات التي توفرها GHAS لمؤسستك.
دعونا نراجعها:
تنبيهات فحص التعليمات البرمجية:
- تنبيهات تحليل CodeQL: التي تم إنشاؤها بواسطة CodeQL، محرك تحليل التعليمات البرمجية الدلالية ل GitHub، تحدد هذه التنبيهات الثغرات الأمنية المحتملة في قاعدة التعليمات البرمجية. وهي تغطي مجموعة واسعة من المشكلات، بما في ذلك على سبيل المثال لا الحصر حقن SQL والبرمجة النصية عبر المواقع وغيرها من نقاط الضعف في التعليمات البرمجية.
تنبيهات مسح البيانات السرية:
- تنبيهات الأسرار المكشوفة: يتم تشغيل هذه التنبيهات عندما يتم تحديد المعلومات الحساسة المحتملة، مثل مفاتيح API أو بيانات الاعتماد، داخل التعليمات البرمجية المصدر للمستودع. يساعد مسح البيانات السرية على منع التعرض العرضي للبيانات السرية.
تنبيهات التبعية:
- تنبيهات Dependabot: يكتشف Dependabot تلقائيا التبعيات القديمة في مشروع وينشئ طلبات سحب لتحديثها إلى أحدث الإصدارات الآمنة. تقوم تنبيهات Dependabot بإعلام المطورين بالتحديثات المتوفرة لتبعيات المشروع.
تنبيهات نظرة عامة على الأمان:
- توفر نظرة عامة على الأمان لوحة معلومات شاملة تلخص حالة الأمان للمستودع.
تنبيهات الجهات الخارجية:
- يمكنك دمج أدوات تحليل التعليمات البرمجية التابعة لجهة خارجية مع مسح التعليمات البرمجية GitHub عن طريق تحميل البيانات كملفات SARIF. تعرف على المزيد حول هذا الموضوع في نهاية الوحدة النمطية مع ارتباط إلى "التكامل مع مسح التعليمات البرمجية."
الآثار المترتبة على تجاهل تنبيه
يشكل تجاهل تنبيه الأمان مخاطر كبيرة على المشروع. قد تستغل الثغرات الأمنية من قبل جهات ضارة، مما يؤدي إلى خروقات للبيانات أو انقطاع الخدمة أو حوادث أمنية أخرى. يمكن أن يؤدي تجاهل التنبيهات أيضا إلى زيادة جهود المعالجة، مما قد يؤثر على المخططات الزمنية للمشروع والثقة العامة للبرنامج.
قد تتضمن العواقب طويلة الأجل لتجاهل التنبيهات تلف السمعة وعدم الامتثال التنظيمي والخسائر المالية. من الضروري لفرق التطوير تحديد أولويات التنبيهات الأمنية ومعالجتها على الفور للتخفيف من هذه المخاطر والحفاظ على سلامة البرنامج.
عندما يكتشف المطورون تنبيها أمنيا، فإن دورهم الفوري هو التحقيق في طبيعة التنبيه وشدته. يتضمن ذلك فهم التأثير على قاعدة التعليمات البرمجية وسيناريوهات الاستغلال المحتملة وأي خطوات ضرورية للمعالجة.
بمساعدة GHAS، يمكن للمطورين العثور على الثغرات الأمنية وإصلاحها في وقت سابق من دورة حياة تطوير البرامج.
من لديه حق الوصول إلى التنبيهات؟
يوفر GHAS عناصر تحكم وصول دقيقة، ما يسمح للمؤسسات بتحديد من يمكنه عرض التنبيهات لميزات الأمان المختلفة. وهذا يضمن أن الموظفين المصرح لهم فقط، مثل فرق الأمن وأصحاب المصلحة المعنيين، لديهم حق الوصول إلى المعلومات الأمنية الحساسة.
تستند إدارة الوصول إلى الأدوار، مع أدوار مختلفة لها مستويات مختلفة من الوصول إلى تنبيهات GHAS. لنأخذ لحظة للتعمق قليلا في الأدوار والوصول إلى التنبيهات:
- يمكن رؤية تنبيهات فحص التعليمات البرمجية وتنبيهات Dependabot وتعديلها من قبل أي شخص لديه
Writeدور المستودع - يمكن رؤية تنبيهات المسح السري وتعديلها من قبل أي شخص لديه
Adminدور المستودع - يمكن منح أي شخص أو فريق حق الوصول لرؤية وتعديل جميع التنبيهات على المستودع، بغض النظر عن دور المستودع الخاص به، عن طريق تعديل إعدادات "الوصول إلى التنبيهات" الخاصة بالمستودع
الآن بعد أن قمنا بمراجعة التنبيهات التي يمكن رؤيتها من خلال أدوار محددة، تجدر الإشارة إلى أن إدارة الوصول الفعالة تعزز التعاون من خلال توفير المستوى الصحيح من الرؤية لكل عضو في الفريق. وهذا يضمن أن أصحاب المصلحة يمكنهم التركيز على الجوانب الأمنية ذات الصلة بأدوارهم، ما يسهل الاستجابة المبسطة والفعالة للتنبيهات الأمنية.
من خلال فهم تعقيدات تحديد الثغرات الأمنية، والاستجابة للتنبيهات، والاعتراف بآثار التقاعس، وتحديد الأدوار وضوابط الوصول، يمكن لفرق التطوير الاستفادة من GitHub Advanced Security إلى أقصى إمكاناته، ما يخلق بيئة تطوير أكثر مرونة وأمانا.
في القسم التالي، سنراجع كيف يمكن ل GHAS بشكل جماعي تعزيز النظام البيئي الأمني الخاص بك.