نکته مهم اینجاست که طبق گزارش خود TanStack، پکیجهای خانواده Query آلوده نبودهاند. بنابراین تیتر دقیق ماجرا این نیست که «React Query هک شد».
اتفاق اصلی در بخشی از اکوسیستم TanStack و از مسیر GitHub Actions، کش آلوده و فرآیند انتشار پکیجهای npm رخ داده است.
ماجرا از یک Pull Request ظاهراً عادی شروع شد. مهاجمها از یک الگوی خطرناک در GitHub Actions به نام pull_request_target سوءاستفاده کردند.
این workflow کدی را که از سمت یک fork بیرونی آمده بود اجرا کرد و همانجا مسیر آلودگی باز شد. کد مخرب مستقیماً همان لحظه پکیجی منتشر نکرد، بلکه cache مربوط به pnpm را آلوده کرد.
چند ساعت بعد، زمانی که یکی از maintainerهای اصلی TanStack یک تغییر سالم را merge کرد، release workflow رسمی اجرا شد. اما این workflow در زمان اجرا از همان cache آلوده استفاده کرد.
در این مرحله، بدافزار توانست از حافظه GitHub Actions Runner توکن OIDC را استخراج کند و با همان توکن، بدون اینکه npm token کسی دزدیده شده باشد، نسخههای آلوده را روی npm منتشر کند.
نتیجه این شد که در تاریخ ۱۱ می ۲۰۲۶، طی حدود ۶ دقیقه، ۸۴ نسخه آلوده از ۴۲ پکیج tanstack/* روی npm منتشر شد.
این نسخهها در زمان نصب با npm install، pnpm install یا yarn install میتوانستند روی سیستم توسعهدهنده یا محیط CI اجرا شوند و به دنبال اطلاعات حساسی مثل توکنهای AWS، GCP، Kubernetes، Vault، GitHub، npm، فایلهای .npmrc و کلیدهای SSH بگردند.
اهمیت این خبر دقیقاً همینجاست. این فقط یک باگ در یک کتابخانه فرانتاند نبود؛ یک نمونه جدی از حمله به زنجیره تأمین نرمافزار بود.
یعنی بهجای حمله مستقیم به اپلیکیشنها، مهاجم سراغ ابزارها و پکیجهایی رفته که هزاران پروژه به آنها اعتماد میکنند.
خوششانسی ماجرا این بود که نسخههای آلوده خیلی زود شناسایی شدند. حدود ۲۰ دقیقه بعد از انتشار، یک researcher خارجی الگوی مشکوک را گزارش کرد و تیم TanStack هم سریع وارد incident response شد.
نسخههای آلوده deprecated شدند، cacheها پاک شدند، دسترسیها محدود شد و موضوع با npm security پیگیری شد.
در نهایت بخشی از اکوسیستم TanStack از مسیر GitHub Actions و npm supply chain آلوده شده است.
اگر کسی در تاریخ ۱۱ می ۲۰۲۶ نسخههای affected را نصب کرده، باید سیستم نصبکننده را potentially compromised فرض کند و credentialهای مهم مثل GitHub، npm، AWS، GCP، Kubernetes، Vault و SSH را rotate کند.
@codehalics | کدهالیک
Post #605
603
کدهالیک | codehalic صبح زیباتون رو با خبر هک TanStack شروع کنیم؛ همون اکوسیستمی که React Query یا TanStack Query از دلش اومده. طبق گزارش Snyk، در حمله زنجیره تأمین npm، دهها پکیج @tanstack آلوده منتشر شده و هدف اصلی هم سرقت اطلاعات و توکنهای CI/CD بوده. https://tanstack.com/blog/npm…
- 👍 2