کرم مینی شای-هولود
عامل تهدید که با نام TeamPCP شناخته میشود، به یک کمپین حمله زنجیره تأمین پیچیده متصل شده است که بستههای npm و PyPI پرکاربرد مرتبط با TanStack، UiPath، Mistral AI، OpenSearch، Guardrails AI و چندین اکوسیستم دیگر را هدف قرار میدهد. این عملیات که با کمپین بدافزار Mini Shai-Hulud مرتبط است، نشاندهنده افزایش قابل توجه سوءاستفاده از زنجیره تأمین نرمافزار و تکنیکهای سازش مبتنی بر هویت است.
محققان شناسایی کردند که بستههای مخرب npm اصلاح شدهاند تا یک مؤلفه جاوا اسکریپت مبهمسازیشده به نام router_init.js را در خود جای دهند. این پیلود، محیطهای آلوده را شناسایی کرده و یک سارق پیشرفته اعتبارنامه را مستقر میکند که ارائهدهندگان خدمات ابری، کیف پولهای ارز دیجیتال، ابزارهای توسعه هوش مصنوعی، پلتفرمهای پیامرسان، سیستمهای CI/CD و محیطهای GitHub Actions را هدف قرار میدهد. دادههای استخراجشده در درجه اول به دامنه filev2.getsession.org منتقل میشوند.
استفاده از زیرساخت پروتکل جلسه، تلاشی عمدی برای فرار از کنترلهای امنیتی سازمانی را برجسته میکند. از آنجا که این دامنه متعلق به یک پلتفرم پیامرسان غیرمتمرکز با محوریت حریم خصوصی است، احتمال مسدود شدن آن توسط سیستمهای دفاعی شبکه سنتی کمتر است. به عنوان یک روش استخراج ثانویه، دادههای رمزگذاری شده از طریق رابط برنامهنویسی کاربردی GitHub GraphQL با استفاده از توکنهای احراز هویت GitHub سرقت شده تحت هویت نویسنده claude@users.noreply.github.com به مخازن تحت کنترل مهاجم ارسال میشوند.
فهرست مطالب
مکانیسمهای پایداری و گسترش سرقت اعتبارنامه
این بدافزار چندین قابلیت پایداری و نظارت را معرفی میکند که برای حفظ دسترسی بلندمدت به محیطهای توسعهی آسیبپذیر طراحی شدهاند. قلابهای پایداری در Claude Code و Microsoft Visual Studio Code ایجاد شدهاند و به بدافزار اجازه میدهند تا از راهاندازی مجدد سیستم جان سالم به در ببرد و هر زمان که IDEها باز میشوند، بهطور خودکار دوباره راهاندازی شود.
علاوه بر این، یک سرویس gh-token-monitor برای نظارت مداوم و استخراج مجدد توکنهای GitHub مستقر شده است. دو گردش کار مخرب GitHub Actions نیز به مخازن آسیبدیده تزریق میشوند. این گردشهای کار، اسرار مخزن را به فرمت JSON سریالی کرده و دادهها را در نقطه پایانی خارجی api.masscan.cloud بارگذاری میکنند.
آخرین حملهی TanStack با حوادث زنجیرهی تأمین قبلی تفاوت قابل توجهی دارد. مهاجمان به جای تکیه بر یک قلاب از پیش نصب شده، یک فایل جاوا اسکریپت مخرب را مستقیماً در فایلهای فشردهی بسته جاسازی کردند و در عین حال یک وابستگی اختیاری مرتبط با یک بستهی میزبانی شده توسط GitHub را معرفی کردند. این وابستگی شامل یک قلاب چرخهی آمادهسازی است که بار داده را از طریق محیط زمان اجرای Bun اجرا میکند.
بستههای هوش مصنوعی آلوده به تروجان Mistral، با تغییر فایل package.json با یک قلاب پیش نصب که فایل setup.mjs گره را فراخوانی میکند، از یک استراتژی آلودهسازی قدیمیتر استفاده میکنند. این فرآیند Bun را دانلود کرده و همان بدافزار سرقت اطلاعات کاربری را اجرا میکند.
CVE-2026-45321 و سوءاستفاده از انتشارات معتبر
آسیبپذیری TanStack رسماً با شناسه CVE-2026-45321 ردیابی شده و امتیاز بحرانی CVSS 9.6 را به آن اختصاص داده است. محققان تأیید کردند که ۴۲ بسته و ۸۴ نسخه در اکوسیستم TanStack تحت تأثیر قرار گرفتهاند.
تجزیه و تحلیل نشان داد که این حمله از یک حمله زنجیرهای GitHub Actions با سوءاستفاده از ماشه pull_request_target، مسمومیت حافظه پنهان GitHub Actions و استخراج توکنهای OIDC در زمان اجرا از اجراکنندههای GitHub Actions سرچشمه گرفته است. طبق گزارشها، مهاجمان قبل از تزریق payloadهای مخرب به tarballهای بسته npm، آنها را از طریق commitهای orphaned در GitHub forkها اجرا میکردند. سپس مهاجمان گردشهای کاری قانونی TanStack/router را برای انتشار بستههای آلوده با گواهیهای معتبر SLSA به سرقت بردند.
این توسعه، تشدید تاریخی حملات زنجیره تأمین نرمافزار را نشان میدهد. بستههای مخرب دارای امضاهای معتبر SLSA Build Level 3 بودند و این اولین کرم npm مستند شده است که قادر به توزیع بستههای مخرب با گواهیهای ساخت معتبر است. این کمپین بدافزار متعاقباً فراتر از TanStack گسترش یافت و به اکوسیستمهای نگهداری شده توسط UiPath، DraftLab و سایر توسعهدهندگان گسترش یافت.
این عملیات به شدت از گردشهای کاری انتشار معتبر سوءاستفاده میکند. به جای سرقت مستقیم اعتبارنامههای npm، کد تحت کنترل مهاجم که در داخل خطوط لوله CI/CD معتبر اجرا میشود، از مجوزهای OIDC برای ایجاد توکنهای انتشار کوتاهمدت در طول فرآیند ساخت استفاده میکند. این امر به بستههای مخرب اجازه میدهد تا از طریق خطوط لوله انتشار قانونی و در عین حال با دور زدن حفاظتهای احراز هویت مرسوم، منتشر شوند.
رفتار کرم خود تکثیر شونده، زنگ خطر را به صدا درآورده است
یکی از خطرناکترین جنبههای کمپین Mini Shai-Hulud، مدل انتشار کرممانند آن است. این بدافزار بهطور فعال به دنبال توکنهای npm قابل انتشار پیکربندیشده با bypass_2fa=true میگردد، بستههای نگهداریشده توسط توسعهدهندهی آسیبدیده را فهرست میکند و توکنهای GitHub OIDC را با توکنهای انتشار هر بسته مبادله میکند. این مکانیسم، بدافزار را قادر میسازد تا بدون تکیه بر تکنیکهای سنتی سرقت اعتبارنامه، بهصورت جانبی در سراسر اکوسیستمهای بسته گسترش یابد.
این حمله همچنین از پیکربندیهای اعتماد در سطح مخزن در مدل ناشر مورد اعتماد OIDC گیتهاب سوءاستفاده کرد. از آنجا که اعتماد به طور گسترده در سطح مخزن اعطا شده بود و نه محدود به شاخههای محافظتشده و فایلهای گردش کار خاص، اجراهای مخرب گردش کار که توسط commitهای یتیم ایجاد شده بودند، توانستند توکنهای انتشار npm قانونی را درخواست کنند.
یکی دیگر از قابلیتهای نگرانکننده شامل استقرار «سوئیچ مرد مرده» است. این بدافزار یک اسکریپت پوسته نصب میکند که هر ۶۰ ثانیه یکبار به طور مکرر از نقطه پایانی api.github.com/user نظرسنجی میکند تا مشخص کند که آیا توکنهای npm ایجاد شده توسط مهاجم فعال هستند یا خیر. این توکنها دارای توصیف تهدیدآمیز IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner هستند.
اگر مدافعان از طریق داشبورد npm توکن را لغو کنند، بدافزار یک روال مخرب با اجرای rm -rf ~/ راهاندازی میکند و عملاً آلودگی را به بدافزار پاککننده اطلاعات تبدیل میکند. این رفتار تهاجمی نشاندهنده تکامل قابل توجه در تاکتیکهای عملیاتی TeamPCP است و پیچیدگی فزایندهای را در روشهای تداوم اجباری نشان میدهد. بنابراین به تیمهای امنیتی توصیه میشود قبل از لغو اعتبارنامههای npm آسیبدیده، سیستمهای آلوده را ایزوله و از آنها ایمیج بگیرند.
بستههای آسیبدیده و گسترش تأثیر بر اکوسیستم
این کمپین بیش از ۱۷۰ بسته را در هر دو پلتفرم npm و PyPI تحت تأثیر قرار داده است که در مجموع بیش از ۵۱۸ میلیون دانلود را به خود اختصاص داده است. محققان همچنین حداقل ۴۰۰ مخزن ایجاد شده با استفاده از اعتبارنامههای سرقت شده را شناسایی کردند که همگی حاوی عبارت «Shai-Hulud: Here We Go Again» بودند.
بستههای آسیبپذیر شامل موارد زیر هستند:
guardrails-ai@0.10.1 (PyPI)
mistralai@2.4.6 (پایپیآی)
@opensearch-project/opensearch@3.5.3، 3.6.2، 3.7.0، 3.8.0
@squawk/mcp@0.9.5
@squawk/weather@0.5.10
@squawk/flightplan@0.5.6
@tallyui/connector-medusa@1.0.1، 1.0.2، 1.0.3
@tallyui/connector-vendure@1.0.1، 1.0.2، 1.0.3
این بدافزار همچنین از چندین کانال اضافی برای خروج اطلاعات استفاده میکند. علاوه بر زیرساخت پروتکل جلسه و گیتهاب، اطلاعات سرقتشده از طریق دامنه typosquatted git-tanstack.com منتقل میشوند.
بدافزار PyPI منطق مخرب Geofenced را معرفی میکند
انواع بدافزارهای مبتنی بر پایتون مرتبط با بستههای مخرب Mistral AI و Guardrails AI تفاوت قابل توجهی با بارهای داده جاوا اسکریپت توزیع شده از طریق npm دارند. بسته PyPI آسیبدیده mistralai یک دزد اطلاعات کاربری را از میزبان راه دور ۸۳.۱۴۲.۲۰۹.۱۹۴ دانلود میکند.
محققان کشف کردند که بدافزار پایتون حاوی منطق آگاه از کشور است که برای جلوگیری از اجرا در محیطهای روسیزبان طراحی شده است. همچنین شامل یک مکانیسم مخرب محصور در محدوده جغرافیایی است که اگر سیستم آلوده به نظر برسد که در اسرائیل یا ایران قرار دارد، احتمال اجرای rm -rf / را یک در شش میکند.
این رفتار، نشاندهندهی تکامل نگرانکنندهای به سمت استقرار بدافزارهای مخربِ آگاه از منطقه در اکوسیستمهای بستههای متنباز است.
تهدید رو به رشد حملات زنجیره تأمین مبتنی بر هویت
کمپین Mini Shai-Hulud نشاندهندهی تحولی گستردهتر در حملات زنجیرهی تأمین مدرن است. مهاجمان به جای تمرکز صرف بر روی نفوذ به بستههای اطلاعاتی، به طور فزایندهای هویتهای CI/CD معتبر، گردشهای کاری انتشار و خطوط اتوماسیون مبتنی بر ابر را هدف قرار میدهند.
به محض اینکه مهاجمان به زیرساخت انتشار نرمافزار دسترسی پیدا کنند، خودِ خط لوله توسعه به مکانیزم توزیع بدافزار تبدیل میشود. از آنجا که بسیاری از اقدامات مخرب از طریق گردشهای کاری مشروع، گواهیهای معتبر و سیستمهای انتشار معتبر رخ میدهند، کنترلهای امنیتی سنتی ممکن است در شناسایی رفتارهای مخرب شکست بخورند.
ویژگیهای کلیدی که این نسل جدید از حملات زنجیره تأمین را تعریف میکنند عبارتند از:
- سوءاستفاده از سازوکارهای انتشار و تبادل توکن OIDC معتبر
- انتشار از طریق گردشهای کاری مشروع CI/CD و سیستمهای ساخت
- استفاده از گواهیهای معتبر SLSA برای پنهان کردن بستههای مخرب
- عملیات استخراج و ماندگاری اعتبارنامههای چند کاناله
- مکانیسمهای تلافیجویانه مخرب که برای ارعاب مدافعان طراحی شدهاند
گسترش این کمپین در ابزارهای هوش مصنوعی، اتوماسیون سازمانی، زیرساخت جستجو، توسعه فرانتاند، ابزارهای مرتبط با هوانوردی و اکوسیستمهای CI/CD نشان میدهد که زنجیرههای تأمین نرمافزار چقدر عمیقاً به هم پیوسته شدهاند. نظارت رفتاری در طول نصب بسته و اجرای ساخت، اکنون برای تشخیص تهدیدهایی که در نگاه اول مشروع به نظر میرسند، به طور فزایندهای حیاتی است.