فحص التعليمة البرمجية وCodeQL
اعتمادا على الأداة التي تريد استخدامها للتحليل وكيف تريد إنشاء تنبيهات، هناك بعض الخيارات المختلفة لإعداد فحص التعليمات البرمجية في المستودع الخاص بك. الطرق الرئيسية الثلاث هي:
- استخدم الإعداد الافتراضي لتكوين تحليل CodeQL بسرعة لفحص التعليمات البرمجية على المستودع الخاص بك. يختار الإعداد الافتراضي تلقائيا اللغات التي تريد تحليلها، ومجموعة الاستعلام لتشغيلها، والأحداث التي تؤدي إلى عمليات الفحص. إذا كنت تفضل ذلك، يمكنك تحديد مجموعة الاستعلامات لتشغيلها يدويا واللغات لتحليلها. بعد تمكين CodeQL، ستقوم GitHub Actions بتنفيذ عمليات تشغيل سير العمل لمسح التعليمات البرمجية ضوئيا. لمزيد من المعلومات، راجع "تكوين الإعداد الافتراضي لفحص التعليمات البرمجية."
- استخدم الإعداد المتقدم لإضافة سير عمل CodeQL إلى المستودع الخاص بك. يؤدي هذا إلى إنشاء ملف سير عمل قابل للتخصيص يستخدم github/codeql-action لتشغيل CodeQL CLI. لمزيد من المعلومات، راجع "تكوين الإعداد المتقدم لفحص التعليمات البرمجية."
- قم بتشغيل CodeQL CLI مباشرة في نظام CI خارجي وقم بتحميل النتائج على GitHub. لمزيد من المعلومات، راجع "استخدام فحص التعليمات البرمجية مع نظام التكامل المستمر الحالي."[2]
في السابق، تعرفنا على البدء في الإعداد والتكوينات الافتراضية. الآن، ستتعلم كيفية إعداد فحص التعليمات البرمجية باستخدام الإعداد المتقدم، بالإضافة إلى كيفية تنفيذ الإعداد المجمع لسير عمل فحص التعليمات البرمجية لمستودعات متعددة.
مسح التعليمات البرمجية باستخدام إجراءات GitHub و CodeQL
لإعداد فحص التعليمات البرمجية باستخدام الإعداد المتقدم، قم بما يلي:
- انتقل إلى علامة التبويب الإعدادات في المستودع الخاص بك.
- في اللوحة اليمنى، انتقل إلى Code security and analysis، وانقر فوق القائمة المنسدلة setup وحدد Advanced. قد تحتاج إلى تمكين GitHub Advanced Security قبل تمكين مسح التعليمات البرمجية.
- سيتم نقلك إلى صفحة جديدة مع ملف سير عمل تم إنشاؤه. هذا الملف مسمى
codeql.ymlبشكل افتراضي وهو ملف سير عمل قابل للتكوين يحتاج إلى الالتزام بالمستودع الخاص بك لبدء تشغيل فحص التعليمات البرمجية. - لتخصيص كيفية فحص التعليمة البرمجية للرمز الخاص بك، قم بتحرير سير العمل. بشكل عام، يمكنك الالتزام بسير عمل تحليل CodeQL دون إجراء أي تغييرات عليه.
- استخدم الزر Commit changes... في الزاوية العلوية اليسرى واكتب رسالة تثبيت في المربع المنبثق.
- اختر ما إذا كنت ترغب في الالتزام مباشرة بالفرع الافتراضي أو إنشاء فرع جديد وبدء طلب سحب.
- انقر فوق Commit changes.
في سير عمل تحليل CodeQL الافتراضي، يتم تكوين مسح التعليمات البرمجية لتحليل التعليمات البرمجية في كل مرة تقوم فيها إما بدفع تغيير إلى الفرع الافتراضي أو أي فروع محمية، أو رفع طلب سحب مقابل الفرع الافتراضي. نتيجة لذلك، سيبدأ الآن مسح الكود.
يعتبر كل من المشغلين on:pull_request وon:push فحص التعليمة البرمجية مفيداً لأغراض مختلفة.
إعداد مجمع لمسح التعليمات البرمجية
يمكنك إعداد مسح التعليمات البرمجية في العديد من المستودعات في وقت واحد باستخدام برنامج نصي. إذا كنت ترغب في استخدام برنامج نصي لرفع طلبات السحب التي تضيف سير عمل GitHub Actions إلى مستودعات متعددة، فراجع مستودع jhutchings1/Create-ActionsPRs[3] للحصول على مثال باستخدام PowerShell، أو nickliffen/ghas-enablement[4] للحصول على مثال باستخدام NodeJS.