بدافزار Shai Hulud نسخه ۲
موج دوم حمله زنجیره تأمین Shai-Hulud اکنون به اکوسیستم Maven وارد شده است و پس از نفوذ به بیش از ۸۳۰ بسته در رجیستری npm، این اتفاق رخ داده است. محققان یک بسته Maven Central به نام org.mvnpm:posthog-node:4.18.1 را شناسایی کردند که شامل همان اجزای مخرب حملات قبلی npm است: لودر setup_bun.js و payload bun_environment.js. در حال حاضر، این تنها بسته جاوای شناخته شدهای است که تحت تأثیر قرار گرفته است.
نکته قابل توجه این است که بسته Maven توسط PostHog منتشر نشده است. در عوض، از طریق یک فرآیند خودکار mvnpm تولید شده است که بستههای npm را به عنوان مصنوعات Maven بازسازی میکند. Maven Central تأیید کرده است که تمام نسخههای آینهای از ۲۵ نوامبر ۲۰۲۵ حذف شدهاند و محافظتهای بیشتری برای جلوگیری از انتشار مجدد اجزای npm آسیبدیده در حال اجرا است.
فهرست مطالب
اهداف حمله و تأثیرگذاری جهانی بر توسعهدهندگان
این موج جدید، توسعهدهندگان را در سراسر جهان هدف قرار میدهد و هدف آن سرقت دادههای حساسی مانند موارد زیر است:
- کلیدهای API
- اعتبارنامههای ابری
- توکنهای npm و GitHub
همچنین، این بدافزار به شیوهای کرممانند و خودتکثیرشونده، نفوذ عمیقتر به زنجیره تأمین را تسهیل میکند. این نسخه از Shai-Hulud مخفیانهتر، تهاجمیتر و مخربتر از نسخه اولیه ماه سپتامبر است. با نفوذ به حسابهای کاربری نگهدارنده npm، مهاجمان میتوانند بستههای تروجاندار را منتشر کنند که در ماشینهای توسعهدهندگان نفوذ کرده و بهطور خودکار رمزها را اسکن کرده و به مخازن GitHub منتقل میکنند.
نحوه عملکرد بدافزار: گردشهای کاری دوگانه و تکنیکهای مخفیکاری
این حمله از دو گردش کار مخرب استفاده میکند:
- ثبت نام دونده خود میزبان: هر زمان که یک بحث GitHub باز شود، اجازه اجرای دستور دلخواه را میدهد.
- گردش کار جمعآوری اسرار: به طور سیستماتیک اعتبارنامهها را جمعآوری کرده و آنها را به گیتهاب ارسال میکند.
- پیشرفتهای کلیدی در Shai-Hulud نسخه ۲ عبارتند از:
- استفاده از Runtime مربوط به Bun برای پنهان کردن منطق اصلی
- افزایش سقف مجاز برای آلودگی از ۲۰ بسته به ۱۰۰ بسته
- مخازن استخراج تصادفی در GitHub برای جلوگیری از شناسایی
تاکنون بیش از ۲۸۰۰۰ مخزن آلوده شدهاند که نشاندهندهی مقیاس وسیع و مخفیانه بودن این کمپین است.
آسیبپذیریهای مورد سوءاستفاده و سازوکارهای زنجیره تأمین
عوامل تهدید از پیکربندیهای نادرست CI در گردشهای کاری GitHub Actions، به ویژه محرکهای pull_request_target و workflow_run، بهرهبرداری کردهاند. یک گردش کار با پیکربندی نادرست میتواند یک مخزن را به «بیمار صفر» تبدیل کند و امکان انتشار سریع کد مخرب را فراهم کند.
این حمله پروژههای مرتبط با AsyncAPI، PostHog و Postman را هدف قرار داده است و در ادامهی یک کمپین گستردهتر است که با حملهی S1ngularity در آگوست ۲۰۲۵ آغاز شد و چندین بستهی Nx را در npm تحت تأثیر قرار داد.
عواقب: افشای اسرار و ریسک سیستماتیک
تحلیل کمپین نشان میدهد:
- صدها توکن دسترسی به گیتهاب و اطلاعات احراز هویت ابری از AWS، Google Cloud و Microsoft Azure به سرقت رفت.
- بیش از ۵۰۰۰ فایل حاوی اطلاعات محرمانه در گیتهاب آپلود شد.
- از ۱۱۸۵۸ راز منحصر به فرد شناسایی شده در ۴۶۴۵ مخزن، ۲۲۹۸ مورد معتبر باقی مانده و تا ۲۴ نوامبر ۲۰۲۵ در معرض دید عموم قرار گرفتهاند.
این نشان میدهد که چگونه یک نگهدارندهی آسیبپذیر میتواند یک اثر آبشاری ایجاد کند و هزاران برنامهی پاییندستی را آلوده کند.
توصیههایی برای توسعهدهندگان
برای کاهش مواجهه، توسعهدهندگان باید:
- تمام کلیدها، توکنها و اعتبارنامههای API را بچرخانید
- وابستگیهای آسیبپذیر را بررسی و حذف کنید
- نسخههای بسته تمیز را دوباره نصب کنید
- مقاومسازی محیطهای CI/CD با دسترسی با حداقل امتیاز، اسکن مخفی و اجرای خودکار سیاستها
شای-هولود تأکید میکند که زنجیره تأمین نرمافزار مدرن همچنان بسیار آسیبپذیر است. مهاجمان همچنان از شکافهای موجود در نحوه انتشار، بستهبندی و استقرار نرمافزارهای متنباز، اغلب بدون تکیه بر آسیبپذیریهای روز صفر، سوءاستفاده میکنند. مؤثرترین دفاع مستلزم بازنگری در نحوه ساخت، اشتراکگذاری و مصرف نرمافزار است.