روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ حملات به منابع باز بیشتر با نشر پکیجهای جدید و مخرب داخل ذخایر شروع میشود. اما حملهای که تاریخ 14 مارس رخ داد در لیگ دیگری بود! مهاجمین GitHub Action محبوب را دستکاری کردند. این فایلها در بیش از 23 هزار مخزن استفاده میشوند. رخداد نام CVE-2025-30066 را به خود گرفت. همه مخازنی که از Action آلوده استفاده کردند در معرض این آسیبپذیری هستند. گرچه مدیریت گیتهاب، Action فایلهای تغییریافته را بلاک کرد و آن را به نسخه امن برگرداند اما همه کسانی که از آن استفاده کردند باید به این رخداد سایبری واکنش نشان دهند و جامعهی توسعهدهندگان نیز میبایست از این رخداد درس بگیرند.
GitHub Action چیست؟
GitHub Action الگوی جریان کار است که با اتوماسیونسازی تسکهای رایج DevOps، توسعه نرمافزار را سادهسازی میکند. گیتهاب اکشنها میتوانند موقعی که برخی ریودادها مانند کامیتها در گیتهاب اتفاق میافتند مورد هدف قرار گرفته شوند. گیتهاب نوعی اپ استور دارد که در آن، توسعهدهدگان میتوانند پوسه جریان کار حاضر و آماده را بردارند و در مخزن خود آن را به کار ببندند. برای ادغام چنین فرآیند آماده GitHub در پایپ لاین توسعه CI/CD خود، فقط به یک خط کد نیاز دارید.
حملهی دستکاری فایلهای تغییریافته
در تاریخ 14 مارس، GitHub Action محبوب tj-actions/changed-files که برای دریافت فایلهای تغییر یافته از یک پروژه استفاده میشد - به کد مخرب آلوده شد. مهاجمان کد فرآیند را اصلاح و تگهای نسخه را بهروزرسانی کردند تا در تمام نسخههای GitHub Action فایلهای تغییر یافته، یک کامیت مخرب گنجانده شود. این کار از طرف کاربر Renovate Bot انجام شد، اما طبق اطلاعات فعلی، خود ربات به خطر نیفتاده است. این فقط پوششی برای یک کامیت ناشناس بود. کد مخرب داخل فایلهای تغییریافته با پوشش قابلیتی برای آپدیت ظاهر شد اما در واقع داشت اسکریپت مخرب پیتون را اجرا و مموری پروسهی رانر ورکر را تخلیه میکرد؛ سپس دنبال دادههای محرمانه گشت (کلیدهای AWS، Azure و GCP، نشانههای GitHub PAT و NPM، حسابهای DB، کلیدهای خصوصی RSA ). اگر چیزی مشابه پیدا شد، در گزارشهای مخزن نوشته میشود. هم کد مخرب و هم اطلاعات محرمانه سرقتی با مبهمسازی ساده نوشته شده اند – کدگذاری Double base64. اگر گزارشها به صورت عمومی در دسترس باشند، مهاجمان (و نه تنها اپراتورهای حمله، بلکه هر کسی!) میتوانند آزادانه این دادهها را دانلود و رمزگشایی کنند. در 15 مارس، یک روز پس از کشف این رخداد، GitHub فرآیند فایلهای تغییریافته را حذف کرد و فرآیندهای CI/CD بر اساس آن ممکن است کار نکرده باشند. پس از هشت ساعت دیگر، مخزن فرآیند در یک "نسخه تمیز" بازیابی شد و اکنون فایل های تغییر یافته دوباره بدون غافلگیری کار میکنند.
واکنش به رخداد
از آنجایی که لاگهای موجود در مخازن عمومی برای افراد خارجی قابل دسترسی هستند، این مخازن بیشترین احتمال تأثیرپذیری از این نشت را دارند. با این حال، در یک محیط سازمانی، اتکا صرف به این فرض که «تمام مخازن ما خصوصی هستند» نیز ایدهی خوبی نیست. شرکتها اغلب هم مخازن عمومی و هم خصوصی دارند، و اگر پایپلاینهای CI/CD آنها از رازهای مشترکی استفاده کنند، مهاجمان همچنان میتوانند از این دادهها برای نفوذ به رجیستریهای کانتینر یا سایر منابع استفاده کنند. در این شرایط، کانتینرها یا بستههایی که توسط پروژههای محبوب متنباز ساخته شدهاند نیز ممکن است به خطر بیفتند. نویسندگان تغییرات فایلهای آسیبدیده توصیه میکنند که لاگهای گیتهاب برای تاریخهای ۱۴ و ۱۵ مارس مورد تجزیه و تحلیل قرار گیرند. اگر دادههای غیرعادی در بخش changed-files یافت شد، باید رمزگشایی شوند تا مشخص شود چه اطلاعاتی ممکن است نشت کرده باشد. علاوه بر این، بررسی لاگهای گیتهاب در این دوره برای یافتن آدرسهای IP مشکوک نیز توصیه میشود. به تمام کاربران changed-files توصیه میشود که رازهایی را که ممکن است در فرآیند ساخت استفاده شده و در این بازهی زمانی افشا شده باشند، جایگزین کنند. در مرحلهی اول باید به مخازنی با لاگهای عمومی CI توجه شود و در مرحلهی دوم به مخازن خصوصی. علاوه بر جایگزینی رازهای احتمالی به خطر افتاده، توصیه میشود که لاگها برای تحلیل بعدی دانلود شده و سپس نسخههای عمومی آنها پاک شوند.
درسهایی که میشود از این رخداد گرفت
پیچیدگی و تنوع حملات به زنجیره تأمین در توسعه نرمافزار در حال افزایش است: ما قبلاً به حملاتی در قالب مخازن مخرب، بستههای آلوده و تصاویر کانتینر عادت کردهایم و در موارد آزمایشی با کدهای مخرب مواجه شدهایم - و اکنون در فرآیندهای CI/CD. الزامات دقیق بهداشتی امنیت اطلاعات باید به کل چرخه حیات یک پروژه فناوری اطلاعات گسترش یابد. علاوه بر الزام به انتخاب دقیق پایه کد منبع پروژه شما (بسته های منبع باز، تصاویر کانتینر، ابزارهای اتوماسیون)، یک راهکار جامع امنیتی کانتینر و یک سیستم مدیریت اسرار ضروری است. مهمتر از همه، الزامات مربوط به رسیدگی ویژه به اطلاعات محرمانه نه تنها در مورد کد منبع پروژه، بلکه برای فرآیندهای توسعه نیز اعمال می شود. GitHub یک راهنمای دقیق در مورد پیکربندی ایمن اقدامات GitHub دارد - بزرگترین بخش آن به طور خاص به مدیریت اطلاعات محرمانه اختصاص دارد.
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.