
🛡️ CVE-2026-45321 के लिए एक-कमांड स्कैनर — TanStack npm आपूर्ति-श्रृंखला हमला
एक-कमांड सप्लाई-चेन हमला स्कैनर CVE-2026-45321 / GHSA-g7cv-rxg3-hmpx के लिए
42 @tanstack/* npm पैकेजों (84 दुर्भावनापूर्ण संस्करण) से 11 मई, 2026 को समझौता करने वाले "Mini Shai-Hulud" वर्म का पता लगाता है।
# One line — scan your project
curl -fsSL https://raw.githubusercontent.com/Caixa-git/tanstack-shield/main/tanstack-shield.sh | bash
# Scan specific directory
curl -fsSL https://raw.githubusercontent.com/Caixa-git/tanstack-shield/main/tanstack-shield.sh | bash -s -- /path/to/project
# Download and use directly
git clone https://github.com/Caixa-git/tanstack-shield.git
cd tanstack-shield
python3 tanstack-shield.py .
11 मई, 2026 को, एक हमलावर ने तीन ज्ञात कमजोरी वर्गों — pull_request_target (Pwn Request) गलत कॉन्फ़िगरेशन, GitHub Actions कैश पॉइज़निंग, और OIDC टोकन मेमोरी एक्सट्रैक्शन — को जोड़कर TanStack के विश्वसनीय npm पहचान के तहत 42 @tanstack/* पैकेजों में 84 दुर्भावनापूर्ण संस्करण प्रकाशित किए।
मैलवेयर ने क्रेडेंशियल्स (GitHub टोकन, npm टोकन, SSH कुंजियाँ, AWS/GCP/Kubernetes/Vault) एकत्र किए, उन्हें Session मैसेंजर के माध्यम से बाहर निकाला, और पीड़ित द्वारा रखे गए अन्य पैकेजों में स्व-प्रसार किया।
उसी अभियान ने Mistral AI (npm + PyPI), UiPath (65 पैकेज), OpenSearch (1.3M साप्ताहिक npm डाउनलोड), और 170+ कुल npm पैकेजों के साथ-साथ 2 PyPI पैकेजों को भी प्रभावित किया।
रीड-ओनली स्कैनर जो आपके प्रोजेक्ट की जाँच करता है:
नोट: लॉकफ़ाइलें केवल प्रोजेक्ट रूट पर स्कैन की जाती हैं। यदि आप उपनिर्देशिकाओं में लॉकफ़ाइलों वाले मोनोरेपो का उपयोग कर रहे हैं (जैसे packages/web/package-lock.json), तो स्कैनर को प्रत्येक वर्कस्पेस के अंदर चलाएँ, या मोनोरेपो रूट से जहाँ शीर्ष-स्तरीय लॉकफ़ाइल रहती है।
@tanstack/* package.json में मिला। अपनी लॉकफ़ाइल जाँचें।⚠️ महत्वपूर्ण: यह मैलवेयर एक क्रेडेंशियल चुराने वाला है, पीसी को नष्ट करने वाला वायरस नहीं। यदि 🔴 का पता चला है:
curl -fsSL https://raw.githubusercontent.com/Caixa-git/tanstack-shield/main/tanstack-shield.sh | bash -s -- --json
यह उपकरण रीड-ओनली है। यह आपके सिस्टम पर कभी फ़ाइलें नहीं बनाता, संशोधित या हटाता नहीं है।
MIT
| क्या | फ़ाइलें | परिणाम |
|---|
| npm लॉकफ़ाइल | package-lock.json, npm-shrinkwrap.json | 🔴 सटीक दुर्भावनापूर्ण संस्करण मिलान |
| pnpm लॉकफ़ाइल | pnpm-lock.yaml | 🔴 सटीक दुर्भावनापूर्ण संस्करण मिलान |
| yarn लॉकफ़ाइल | yarn.lock | 🔴 सटीक दुर्भावनापूर्ण संस्करण मिलान |
| मैनिफ़ेस्ट निर्भरताएँ | package.json (root + workspaces) | 🟡 पैकेज उपस्थिति चेतावनी |
| मैलवेयर फिंगरप्रिंट | @tanstack/setup in optionalDependencies | 🔴 पुष्टि किया गया मैलवेयर |
| संदिग्ध git निर्भरताएँ | github:tanstack/router#<commit> | 🔴 पुष्टि किया गया मैलवेयर |
| लाइफ़साइकल स्क्रिप्ट्स | prepare with bun + router_init | 🔴 पुष्टि किया गया मैलवेयर |
| node_modules | node_modules/@tanstack/* (fallback) | 🔴 सटीक संस्करण मिलान |