مقدمه: ظهور بازیهای گیتهاب و خطرات پشت این سرگرمی
اگر تا به حال جستجو کرده اید بازیهای گیتهاباحتمالاً با همه چیز، از بازیهای تیراندازی مبتنی بر مرورگر گرفته تا کلونهای قدیمی ساخته شده با جاوا اسکریپت یا پایتون، برخورد کردهاید. امتحان کردن این پروژهها سرگرمکننده، اجرای آنها آسان و اغلب در آموزشهای یوتیوب یا انجمنها نمایش داده میشوند. در نتیجه، آنها به ویژه در مدارس محبوب شدهاند، جایی که توسعهدهندگان و دانشآموزان اغلب از طریق ... به آنها دسترسی پیدا میکنند. بازیهای رفع انسداد شده در گیتهاب یا از آنها انشعاب بگیرید بازیهای گیتهاب آیاو صفحات.
به دلیل این محبوبیت، توسعهدهندگان و دانشجویان به طور یکسان این مخازن را کلون میکنند، کد را اجرا میکنند و بدون فکر زیاد به کار خود ادامه میدهند. اما مشکل اینجاست: همه این بازیها آن چیزی نیستند که به نظر میرسند.
برخی از مخازن بازی، اسکریپتهای نصب مشکوکی را اجرا میکنند. برخی دیگر وابستگیهای قدیمی یا آسیبپذیر را به بازی اضافه میکنند. برخی حتی بدافزارها را درون داراییها، کانتینرها یا فایلهای استقرار پنهان میکنند. از آنجایی که بسیاری از توسعهدهندگان این پروژهها را از طریق ... میزبانی میکنند. بازیهای گیتهاب آیاو، خطر به سرعت گسترش مییابد و اغلب مورد توجه قرار نمیگیرد.
در این پست، بررسی خواهیم کرد که چگونه مخازن بازی میتوانند به یک تهدید امنیتی جدی تبدیل شوند. همچنین به شما نشان خواهیم داد که چگونه بدون از دست دادن کنجکاوی یا ... خود، ایمن بمانید. CI/CD.
چرا مهاجمان بازیهای گیتهاب و مخازن مسدود نشده را هدف قرار میدهند؟
در نگاه اول، مخازن بازی در گیتهاب بیضرر به نظر میرسند. گذشته از همه اینها، آنها اغلب آزمایشهای کوچک یا پروژههای آموزشی هستند که برای سرگرمی ساخته شدهاند. با این حال، مهاجمان این موارد را متفاوت میبینند. در واقعیت، بسیاری از این موارد از مخازن به عنوان پلتفرمهای توزیع بدافزار استفاده میشود، اغلب به صورت مبدل بازیهای گیتهاب or بازیهای رفع انسداد گیتهاب.
برای مثال، یک عامل تهدید که به عنوان ستارگان گابلین شبکهای از بیش از ... را اداره میکند ۳۰۰۰ حساب کاربری گیتهاب غیرواقعیاین گروه که «شبکه ارواح استارگیزر» لقب گرفته است، عمداً مخازن مخرب را ستارهگذاری، فورک و تماشا میکند تا دیده شدن و مشروعیت خود را افزایش دهد و معمولاً کاربرانی را که به دنبال ابزارها یا تقلب در بازیها هستند، هدف قرار میدهد. این مخازن برای توزیع سارقان اطلاعات و باجافزارهایی مانند Atlantida Stealer، Rhadamanthys، Lumma Stealer و RedLine استفاده شدهاند.
علاوه بر این، یک کمپین پیچیده دیگر به نام نفرین آب حداقل مسلح شده است ۷۶ حساب کاربری گیتهاب، بدافزار چند مرحلهای را در ابزارهایی که به نظر مشروع میرسند، جاسازی میکند. این بدافزارها در فایلهای پروژه ویژوال استودیو (PreBuildEvent) پنهان شدهاند و اسکریپتهای مبهم و فایلهای باینری مبتنی بر Electron را برای سرقت اعتبارنامه، استخراج دادههای مرورگر و ماندگاری طولانی مدت مستقر میکنند. اهداف شامل توسعهدهندگان، تیمهای DevOps و سازندگان بازی هستند.
مهاجمان از این واقعیت سوءاستفاده میکنند که بسیاری از توسعهدهندگان، بازیهای github را برای آزمایش یا یادگیری از آنها بدون بررسی کد، شبیهسازی میکنند. به طور مشابه، بازیهای github io، که از طریق صفحات GitHub ارائه میشوند، میتوانند میزبان جاوا اسکریپت، تصاویر یا اسکریپتهای تغییر مسیر مخرب باشند که هنگام بارگیری در مرورگر اجرا میشوند. از آنجایی که بسیاری از بازیهای github io بدون بررسی عمیق، فورک شده و دوباره استفاده میشوند، مهاجمان از آنها برای قاچاق کد مبهم، ردیابهای پنهان یا دانلود تریگرها استفاده میکنند. این تاکتیکها از اعتمادی که توسعهدهندگان به پروژههای متنباز دارند، سوءاستفاده میکنند.
به طور خلاصه، محبوبیت مخازن بازی و پروژههای بازیِ بدونِ مسدودسازی، آنها را به بستری مناسب برای مهاجمان تبدیل میکند. بدون غربالگری مناسب، یک توسعهدهنده کنجکاو میتواند صرفاً با شبیهسازی یا میزبانی یک مخزن بازی، بدافزار را وارد محیط خود کند.
آیا میخواهید تمام پروژههای گیتهاب خود را ایمن کنید؟
اگر به دنبال راهی برای محافظت از مخازن گیتهاب خود فراتر از مادهای بازی هستید، پست مفصل ما در مورد مجوزها را از دست ندهید. pull requests, CI/CD ادغام، و بیشتر.
الگوهای بدافزار در بازیهای مسدود نشدهی گیتهاب و بازیهای گیتهاب آیاو
وقتی توسعهدهندگان پروژههایی را بررسی میکنند که با عنوان github unblocked gamesبسیاری از آنها بیضرر به نظر میرسند. با این حال، چندین الگوی تکرارشونده، تهدیدات جدی را آشکار میکنند که به راحتی میتوان از آنها چشمپوشی کرد.
کمپین: نفرین آب
ترند میکرو کمپینی به نام نفرین آبکه در آن حداقل ۷۶ حساب کاربری گیتهاب مخازن میزبانیشده برای سلاح که خود را به عنوان ابزارهای توسعهدهنده یا مادهای بازی جا میزنند. این مخازن، پیلودهای مخرب را با استفاده از <PreBuildEvent> برچسبها در فایلهای پروژه ویژوال استودیو. در طول ساخت، اسکریپتهای PowerShell یا VBS مبهمسازیشده، بایگانیهای ZIP رمزگذاریشده را دانلود میکنند، فایلهای باینری مبتنی بر Electron را نصب میکنند و اعتبارنامهها، دادههای مرورگر و توکنهای جلسه را استخراج میکنند. این بدافزار همچنین از طریق وظایف زمانبندیشده و تغییرات رجیستری، ماندگاری خود را پیادهسازی میکند.
شبهکد در بازیهای گیتهاب: قلاب
شبهکد: اجرای مبهم PowerShell
این مثال ساده نشان میدهد که چگونه کد مخرب با رمزگشایی و اجرای مستقیم در حافظه، از نوشتن روی دیسک جلوگیری میکند.
کمپین: نفرین آب
ترند میکرو یک عملیات تهدیدآمیز به نام نفرین آب، جایی که مهاجمان حداقل از آن استفاده کردند ۷۶ حساب کاربری گیتهاب برای میزبانی مخازن تسلیحاتی. به نظر میرسید این پروژهها ابزارهای توسعهدهنده یا مادهای بازی باشند. در داخل، آنها منطق مخرب را در فایلهای ساخت، به ویژه از طریق <PreBuildEvent> برچسب در ویژوال استودیو .csproj فایل های.
این بدافزارها شامل اسکریپتهای چند مرحلهای بودند که فایلهای زیپ رمزگذاریشده را دانلود، فایلها را استخراج و دربهای پشتی را اجرا میکردند. علاوه بر این، مهاجمان با استفاده از ویرایشهای رجیستری ویندوز و وظایف زمانبندیشده، مکانیسمهای پایداری را اضافه کردند.
مثال شبهکد: قلاب ساخت ویژوال استودیو
شبهکد: اجرای درون حافظهای از طریق پاورشل
این تکنیک از نوشتن روی دیسک جلوگیری میکند، که به مهاجمان کمک میکند تا از شناسایی آنتیویروسها دور بزنند و مخفیانه عمل کنند.
کمپین: حسابهای گابلین و روح ستارهشناس
یک حمله بزرگ دیگر توسط Check Point Research ثبت شد که نشان داد شبکه ارواح ستارهشناساناین کمپین بیش از ۳۰۰۰ حساب کاربری جعلی گیتهاب برای افزایش ستارهها، فورکها و ناظران در مخازن مخرب. هدف ایجاد حس کاذب مشروعیت بود.
این حسابهای کاربریِ خیالی به ترویج بدافزارهایی مانندِ دزد آتلانتیدا, لوما, رادامانتیسو خط قرمزکه عمدتاً توسعهدهندگان و گیمرها را هدف قرار میدهد. تنها در چهار روز، یک موج حمله بیش از قربانیان 1,300 با پخش بستههای مد بازی اصلاحشده از طریق لینکهای Discord و README.
مثال شبهکد: فایل README مخرب
الگوهای رایج بدافزار در مخازن بازیهای گیتهاب
| الگو | توضیحات: |
|---|---|
| پیشنصب / ساخت اسکریپتها | اسکریپتهایی که به طور خودکار در حین نصب یا ساخت اجرا میشوند تا بارهای داده از راه دور را دریافت و اجرا کنند، اغلب بدون آگاهی کاربر. |
| تایپواسکاتینگ و چنگالهای جعلی | پروژههای مخربی که نام یا ساختار ابزارهای محبوب یا مخازن بازی را تقلید میکنند تا توسعهدهندگان را برای نصب آنها فریب دهند. |
| سوءاستفاده از صفحات گیتهاب | جاوا اسکریپت، تصاویر یا ریدایرکتهای پنهان در صفحات `github io games` که باعث اجرای اسکریپتهای مخرب در هنگام بارگذاری صفحه میشوند. |
| سیگنالهای محبوبیت جعلی | حسابهای کاربری گوست (Ghost) به طور مصنوعی ستارهها، فورکها و ناظران را افزایش میدهند تا مخازن مخرب قابل اعتماد به نظر برسند. |
این تکنیکها تئوری نیستند. آنها قبلاً به صورت زنده مشاهده شدهاند. کمپینهای بدافزاریبسیاری از آنها توسعهدهندگانی را هدف قرار دادند که از مخازن بازی به عنوان نقاط ورود استفاده میکردند.
خوشبختانه، برخی از پلتفرمهای امنیتی میتوانند این الگوها را قبل از ایجاد آسیب شناسایی کنند. در بخش بعدی، نشان خواهیم داد که چگونه Xygeni این تهدیدات را در سراسر سیستم شما شناسایی، مسدود و برطرف میکند. SDLC.
چگونه Xygeni بازیهای گیتهاب، پروژههای مسدود نشده و ... را ایمن میکند؟ CI/CD Pipelines
وقتی الگوهای پرخطر در مخازن بازی GitHub ظاهر میشوند، Xygeni یک دفاع کامل برای متوقف کردن تهدیدها قبل از اینکه سیستمها یا زنجیره تأمین شما را به خطر بیندازند، ارائه میدهد.
۱. هشدار اولیه: تشخیص بدافزار در زمان واقعی در بازیها و وابستگیهای GitHub
شیگنی به طور مداوم بستههای جدید را در سراسر NPM، Maven، PyPI و موارد دیگر اسکن میکند. این شامل بستههایی میشود که در مکانهای غیرمنتظره، مانند مخازن بازی یا پروژههای بازیهای مسدود نشدهی گیتهاب که در انجمنها یا شبکههای مدرسه به اشتراک گذاشته شدهاند، تعبیه شدهاند. اگر یک جزء مشکوک پیدا شود، Xygeni به طور خودکار آن را قرنطینه میکند، استفاده از آن را در وابستگیهای شما مسدود میکند و هشدارهای بلادرنگ را به تیم شما ارسال میکند. این امر از ورود بارهای مخرب به پایگاه کد یا پایگاه داده شما جلوگیری میکند. CI/CD pipeline.
2. آگاه از دسترسیپذیری SCA با اولویتبندی هوشمند
به جای اینکه تیم خود را با هشدارها غافلگیر کنید، شیگنی ارزیابی میکند که آیا واقعاً از یک آسیبپذیری در کد شما استفاده شده است یا خیر (دستیابی) و شامل امتیازدهی ریسک (EPSS، تأثیر تجاری) برای آشکار کردن مهمترین مسائل. این کار به طور قابل توجهی نویز را کاهش میدهد و تضمین میکند که تیم شما بر اساس آنچه واقعاً مهم است عمل میکند.
3. اصلاح خودکار با استفاده از Pull Requests
هنگامی که یک آسیبپذیری یا وابستگی مخرب با یک راهحل شناختهشده شناسایی میشود، Xygeni بهطور خودکار یک Pull Request برای ارتقا یا وصله کردن مشکل. این کار زمان پاسخ را سرعت میبخشد، کار دستی را محدود میکند و شما را ایمن نگه میدارد pipeline امن است.
4. CI/CD کنترلهای امنیتی برای مسدود کردن ساختهای مخرب
Xygeni با build ادغام میشود pipelineاز طریق GitHub Actions، Jenkins، GitLab، Azure Pipelineو موارد دیگر. این اسکریپتهای ساخت، داکرفایلها و CI/CD پیکربندیهایی برای دستورات مشکوک، مانند پوستههای معکوس یا اسکریپتهای نصب، و در صورت شناسایی کد خطرناک، میتوانند ساختها را مسدود کنند.
5. ایجاد یکپارچگی از طریق گواهیهای منطبق با SLSA
La Build Security این ماژول گواهیهای امضا شده را طبق SLSA و in‑to ایجاد میکند. standardها، جاسازی فراداده در منبع، وابستگیها، SBOMو آزمایشها. اگر هرگونه تغییر غیرمجاز رخ دهد، اعتبارسنجی گواهی با شکست مواجه میشود و pipeline به طور خودکار متوقف می شود.
6. تشخیص ناهنجاری در SCM و مصنوعات CI
Xygeni به طور مداوم کد منبع و محیطهای CI شما را رصد میکند تا رفتارهای غیرمعمول مانند موارد زیر را تشخیص دهد: commitدور زدن محافظت از شاخه، کاربران ناشناس یا اعطای توکن غیرمنتظره. همراه با آن SAST موتور، درهای پشتی پنهان را شناسایی میکند یا اسکریپتهای تزریقشده قبل از ادغام یا استقرار.
7. کشف خودکار داراییها و ASPM دید
شیگنی یک موجودی زنده از کل شما SDLC اکوسیستم، شامل مخازن، همکاران، pipelineها، وابستگیها و زیرساخت ابری. این قابلیت مشاهده، اولویتبندی پویای ریسک، نگاشتهای انطباق (مانند NIS2، DORA) و شواهد آماده برای حسابرسی را بدون ایجاد اختلال در گردشهای کاری موجود، امکانپذیر میسازد.
معنای بازیهای گیتهاب برای توسعهدهندگان امن: کنجکاو بمانید، ایمن بمانید
- اگر یک مخزن حاوی یک اسکریپت ساخت پنهان باشد که کد مخرب را دانلود میکند (مثلاً یک اسکریپت PowerShell پس از نصب)، Xygeni آن را قبل از اجرا علامتگذاری و مسدود میکند.
- هنگام ادغام کدی که به یک وابستگی مشکوک اشاره دارد، Xygeni هم آن را مسدود میکند و هم از طریق آن، یک اصلاح خودکار ارائه میدهد. Pull Request.
- اگر یک پروژه میزبانی شده توسط GitHub Pages حاوی اسکریپتهای مخرب پنهان باشد، Xygeni SCA و تشخیص بدافزار آنها را حتی اگر فقط در حین بارگذاری صفحه اجرا شوند، شناسایی میکند.
- ساختن pipelineرد خواهد کرد commitاگر مصنوعات یا پیکربندیهای ساختهشده در بررسیهای تأیید شکست بخورند، مانع از رسیدن نسخههای آسیبدیده به مرحله تولید میشوند.
با Xygeni، میتوانید به کشف و آزمایش ادامه دهید بازیهای گیتهاب با اطمینان. هر مرحله، از شبیهسازی تا استقرار، محافظت میشود. توسعهدهندگان کنجکاو میمانند، pipelineایمن بمانید و زنجیره تأمین شما پاک بماند.





