حملهی worm به TanStack و ۱۷۰+ بستهی npm/PyPI به سبک Shai-Hulud
یک کرم (worm) خودتکثیر به سبک حملهی Shai-Hulud سال ۲۰۲۵، بیش از ۱۷۰ بستهی npm و PyPI از جمله بستههای پراستفادهی TanStack را آلوده کرده است. کد مخرب credentials توسعهدهنده را سرقت میکند و سپس از همان credentials برای انتشار نسخههای آلودهی بستههای دیگر استفاده میکند.
ⓘ بهروزرسانی شد · ۵ خرداد ۱۴۰۵
مینا کریمی
@mina

ماجرا چه بود؟
در ۱۲ مه ۲۰۲۶، تیمهای امنیتی Socket، Snyk، و GitHub Security Lab بهطور همزمان یک کارزار حملهی زنجیرهی تأمین گسترده در ecosystem های npm و PyPI شناسایی کردند. این کارزار از یک کرم (worm) خودتکثیر استفاده میکند که در یک package آلوده شروع و سپس به بستههای دیگر اعتباردهندهی همان توسعهدهنده گسترش مییابد.
این رویکرد مشابه حملهی Shai-Hulud در سپتامبر ۲۰۲۵ است (که با ارجاع به کرم Dune نامگذاری شد). بستههای متأثر شامل بخشهایی از TanStack (یکی از پرکاربردترین toolkit های React)، چندین بستهی AWS SDK نوع third-party، و بیش از ۱۷۰ بستهی دیگر میشوند.
جزئیات فنی
زنجیرهی attack:
- مهاجم با phishing یا session hijacking به حساب یک توسعهدهندهی محبوب در npm دسترسی پیدا میکند.
- یک نسخهی patch (مثلاً 4.2.5 → 4.2.6) از بستهی legitimate خود را با کد مخرب اضافی publish میکند.
- این کد مخرب در preinstall script هنگام
npm installاجرا میشود. - متغیرهای محیطی شامل
NPM_TOKEN,GITHUB_TOKEN,AWS_*را به یک C2 ارسال میکند. - اگر
NPM_TOKENیافت شد، script سعی میکند نسخهی آلودهی همهی بستههای منتشرشده توسط این توسعهدهنده را publish کند — کرم گسترش مییابد.
تعداد downloads بستههای آلوده در ۲۴ ساعت اول حمله: تخمین ۱.۸ میلیون.
تأثیر و واکنش
npm و PyPI ظرف ۶ ساعت، نسخههای شناختهشدهی آلوده را yank کردند. GitHub همهی tokens مرتبط با حسابهای compromised را invalidate کرد. اما اثرات ممکن است ادامه داشته باشد چون token های AWS و GitHub که قبلاً سرقت شده، هنوز برای مهاجمان قابل استفاده هستند.
این حادثه دوباره نشان داد که ecosystem های package manager بدون تغییرات اساسی در امنیت، در برابر چنین حملاتی آسیبپذیر هستند.
توصیههای امنیتی
- در همهی CI/CD، استفاده از
npm ci(نهnpm install) برای استفاده از package-lock.json دقیق. - pin کردن dependencies به نسخههای exact، نه semver ranges.
- استفاده از
npm packو audit دستی هر بستهی critical قبل از deploy. - ScopedTokens برای npm — هر CI job باید توکن جداگانه با scope محدود داشته باشد.
- monitor فعالیت npm publish روی حسابهای توسعهدهنده با alerts.
- در سطح enterprise، استفاده از Artifactory/Nexus بهعنوان proxy و pin به registry داخلی.
منابع
منابع
نظرات
- در حال بارگذاری…
ثبت نظر
برای ثبت نظر اطلاعات زیر را پر کنید.

نفوذ به زنجیرهی تأمین Trivy: infostealer از طریق Docker پخش شد
Trivy — اسکنر متنباز محبوب آسیبپذیری از شرکت Aqua Security — هدف یک حملهی زنجیرهی تأمین قرار گرفت. نسخهی آلودهی Docker image در رجیستری رسمی منتشر شد و یک infostealer در محیط CI/CD سازمانهای قربانی نصب کرد. CVE-2026-33634 برای ردیابی این حادثه ثبت شد.



