كلمة المفتاح `shell` في GitHub Actions: مرونة غير متوقعة وتداعيات أمنية
2025-04-08
تتيح لك كلمة المفتاح `shell` في GitHub Actions تحديد shell لوحدة التشغيل المعينة. ومع ذلك، فإن هذا أكثر مرونة بكثير مما توحي به الوثائق. فهو لا يدعم فقط shells المحددة مسبقًا مثل bash و pwsh، بل أي ملف قابل للتنفيذ في `$PATH` للنظام. وهذا يعني أنه يمكنك تشغيل كود C باستخدام مُجمِّع C، أو حتى تعديل `$GITHUB_PATH` ديناميكيًا لتغيير سلوك shell. وعلى الرغم من أن هذا يوفر مرونة، إلا أنه يُدخِل أيضًا مخاطر أمنية، حيث أن عمليات كتابة الملفات قد تُشير إلى التنفيذ. وهذا يتناقض مع ممارسة GitHub غير المتوقعة في إجراء عمليات بحث في `$PATH` حتى بالنسبة لقيم shell "المعروفة".
التطوير