حمله زنجیره تامین میاسما
یک کمپین حمله زنجیره تامین نرمافزار که به تازگی کشف شده است و Miasma نام دارد، چندین بسته npm از redhat-cloud-services@ را به خطر انداخته است. این عملیات برای جمعآوری اطلاعات حساس و اعتبارنامهها از محیطهای توسعهدهنده طراحی شده است، در حالی که یک کرم خودانتشار را مستقر میکند که قادر به گسترش بیشتر در اکوسیستمهای توسعه نرمافزار است.
این کمپین، تاکتیکهای قبلی مرتبط با Mini Shai-Hulud را به دقت منعکس میکند و از اجرای زمان نصب، سرقت اعتبارنامه، نفوذ CI/CD، استخراج دادههای رمزگذاری شده و مکانیسمهایی که امکان انتشار در پاییندست را فراهم میکنند، بهره میبرد.
فهرست مطالب
انتساب همچنان نامشخص است
عامل تهدید مسئول Miasma هنوز به طور قطعی شناسایی نشده است. انتساب این حمله با این واقعیت پیچیده است که TeamPCP، که با نامهای Replicating Marauder، TGR-CRI-1135 و UNC6780 نیز شناخته میشود، قبلاً ابزارهای حمله مرتبط با کرم Shai-Hulud را به عنوان پروژههای متنباز منتشر کرده است. این پیشرفت، سایر گروههای مجرمان سایبری را قادر ساخته است تا تکنیکهای مشابهی را تکثیر کنند و انتساب قطعی آن را به طور قابل توجهی دشوارتر میکند.
بستههای npm آسیبپذیر
بستههای npm زیر به عنوان آسیبپذیر شناسایی شدهاند:
@redhat-cloud-services/vulnerabilities-client
@redhat-cloud-services/tsc-transform-imports
@redhat-cloud-services/topological-inventory-client
@redhat-cloud-services/sources-client
@redhat-cloud-services/rule-components
@redhat-cloud-services/remediations-client
@redhat-cloud-services/rbac-client
برداشت اعتبارنامه از طریق منطق نصب مبهم
محققان امنیتی کشف کردند که بستههای مخرب حاوی یک قلاب پیشنصب مبهم هستند که برای اجرا خودکار در حین نصب بسته طراحی شده است. این بدافزار طیف گستردهای از داراییهای حساس، از جمله اسرار GitHub Actions، توکنهای احراز هویت npm، اعتبارنامههای ابری، اسرار Kubernetes و HashiCorp Vault، کلیدهای SSH، اعتبارنامههای Git و سایر فایلهای محرمانه ذخیره شده در سیستمهای آسیبدیده را هدف قرار میدهد.
همانطور که در کمپینهای قبلی Mini Shai-Hulud مشاهده شد، این بدافزار از روالهای رمزگذاریشدهی خروج اطلاعات استفاده میکند. اطلاعات سرقتشده به api.anthropic.com:443/v1/api منتقل میشود، در حالی که GitHub به عنوان یک کانال خروج اطلاعات جایگزین عمل میکند. این استراتژی دومنظوره، نه تنها تلاشی برای سرقت اطلاعات احراز هویت، بلکه همچنین استفاده از آنها برای به خطر انداختن بیشتر زنجیره تأمین نرمافزار را نشان میدهد.
بستههای داده رمزگذاری شده از طریق GitHub API ثبت میشوند و پیامهای ثبت ممکن است حاوی رشته زیر باشند:
«اگر این توکن را نامعتبر کنید، کامپیوتر مالک آن از کار میافتد»
تکنیکهای مخفیکاری و مکانیسمهای انتشار
این بدافزار شامل چندین اقدام برای به حداکثر رساندن ماندگاری، جلوگیری از شناسایی و گسترش دسترسی است. یکی از ویژگیهای قابل توجه آن، اجتناب عمدی از اجرا در سیستمهای روسی زبان است، رفتاری که قبلاً در کمپینهای زنجیره تأمین GlassWorm مشاهده شده بود.
برای محیطهای npm، کد مخرب با تبادل توکن OIDC و نقاط پایانی whoami تعامل میکند، آرشیوهای نرمافزار را در tarballهای بهروزرسانیشده مجدداً بستهبندی میکند و مصنوعات اصلاحشده را با استفاده از Sigstore امضا میکند. سپس اعتبارنامههای سرقتشده به مخازن عمومی GitHub تحت کنترل مهاجم منتقل میشوند که دارای شرح «Miasma: The Spreading Blight» هستند.
محققان اولین مورد شناختهشده حاوی این توصیف را در ۲۹ مه ۲۰۲۶ شناسایی کردند که نشاندهنده آغاز عملیات فعال یا یک مرحله آزمایش اولیه در حوالی آن تاریخ است.
در محیطهای گیتهاب، این بدافزار مخازن قابل دسترسی برای توکنهای آسیبدیده را فهرست میکند، تعاریف گردش کار را از طریق کوئریهای GraphQL تجزیه و تحلیل میکند و گردشهای کار مخرب را با استفاده از جهش createCommitOnBranch تزریق میکند. این رویکرد اجازه میدهد تا تغییرات مخرب به عنوان کامیتهای تأیید شده و امضا شده با رمزنگاری ظاهر شوند.
ویژگیهای پیشرفتهی پایداری و افزایش امتیاز
تجزیه و تحلیلها چندین قابلیت اضافی تعبیه شده در این بدافزار را آشکار کرد:
تلاش برای افزایش امتیازات با راهاندازی کانتینرهایی که دایرکتوری /etc/sudoers.d میزبان را bind-mount میکنند و دسترسی sudo بدون رمز عبور را به اجراکنندگان CI اعطا میکنند.
تشخیص راهکارهای امنیتی اندپوینت شامل CrowdStrike، SentinelOne، Carbon Black و StepSecurity Harden-Runner قبل از شروع فعالیتهای مخرب.
مکانیسمهای پایداری که یک قلاب SessionStart را به Anthropic Claude Code تزریق میکنند و فایلهای مخرب tasks.json پیکربندی شده با 'runOn': 'folderOpen' را برای پروژههای Microsoft Visual Studio Code ایجاد میکنند و اجرا را در جلسات توسعه آینده تضمین میکنند.
تمرکز بیشتر بر افشای هویت در فضای ابری
یکی از تکاملهای عمده در نوع Miasma، تمرکز گستردهتر آن بر جمعآوری هویت ابری است. ماژولهای جدیدی که محیطهای Google Cloud Platform (GCP) و Microsoft Azure را هدف قرار میدهند، اطلاعات مربوط به تمام هویتهای ابری قابل دسترسی از یک دستگاه آلوده را جمعآوری میکنند.
انواع قبلی عمدتاً بر استخراج اطلاعات محرمانه از محیطهای ابری متمرکز بودند. افزودن جمعآوریکنندگان متمرکز بر هویت، نشاندهندهی یک تغییر استراتژیک به سمت دسترسی مستقیم به ابر و بهرهبرداری از هویتهای ممتاز در زیرساختهای ابری است.
هر آلودگی یک payload رمزگذاری شده منحصر به فرد ایجاد میکند که تلاشهای تشخیص را پیچیدهتر میکند. این سفارشیسازی به طور قابل توجهی مانع تشخیص مبتنی بر امضا، ردیابی بدافزار و همبستگی نسخه در بین حوادث میشود.
نفوذ اولیه و زنجیره تأمین
شواهد موجود نشان میدهد که این کمپین از طریق نفوذ به حساب کاربری گیتهاب یکی از کارمندان رد هت آغاز شده است. محققان معتقدند که این حساب کاربری به عنوان نقطه اولیه آلودگی عمل کرده و مهاجمان را قادر ساخته است تا کد مخرب را به بستههای آسیبدیده تزریق کنند.
طبق گزارشها، حساب کاربری آسیبدیده، کامیتهای مخرب orphan را به دو مخزن Red Hat Insights ارسال کرده و با دور زدن رویههای بررسی کد، payload مخرب را وارد زنجیره تأمین نرمافزار کرده است.
راهنمای واکنش به حادثه و رفع آن
سازمانهایی که نسخههای آسیبدیده بسته را نصب کردهاند، باید فوراً سیستمهای آسیبدیده را ایزوله کنند، بستههای مخرب را حذف کنند، تمام اعتبارنامههای بالقوه در معرض خطر را تغییر دهند، فعالیتهای GitHub و npm را برای نشانههایی از دسترسی غیرمجاز بررسی کنند و محیطها را برای مکانیسمهای پایداری بررسی کنند. باید توجه ویژهای به تغییرات غیرمجاز شامل موارد زیر شود:
~/.claude/settings.json، .vscode/tasks.json، .github/workflows/codeql.yml، و .github/setup.js.
کنترلهای دسترسی قوی نیز باید در محیطهای توسعه و ابری اعمال شوند.
از آنجا که این بدافزار قابلیتهای اجرای پسزمینه و ماندگاری در ابزارهای توسعهدهنده را ایجاد میکند، صرفاً حذف بستههای npm آسیبدیده یا حذف دایرکتوری node_modules نباید به عنوان یک راهحل کافی در نظر گرفته شود.
برای محیطهای CI/CD، اجرای گردش کار آسیبدیده باید فوراً به حالت تعلیق درآید. سازمانها باید مصنوعات ساخت ایجاد شده در طول دوره مواجهه را نامعتبر کنند و به طور کامل بررسی کنند که آیا نسخهها، تصاویر کانتینر، بستههای npm، مصنوعات استقرار یا سایر اجزای نرمافزاری پس از معرفی بسته مخرب به محیط تولید شدهاند یا خیر.