کرم Mini Shai-Hulud برگشت: حمله زنجیره تأمین به پکیجهای TanStack
خلاصهٔ کاملتر
گروه تهدید TeamPCP موج جدیدی از کرم Mini Shai-Hulud رو راهاندازی کرده که پکیجهای متعدد npm رو آلوده کرده. این کرم یک بدافزار خودانتشاردهنده (worm) واقعیه — یعنی بعد از نفوذ به یک پایپلاین CI/CD، تمام پکیجهایی که اون نگهدارنده کنترل میکنه رو شناسایی و نسخههای آلودهشون رو منتشر میکنه.
مهمترین قربانی این حمله پروژه TanStack بود. مهاجم با زنجیر کردن سه تکنیک — یک آسیبپذیری pull_request_target معروف به Pwn Request، مسمومسازی کش GitHub Actions، و استخراج توکن OIDC از حافظه runner — توانست ۸۴ نسخه مخرب از ۴۲ پکیج مختلف @tanstack رو منتشر کنه. TanStack یک post-mortem رسمی درباره این حادثه منتشر کرده و StepSecurity رو بهعنوان کاشف رسمی این نقض معرفی کرده.
یکی از نگرانکنندهترین جنبههای این حمله اینه که پکیجهای آلوده دارای attestation معتبر SLSA Build Level 3 هستن. SLSA (چارچوبی برای تضمین امنیت زنجیره تأمین نرمافزار) قراره تأیید کنه که یک پکیج از کجا و چطور ساخته شده — اما چون مهاجم از پایپلاین رسمی خود پروژه استفاده کرده، این تأییدیهها هم معتبر به نظر میرسن. این اولین بار در تاریخ npmه که یک کرم با تأیید رسمی منتشر میشه.
پیلود ۲.۳ مگابایتی و ابهامگذاریشده این بدافزار کارهای زیادی انجام میده: حافظه پروسه GitHub Actions runner رو میخونه تا تمام secretها رو بدزده، از بیش از ۱۰۰ مسیر فایل مختلف شامل ابزارهای cloud، کیف پولهای رمزارز، ابزارهای هوش مصنوعی و اپهای پیامرسان credential استخراج میکنه، و hookهای persistence رو در Claude Code، VS Code و سرویسهای سطح سیستمعامل نصب میکنه که بعد از ریبوت هم باقی میمونن.
دادههای دزدیدهشده رمزگذاری و از طریق CDN پروتکل Session و GraphQL API خود GitHub ارسال میشن. جالبه که کامیتهای dead-drop با ایمیل claude@users.noreply.github.com ثبت و با نام شاخههایی شبیه به Dependabot، الهام گرفته از دنیای داستانی Dune فرانک هربرت، پنهان میشن.
این حمله فراتر از TanStack گسترش یافته و پکیجهایی از UiPath، DraftLab، Mistral و دهها منبع دیگه رو هم آلوده کرده. اگه هر یک از نسخههای آلوده رو نصب کردین، باید فرض کنید تمام secretهایی که در اون محیط قابل دسترس بودن به خطر افتادن و باید فوری تعویض بشن.
نکات کلیدی:
- کرم Mini Shai-Hulud با دزدیدن توکن OIDC از GitHub Actions، پکیجها رو از طریق پایپلاین رسمی خود پروژه آلوده میکنه
- اولین کرم npm در تاریخه که پکیجهای آلودهاش دارای تأیید رسمی SLSA Build Level 3 هستن
- بدافزار در Claude Code، VS Code و سرویسهای OS persistence ایجاد میکنه
- دادههای دزدیدهشده از طریق GraphQL API خود GitHub exfiltrate میشن
- بیش از ۴۲ پکیج @tanstack و دهها پکیج از UiPath، DraftLab و Mistral آلوده شدن
- اگر نسخه آلوده نصب کردین، فوری تمام secretها رو تعویض کنید




