شرکت گیتهاب (GitHub) در ۱۷ سپتامبر ۲۰۲۶ در Changelog رسمی خود اعلام کرد که قابلیت حفاظت اجرای گردشکار (Workflow execution protections) در GitHub Actions که پیشتر در پیشنمایش عمومی بود، اکنون بهصورت عمومی برای GitHub Enterprise، سازمانها و مخزنها در دسترس است. این سازوکار به مدیران امکان میدهد با تعریف فهرست مجاز مشخص کنند چه کسانی میتوانند یک گردشکار Actions را راهاندازی کنند و کدام رویدادها مجاز به شروع آن هستند.
بر اساس توضیحات گیتهاب، قواعد مربوط به بازیگر (actor) مشخص میکنند «چه کسی» اجازهٔ اجرا دارد و قواعد رویداد مشخص میکنند «چه رویدادی» میتواند اجرا را آغاز کند؛ سامانه پیش از آغاز هر اجرا هر دو دسته را ارزیابی میکند. هدف اعلامشده، کاهش اجرای ناخواسته یا مخرب گردشکارها در محیطهایی است که چندین مشارکتکننده و فورک به Actions دسترسی دارند.
قابلیتهای تازهشده در دسترس عمومی
در کنار قواعد بازیگر و رویداد که در دورهٔ پیشنمایش وجود داشت، نسخهٔ عمومی سه امکان تازه را اضافه میکند:
- هدفگیری فایل گردشکار: میتوان قواعد حفاظت را بهجای کل مخزن، به فایلهای مشخص گردشکار محدود کرد؛ برای نمونه محدود کردن deploy.yml به یک تیم مشخص، در حالی که گردشکارهای CI برای همهٔ مشارکتکنندگان باز میمانند.
- Insights: مشاهدهٔ نحوهٔ ارزیابی و اعمال قواعد در سطح Enterprise، سازمان و مخزن، برای ممیزی اثر سیاست و تنظیم قواعد پیش و پس از اعمال اجباری.
- REST API: مدیریت برنامهنویسیشدهٔ حفاظتها در سطح Enterprise، سازمان و مخزن؛ شامل ایجاد، خواندن، بهروزرسانی و حذف قواعد و شرایط مسیر فایل گردشکار، تا سیاست Actions بهصورت کد و همتراز در صدها مخزن نگه داشته شود و به ابزارهای حاکمیتی موجود وصل شود.
حالت Evaluate (سایه) از پیشنمایش حفظ شدهاست؛ با آن میتوان دید کدام اجراها در صورت اعمال اجباری مسدود میشدند، بدون آنکه فعلاً جلوی اجرا گرفته شود. این حالت برای تیمهایی که میخواهند پیش از سختگیری، پوشش واقعی گردشکارها را بسنجند، در Changelog بهعنوان ادامهٔ رفتار پیشنمایش ذکر شدهاست.
اگر تجربهٔ شما از پیکربندی سیاست Actions یا تأثیر این قواعد بر خطوط استقرار متفاوت بودهاست، در بخش دیدگاهها بنویسید تا برای خوانندگان دیگر هم ثبت شود.
پیشفرض امن برای pull_request_target
گیتهاب آسیبپذیریهای مرتبط با گردشکارهای pull_request_target، از جمله حملههای معروف به «Pwn Request»، را از رایجترین نقاط سوءاستفاده در Actions دانستهاست. این رویداد با دسترسی به اسرار در بافت مخزن پایه اجرا میشود؛ بنابراین اگر کدی از فورک اجرا شود، کد غیرقابلاعتماد میتواند خط لوله را آلوده کند یا اسرار را خارج کند.
برای مخزنهای عمومی که هنوز سیاست رویداد مرتبطی ندارند، گیتهاب یک قاعدهٔ پیشفرض معرفی میکند که pull_request_target را غیرفعال میکند. این پیشفرض شامل مخزنهای خصوصی یا داخلی نمیشود و ابتدا در حالت Evaluate اجرا میشود تا اثر آن دیده شود.
طبق اعلام گیتهاب، در ۲ نوامبر ۲۰۲۶ این قاعدهٔ پیشفرض برای مخزنهای متأثر که پیش از دسترس عمومی از سیاست پیشفرض pull_request_target استفاده میکردند، بهصورت خودکار اجباری خواهد شد. برای آمادگی میتوان از Insights نتیجهٔ حالت Evaluate را دید و سپس یا قاعده را برای مسدود کردن نگه داشت، یا در سیاست رویداد مرتبط صریحاً pull_request_target را مجاز کرد؛ با هدفگیری فایل گردشکار میتوان فقط گردشکارهای مشخص را در فهرست مجاز گذاشت.
گیتهاب برای شروع کار به مستندات «About Actions policies»، «Control workflow execution» و مرجع REST API سیاستهای Actions ارجاع دادهاست. منبع این گزارش همان صفحهٔ Changelog گیتهاب به تاریخ ۱۷ سپتامبر ۲۰۲۶ است.
آیا تیم توسعهٔ شما برای موعد ۲ نوامبر ۲۰۲۶ حالت Evaluate را بررسی کردهاست؟