أشرطة YAML في GitHub Actions: خطوة إلى الوراء؟

2025-09-22

أضاف GitHub Actions مؤخرًا دعمًا لأشرطة YAML، وهي خطوة يجادل الكاتب بأنها خطوة إلى الوراء. تزعم المقالة أن أشرطة YAML زائدة عن الحاجة مع الوظائف الحالية، وتزيد من تعقيد نموذج البيانات، مما يجعل فهم CI/CD أكثر صعوبة بالنسبة للبشر والآلات. علاوة على ذلك، فإن عدم دعم GitHub لمفاتيح الدمج يجعل حالة الاستخدام الفريدة لأشرطة YAML غير فعالة. يعتقد الكاتب أن هذا يجعل من الصعب تحليل GitHub Actions بحثًا عن ثغرات أمنية، ويوصي GitHub بإزالة دعم أشرطة YAML على الفور.

اقرأ المزيد
التطوير

تحسين التحليل الثابت لـ GitHub Actions باستخدام مُحوِّلات الحالة المحدودة

2025-08-18

قام مطور أداة التحليل الثابت zizmor بتحسين كشف ثغرات حقن القوالب في GitHub Actions باستخدام مُحوِّلات الحالة المحدودة (FSTs). من خلال تعيين أنماط سياق GitHub Actions إلى "إمكانيتها" المنطقية، قللت FSTs من حجم التمثيل بمقدار عشرة أضعاف (من ~240 كيلوبايت إلى ~14.5 كيلوبايت)، وكانت أسرع وأكثر كفاءة من حيث الذاكرة من الأساليب السابقة القائمة على الجداول وأشجار البادئات. علاوة على ذلك، يتم حساب FST مسبقًا في وقت التجميع، مما يلغي تكاليف البدء. هذا التحسين يقلل بشكل كبير من الإيجابيات الكاذبة ويزيد من كفاءة الكشف.

اقرأ المزيد

تجاوز سياسة GitHub Actions: التحايل البسيط على السياسات التي تبدو آمنة

2025-06-11

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

اقرأ المزيد
التطوير تجاوز السياسة

تأثير Makefile: لماذا نقوم بنسخ ولصق ملفات التكوين؟

2025-01-11

تتناول هذه المقالة تأثير Makefile الشائع في هندسة البرمجيات، حيث يميل المهندسون إلى نسخ ولصق ملفات التكوين الموجودة (مثل Makefiles، وتكوينات CI/CD، وما إلى ذلك) وتعديلها بدلاً من كتابتها من الصفر. يُجادل الكاتب بأن هذا ليس سيئًا بالضرورة، ولكنه يشير إلى أن الأدوات قد تكون معقدة للغاية، وتفتقر إلى دعم التشخيص وإصلاح الأخطاء الجيد، مما يجعلها غير فعالة وغير آمنة للاستخدام. تختتم المقالة بتوصيات تصميمية تهدف إلى تقليل هذا التأثير، مما يحسن كفاءة وأمان التطوير.

اقرأ المزيد
التطوير تصميم الأدوات