مهاجمان مشکلات GitHub را در کمتر از یک ساعت به کمپین زنجیره تامین علیه 61 مخزن عمومی تبدیل می کنند
"جریان کاری به طور خودکار در عرض یک ثانیه فعال می شود، و اگر گردش کار واقعا آسیب پذیر باشد، حمله با موفقیت اجرا می شود."
انحصاری محققان حداقل 83 حمله را علیه 61 مخزن عمومی GitHub شناسایی کردند، از جمله پروژههای منبع باز محبوب مانند Google LangExtract، Trivy، مرورگر Brave و MLflow، که گمان میکنند یک کمپین هماهنگ برای اجرای دستورات در محیطهای CI/CD و سرقت اعتبار و توکنهای دسترسی است.
شکارچیان تهدید Radware در مصاحبه ای اختصاصی با The Register گفتند که همه چیز خیلی سریع اتفاق افتاد. بیشتر (77) مورد مخرب در یک بازه زمانی 43 دقیقه ای در 1 سپتامبر منتشر شد و شش مورد باقی مانده در دو دقیقه آینده منتشر شد.
گابی نکیبلی، معاون Radware و محقق به The Register گفت: «حدس ما این است که هدف نهایی یک حمله زنجیره تامین بود که در آن مهاجم اعتبار مخزن را به دست میآورد، و سپس او این قدرت را دارد که محتویات - کد - را همانطور که میخواهد تغییر دهد» و سپس تغییرات مخرب را به دیگران منتقل کند.
Nakibly و محقق Radware، Zvika Babo می گویند که آنها مشکوک هستند که یک فرد در پشت این کمپین زنجیره تامین باشد. این مهاجم از 74 حساب مختلف GitHub استفاده کرده است که بسیاری از آنها دارای تاریخچه توسعه قانونی بودند، به این معنی که احتمالا در معرض خطر قرار گرفته اند.
این تیم در تحقیقی که پیش از انتشار با The Register به اشتراک گذاشته شده است، نوشت: «با توجه به اینکه دهها حساب کاربری یکسان نوع بار، در یک روز، در یک بازه زمانی باریک و در زیرساختهای مشابه ارسال کردند، منطقی است که ارزیابی کنیم که فعالیت هماهنگ بوده است.
یک زنجیره حمله بدیع
آنها این کمپین را در حین بررسی تزریق سریع در GitHub کشف کردند - و به ما گفتند که زنجیره حمله بخشی از چیزی است که این کمپین زنجیره تامین را رمان و بسیار مخفی می کند.
ابتدا، مهاجم یک مشکل، درخواست کشش یا نظر حاوی دستورات مخرب پنهان شده در نظرات HTML را منتشر می کند. این تضمین می کند که محتوا در صفحه نمایش داده شده قابل مشاهده نیست. به علاوه، یک رویداد GitHub - مانند یک درخواست یا مشکل - میتواند به طور خودکار یک گردش کار را راهاندازی کند اگر مخزن برای پاسخ به آن رویداد پیکربندی شده باشد، به این معنی که مهاجم میتواند در این مرحله کاملا دست به کار شود.
ناکیبلی گفت: «جریان کاری به طور خودکار در عرض یک ثانیه راه اندازی می شود و اگر گردش کار واقعا آسیب پذیر باشد، حمله با موفقیت اجرا می شود.
گردش کار محتوای کنترلشده توسط مهاجم را مستقیما در کد منبع پوسته ترکیب میکند و پوسته فرمان مخفی و مخرب را اجرا میکند که متغیرهای محیطی را بالا میبرد و سعی میکند آنها را به یک سرور تحت کنترل مهاجم منتقل کند.
در حالی که محققان گزارشهای مربوط به اجرای واقعی را بررسی کردند و به ما گفتند که دو مورد حاوی شواهدی پیدا کردند که نشان میداد دستور مخرب در محیط اتوماسیون اجرا میشد، آنها نمیتوانند به طور قطعی بگویند که آیا مهاجم با موفقیت مجوزهای نوشتن مخزن، کد منبع اصلاح شده یا نرمافزار پاییندستی را به خطر انداخته است یا خیر. اما آنها تلاش می کنند.
نکیبلی گفت: «تصویر بزرگ این است که مهاجمان در تلاش هستند تا هر راه ممکنی را برای ورود به مخازن برای دریافت اعتبار بیابند.
علاوه بر این، بابو افزود: «مهاجم برای انجام این کار نیازی به به خطر انداختن مخزن یا دسترسی به پایگاه کد آن ندارد». اساسا، هر کاربری با حساب GitHub میتواند این حمله را اجرا کند – شروع این حمله بسیار آسان است.
کدام مخازن تحت تأثیر قرار گرفتند؟
تا 13 اکتبر، شکارچیان تهدید 83 مورد GitHub را با یک بار تأیید شده در 61 مخزن مختلف شناسایی کردند. این مخازن شامل چارچوبهای هوش مصنوعی، ابزارهای امنیتی، زیرساختهای توسعه، پایگاههای داده و سایر پروژههای نرمافزار منبع باز پرکاربرد است.
گزارش Radware agno-agi/agno (42.7 هزار ستاره)، ToolJet/ToolJet (41.1K)، google/langextract (38.9K)، aquasecurity/trivy (38.4K)، CopilotKit/CopilotKit (38K)، و podman-container-pools (38K) را فهرست می کند.
سایر اهداف قابل توجه شامل QwenLM/qwen-code (28.5K)، mlflow/mlflow (28.4K)، discordjs/discord.js (26.8K)، cilium/cilium (25.6K)، brave/brave-browser (23.9K)، dotnet/maui (23.3Khome)،2.3Khome (23.3Khome) github/docs (21K)، apache/doris (16K) و PX4/PX4-Autopilot (12.8K).
بابو گفت: «این پروژه ها توسط هزاران سازمان استفاده می شود.
محققان یافتههای خود را برای همه نگهبانان پروژهها فاش کردند و بیشتر مخازن بسته یا ثابت شدند، اما نمیتوانند تأیید کنند که همه آنها بودهاند.
این کمپین به دنبال چندین حمله قبلی زنجیره تامین علیه امنیت منبع باز و ابزارهای توسعه دهنده انجام می شود زیرا مهاجمان به طور فزاینده ای به دنبال روش های جدید برای سرقت اعتبار و سایر اسرار هستند.
نکیبلی گفت: «هیچ راهی برای جلوگیری از تلاش مهاجمان وجود ندارد. "تنها راه این است که مطمئن شویم کد گردش کار انعطاف پذیر است و در برابر چنین حملاتی آسیب پذیر نیست."
محققان توصیه میکنند که حداقل دسترسی به گردشهای کاری CI/CD را اعمال کنند و تا حد امکان گردشهای کاری ایجاد شده توسط رویدادهای خارجی را از مشاغل با مجوزهای بالا جدا کنند.
بابو گفت: «توسعهدهندگان باید محتوای خارجی را غیرقابل اعتماد تلقی کنند و همچنین اسرار و متغیرهای محیطی را که برای گردش کار در دسترس هستند محدود کنند. ®
متن اصلی (انگلیسی)
Attackers turn GitHub issues into supply chain campaign against 61 public repos in less than an hour
'The workflow automatically is triggered within a second, and if the workflow is indeed vulnerable, then the attack is executed successfully'