پرش به محتوای اصلی

اقدامات GitHub خود را قفل کنید

هکرنیوز۱۴۰۵ آبان ۲۱, پنجشنبه، ساعت ۰۱:۴۶حدود 2 دقیقه مطالعه

آدرس مقاله: https://hugovk.dev/blog/2026/lock-github-actions/ آدرس نظرات: https://news.ycombinator.com/item?id=50459485 امتیاز: 285 # نظرات: 59

GitHub Actions اکنون از فایل‌های قفل گردش کار پشتیبانی می‌کند.

از آنجایی که GitHub Actions از Git واکشی می شود، توصیه قبلی این بود که به جای برچسب، به SHA کامل پین کنید. این به این دلیل است که تگ‌ها قابل تغییر هستند و در برابر حملات زنجیره تامین حساس هستند، جایی که مهاجم یک برچسب قبلا ایمن را به سمت کد مخرب نشان می‌دهد.

پسوند gh-actions-lock را در gh CLI نصب کنید:

گردش کار اکنون از تگ های vX.Y.Z استفاده می کند و به شکل زیر است:

و یک lockfile در .github/workflows/actions.lock تولید می کند:

گردش کار اصلاح شده و فایل قفل جدید را متعهد کنید.

خبر خوب، هر دو قبلا از فایل‌های قفل پشتیبانی می‌کنند! به روز رسانی های دوره ای شما فایل قفل را نیز به روز می کند. به یاد داشته باشید که از خنک کننده ها استفاده کنید.

GitHub همچنین توصیه می‌کند فایل‌های قفل را در CI تأیید کنید تا مطمئن شوید به‌روز هستند و خراب نیستند.

آنها پیشنهاد می کنند این verify-lockfile.yml را در مخزن خود کپی کنید. من تصمیم گرفتم آن را در جریان کار لینت موجود خود قرار دهم، اما در کار خودش، بنابراین به طور مستقل و موازی اجرا می شود:

توجه داشته باشید که من در اینجا از Ubuntu-slim runner سبک وزن استفاده می کنم. همچنین، به v0.4.1 پین می‌شود. ما باید آن را در مقطعی به روز کنیم یا راهی برای خودکارسازی آن پیدا کنیم. اونم واسه یه وقت دیگه

فراموش نکنید که ما به تازگی اقدامات را در یک گردش کار تغییر دادیم، بنابراین باید با gh actions-lock دوباره قفل کنید. در صورت افزودن به lint.yml هیچ چیز در واقع تغییر نمی کند زیرا از قبل اقدامات/checkout را قفل می کند. اما اگر فایل جدیدی مانند verify-lockfile.yml ایجاد کرده‌اید، برای این کار باید دوباره قفل کنید. CI به شما اطلاع خواهد داد.

zizmor یک ابزار امنیتی برای GitHub Actions است و به شدت توصیه می شود. اگر از آن استفاده نمی کنید، لطفا انجام دهید.

نسخه‌های قبل از v1.32.0 به شما می‌گویند که اقدامات هش پین را انجام دهید و نسخه 1.32.0 اولین نسخه‌ای است که از فایل‌های قفل پشتیبانی می‌کند.

من از zizmor در prek استفاده می کنم، بنابراین zizmor را در .pre-commit-config.yaml اضافه/به روز کنید:

عکس سرصفحه: Slaymaker Barry Co. Sprocket Locks in The Bearings (جلد XII شماره 23، 2 ژانویه 1896) در کتابخانه ها و آرشیوهای اسمیتسونین، بدون محدودیت شناخته شده حق چاپ.

خواندن متن کامل در هکرنیوزبه زبان اصلی، در سایت ناشر باز می‌شود
متن اصلی (انگلیسی)

Lock Your GitHub Actions

Article URL: https://hugovk.dev/blog/2026/lock-github-actions/ Comments URL: https://news.ycombinator.com/item?id=50459485 Points: 285 # Comments: 59

همه‌ی اخبار فناوری