گیت هاب در حال بررسی مجموعه ای از حملات است که در آن مهاجمان موفق به استخراج ارز دیجیتال در زیرساخت ابری GitHub با استفاده از مکانیسم GitHub Actions برای اجرای کد خود شدند. اولین تلاش ها برای استفاده از GitHub Actions برای استخراج به نوامبر سال گذشته بازمی گردد.
GitHub Actions به توسعه دهندگان کد اجازه می دهد تا کنترل کننده هایی را برای خودکارسازی عملیات های مختلف در GitHub متصل کنند. به عنوان مثال، با استفاده از GitHub Actions میتوانید بررسیها و آزمایشهای خاصی را هنگام انجام انجام دهید، یا پردازش مسائل جدید را خودکار کنید. برای شروع ماینینگ، مهاجمان یک فورک از مخزن ایجاد میکنند که از GitHub Actions استفاده میکند، یک GitHub Actions جدید به کپی خود اضافه میکنند، و یک درخواست کشش به مخزن اصلی ارسال میکنند و پیشنهاد میکنند که کنترلکنندههای فعلی GitHub Actions با «.github/workflows» جدید جایگزین شوند. /ci.yml” handler.
درخواست pull مخرب چندین بار تلاش می کند تا کنترلر GitHub Actions مشخص شده توسط مهاجم را اجرا کند که پس از 72 ساعت به دلیل وقفه زمانی قطع می شود، با شکست مواجه می شود و دوباره اجرا می شود. برای حمله، یک مهاجم فقط نیاز به ایجاد یک درخواست کشش دارد - کنترل کننده به طور خودکار بدون هیچ گونه تایید یا مشارکتی از طرف نگهبانان مخزن اصلی اجرا می شود، که فقط می توانند فعالیت های مشکوک را جایگزین کنند و اقدامات GitHub را متوقف کنند.
در کنترل کننده ci.yml که توسط مهاجمان اضافه شده است، پارامتر "run" حاوی کد مبهم است (معادل "$(echo 'YXB0IHVwZGF0ZSAt…' | base64 -d")، که پس از اجرا، سعی می کند برنامه ماینینگ را دانلود و اجرا کند. در اولین گونه های حمله از مخازن مختلف، برنامه ای به نام npm.exe در GitHub و GitLab آپلود شد و در یک فایل ELF اجرایی برای Alpine Linux (که در تصاویر Docker استفاده می شود.) کامپایل شد. ماینر از مخزن رسمی پروژه، که سپس با کیف پول جایگزین آدرس و سرورهایی برای ارسال داده ساخته می شود.
منبع: opennet.ru