الأمان التلقائي
هنا، نناقش بعض الطرق التي يمكنك من خلالها أتمتة عمليات التحقق من الأمان في مستودع متوفر لمسؤولي مستودع GitHub.
الكشف عن التبعيات القديمة وإصلاحها مع الثغرات الأمنية
تقريبا كل مشروع في هذه الأيام يأخذ تبعيات على الحزم الخارجية. في حين أن هذه المكونات يمكن أن تقدم فوائد كبيرة في الإنتاجية، فإنها يمكن أن تقدم مخاطر أمنية أخرى. يمكن أن يستغرق البقاء على رأس هذه الحزم وحالة الثغرة الأمنية الخاصة بها وقتا طويلا، خاصة بالنظر إلى كيف قد يكون لكل تبعية تبعياتها الخاصة التي قد يصبح من الصعب تعقبها وصيانتها. لحسن الحظ، يوفر GitHub ميزات تقلل من حمل العمل هذا.
الرسوم البيانية لتبعية المستودع
ميزة افتراضية واحدة يتضمنها كل مستودع هي الرسوم البيانية للتبعية. يقوم GitHub بفحص بيانات الحزمة الشائعة، مثل package.jsonrequirements.txtوغيرها. تسمح هذه الرسوم البيانية لمالكي المشاريع بتعقب جميع التبعيات التي يعتمد عليها مشروعهم بشكل متكرر.
للحصول على قائمة بيانات التبعية المدعومة، راجع حول الرسم البياني للتبعية.
تنبيهات Dependabot
حتى مع الرسم البياني للتبعية المرئية، لا يزال من الغامر البقاء على رأس أحدث اعتبارات الأمان لكل تبعية يمتلكها المشروع. لتقليل هذا الحمل، يوفر GitHub تنبيهات Dependabot التي تراقب الرسوم البيانية للتبعية نيابة عنك. ثم يقوم بالإسناد الترافقي للإصدارات المستهدفة مع إصدارات على قوائم الثغرات الأمنية المعروفة. عند اكتشاف خطر، يتم تنبيه المشروع. يأتي إدخال التحليل من GitHub Security Advisories.
تحديثات التبعية التلقائية باستخدام Dependabot
يمكن أن يؤدي تنبيه التبعية إلى مساهم مشروع يصدم مرجع الحزمة المخالفة إلى الإصدار الموصى به وإنشاء طلب سحب للتحقق من الصحة. ألن يكون رائعا إذا كانت هناك طريقة لأتمتة هذا الجهد؟ حسنا، أخبار سارة! Dependabot يفعل ذلك تماما. يقوم بفحص تنبيهات التبعية وإنشاء طلبات سحب حتى يتمكن المساهم من التحقق من صحة التحديث ودمج الطلب.
لمعرفة المزيد حول مرونة Dependabot، راجع تكوين تحديثات أمان Dependabot.
مسح التعليمات البرمجية تلقائيا
على غرار كيفية فحص Dependabot لمستودعك بحثا عن تنبيهات التبعية، يمكنك استخدام فحص التعليمات البرمجية لتحليل والعثور على الثغرات الأمنية والأخطاء في التعليمات البرمجية في مستودع GitHub. فحص التعليمات البرمجية له العديد من الفوائد. يمكنك استخدامه للبحث عن إصلاحات للمشاكل الحالية أو الثغرات الأمنية المحتملة وفرزها وتحديد أولوياتها. من المفيد أيضا المساعدة في منع المطورين من إدخال أي مشكلات أمان جديدة في التعليمات البرمجية.
ميزة أخرى لفحص التعليمات البرمجية هي قدرته على استخدام CodeQL. يتيح لك CodeQL الاستعلام عن التعليمات البرمجية كبيانات، ما يتيح لك إنشاء استعلامات مخصصة أو استخدام الاستعلامات التي يحتفظ بها المجتمع مفتوح المصدر. يمنحك فحص التعليمات البرمجية حرية تخصيص وصيانة كيفية فحص التعليمات البرمجية داخل المستودع الخاص بك.
يمكنك تمكين تنبيهات فحص التعليمات البرمجية وسير العمل في علامة تبويب الأمان لمستودع GitHub:
تعرف على المزيد حول مسح التعليمات البرمجية وCodeQL.
مسح البيانات السرية
ميزة فحص تلقائي أخرى داخل مستودع GitHub هي مسح البيانات السرية. على غرار ميزات فحص الأمان السابقة، يبحث مسح البيانات السرية عن البيانات السرية المعروفة أو بيانات الاعتماد الملتزم بها داخل المستودع. يتم إجراء هذا الفحص لمنع استخدام السلوك الاحتيالي وتأمين سلامة أي بيانات حساسة. بشكل افتراضي، يحدث مسح البيانات السرية على المستودعات العامة ويمكنك تمكين مسح البيانات السرية على المستودعات الخاصة من قبل مسؤولي المستودع أو مالكي المؤسسة.
عندما يكشف مسح البيانات السرية عن مجموعة من بيانات الاعتماد، يقوم GitHub بإعلام موفر الخدمة الذي أصدر البيانات السرية. يتحقق موفر الخدمة من صحة بيانات الاعتماد. ثم يقرر ما إذا كان يجب عليهم إبطال السر أو إصدار سر جديد أو التواصل معك مباشرة. يعتمد الإجراء على المخاطر المرتبطة بك أو على موفر الخدمة.
تعرف على المزيد حول مسح البيانات السرية للمستودعات العامة والخاصة.