GitHub تعلن الإتاحة العامة لحماية تنفيذ سير العمل
أعلنت GitHub إتاحة حماية تنفيذ سير العمل في GitHub Actions لجميع عملاء GitHub Enterprise والمؤسسات والمستودعات. وتمنح الميزة فرق التطوير أدوات للتحكم في الجهات والأحداث التي يمكنها تشغيل سير العمل، مع إمكان مراجعة أثر السياسات قبل تطبيقها.

إتاحة عامة بعد المعاينة
أعلنت GitHub أن حماية تنفيذ سير العمل في GitHub Actions انتقلت من مرحلة المعاينة العامة إلى الإتاحة العامة. وتشمل الإتاحة الجديدة GitHub Enterprise، والمؤسسات، والمستودعات، بحيث تستطيع الجهات المسؤولة وضع قواعد تحدد من يملك صلاحية تشغيل سير عمل Actions، وما الأحداث التي يمكن أن تبدأ تشغيله.
تعتمد الحماية على نوعين من القواعد. قواعد الجهات تحدد هوية الطرف المسموح له بتشغيل سير العمل، بينما تحدد قواعد الأحداث الظروف أو الأحداث التي يمكن أن تؤدي إلى التشغيل. وقبل بدء أي تشغيل، تقيّم Actions النوعين معاً لتقرر ما إذا كان التشغيل يطابق السياسة المعتمدة.
سياسات مختلفة لكل ملف سير عمل
تضيف الإتاحة العامة إمكانية استهداف ملفات سير عمل بعينها عند وضع قواعد الحماية. وبذلك لم تعد السياسة مضطرة إلى تغطية المستودع بأكمله بالطريقة نفسها؛ إذ يمكن للمستودع تطبيق ضوابط مختلفة على ملف النشر وملفات التكامل المستمر، وفق طبيعة كل عملية وحساسيتها.
توضح GitHub أن هذا الأسلوب يسمح، على سبيل المثال، بقصر تشغيل ملف deploy.yml على فريق محدد، مع إبقاء سير عمل التكامل المستمر متاحاً لجميع المساهمين. ويمنح استهداف الملف فرق الإدارة مساحة أكبر للفصل بين العمليات التي قد تؤثر في بيئات النشر وتلك المستخدمة للفحص أو الاختبار.
رؤى وواجهة لإدارة السياسات
تتضمن الإتاحة العامة ميزة Insights، التي تعرض كيفية تقييم Actions للقواعد وتطبيقها عبر مستوى المؤسسة أو المنظمة أو المستودعات. وتتيح هذه البيانات تدقيق أثر السياسة ومعرفة عمليات التشغيل التي تتأثر بها، سواء قبل تفعيل القاعدة أو بعد بدء فرضها، بما يساعد على ضبط الإعدادات وفق النتائج الفعلية.
كما توفر GitHub واجهة REST لإدارة حماية التنفيذ برمجياً على مستوى المؤسسة والمنظمة والمستودع. وتشمل العمليات إنشاء القواعد وقراءتها وتحديثها وحذفها، بما في ذلك الشروط المرتبطة بمسار ملف سير العمل. وبهذا يمكن التعامل مع سياسات Actions باعتبارها شيفرة، وتوحيدها عبر مئات المستودعات، وربط فرضها بأدوات الحوكمة القائمة بدلاً من إدارتها يدوياً من صفحات الإعدادات.
التقييم قبل فرض القواعد
تحتفظ الإتاحة العامة بوضع Evaluate الذي كان متاحاً خلال المعاينة. يعمل هذا الوضع كطبقة مراقبة لا تمنع التشغيل فوراً، لكنه يعرض عمليات سير العمل التي كانت ستُحظر لو كانت القاعدة مفروضة. وتمنح هذه الآلية الفرق فرصة لفهم التأثير المتوقع ومعالجة الاعتماديات قبل الانتقال إلى التنفيذ الإلزامي.
توصي GitHub بالاستفادة من Insights لمراجعة نتائج التقييم، خصوصاً عند إعداد قواعد تستهدف أحداثاً أو ملفات محددة. وتسمح المراجعة المسبقة بتمييز عمليات التشغيل الضرورية من تلك التي لا ينبغي أن تبدأ وفق السياسة، من دون التسبب مباشرة في تعطيل عمليات قائمة أثناء مرحلة الإعداد.
حماية افتراضية ضد pull_request_target
تربط GitHub الإعلان أيضاً بطرح قاعدة حماية افتراضية للحد من مخاطر عمليات pull_request_target. وتقول الشركة إن الثغرات المرتبطة بهذا النوع من سير العمل، ومنها ما يُعرف باسم Pwn Requests، من أكثر الثغرات استغلالاً في سير عمل Actions. ويعمل pull_request_target في سياق المستودع الأساسي مع إمكانية الوصول إلى أسراره، ولذلك قد يؤدي تنفيذ شيفرة غير موثوقة قادمة من تفرع خارجي إلى تسميم مسار العمل أو استخراج الأسرار.
بالنسبة إلى المستودعات العامة التي لا تملك سياسة أحداث منطبقة بالفعل، تطرح GitHub قاعدة افتراضية تعطل أحداث pull_request_target. ولا تشمل هذه القاعدة المستودعات الخاصة أو الداخلية، كما تبدأ أولاً في وضع التقييم لعرض عمليات التشغيل التي ستتأثر قبل بدء المنع. ومن المقرر أن تفرض GitHub القاعدة تلقائياً في 2 نوفمبر 2026 على المستودعات المتأثرة التي كانت تستخدم السياسة الافتراضية لـ pull_request_target قبل الإتاحة العامة.
أمام الفرق خياران عند مراجعة النتائج: إبقاء القاعدة لمنع pull_request_target، أو السماح بالحدث صراحة عبر سياسة أحداث Actions مناسبة إذا كانت سير العمل تعتمد عليه. ويمكن كذلك استخدام استهداف ملفات سير العمل الجديد لإضافة ملفات محددة إلى قائمة السماح بدلاً من فتح الحدث على نطاق المستودع كله.
المصادر
- GitHub ChangelogWorkflow execution protections in GitHub Actions generally available