Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
npm-incident-response — keyv/cacheable सप्लाई-चेन हमले के लिए स्कैनर: समझौता किए गए npm पैकेजों का पता लगाता है, पेलोड हैश सत्यापित करता है, और रेपो और होस्ट मोड में पर्सिस्टेंस इम्प्लांट ढूंढता है। | Kitploit
उपकरण/GitHubGitHub/securest8/npm-incident-response
भेद्यता स्कैनरस्थायित्व तंत्रमालवेयर विश्लेषणडिजिटल फोरेंसिकआपूर्ति श्रृंखला सुरक्षाघटना प्रतिक्रिया
GitHubsecurest8/npm-incident-response

npm-incident-response

keyv/cacheable सप्लाई-चेन हमले के लिए स्कैनर: समझौता किए गए npm पैकेजों का पता लगाता है, पेलोड हैश सत्यापित करता है, और रेपो और होस्ट मोड में पर्सिस्टेंस इम्प्लांट ढूंढता है।

रिपॉजिटरी देखें
21181 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

npm-incident-response

अंग्रेज़ी | Português

keyv/cacheable सप्लाई-चेन घटना ("Shai-Hulud: Here We Go Again", 4 अगस्त 2026) के लिए स्टैंडअलोन स्कैनर — 440+ npm पैकेज एक स्व-प्रसार वर्म द्वारा समझौता किए गए हैं जो क्लाउड/CI क्रेडेंशियल्स चुराता है और डेड-मैन स्विच के साथ पर्सिस्टेंस स्थापित करता है।

मिनटों में और कुछ भी इंस्टॉल किए बिना पता लगाता है:

  • समझौता किए गए पैकेज package-lock.json, npm-shrinkwrap.json, yarn.lock (v1 और Berry), pnpm-lock.yaml और bun.lock में — ट्रांज़िटिव डिपेंडेंसी सहित, पूरी चेन के साथ (जैसे eslint → file-entry-cache → flat-cache → [email protected]);
  • इंस्टॉल किए गए पेलोड node_modules में (ज्ञात आर्टिफैक्ट्स का नाम + SHA-256 हैश);
  • IOC सूचियों पर अभी तक न मौजूद वैरिएंट (ह्यूरिस्टिक: संदिग्ध लाइफसाइकल स्क्रिप्ट, वर्म के नाम वाली फ़ाइलें) — हमेशा SUSPECT चिह्नित, बिना हैश के कभी पुष्टि नहीं;
  • होस्ट पर्सिस्टेंस इम्प्लांट्स: LaunchAgent (macOS), systemd यूज़र सर्विस + linger (Linux), .claude/settings.json और .vscode/tasks.json में हुक, अस्थायी आर्टिफैक्ट्स (bun-dl-*);
  • डेड-मैन स्विच: इम्प्लांट एक GitHub टोकन की निगरानी करता है और जब रिवोकेशन 4xx लौटाता है तो एक रिमोट कमांड चलाता है। होस्ट को साफ़ करने से पहले क्रेडेंशियल्स रोटेट करना जाल को ट्रिगर करता है — रिपोर्ट आपको सचेत करती है, और नीचे दिया गया प्रतिक्रिया क्रम इस गलती से बचाता है।

हमले को समझें

  1. keyv/cacheable परिवारों का मेंटेनर खाता समझौता किया गया; हमलावर ने "preinstall": "node setup.mjs" हुक के साथ नए वर्शन प्रकाशित किए — वह कोड जो पैकेज इंस्टॉल होने से पहले चलता है, उसी के विशेषाधिकारों के साथ जिसने npm install चलाया।
  2. setup.mjs GitHub से Bun रनटाइम डाउनलोड करता है और उसमें पेलोड चलाता है — उन टूल्स से बचाव जो केवल node प्रोसेस की निगरानी करते हैं।
  3. Math_Symbol.js (~728 KB, ऑबफस्केटेड) क्रेडेंशियल्स चुराता है: AWS इंस्टेंस मेटाडेटा, AWS/GCP/Azure कुंजियाँ, Vault टोकन, Kubernetes सर्विस अकाउंट, GitHub Actions सीक्रेट, npm टोकन, साथ ही डिस्क पर प्राइवेट कुंजियों और bearer टोकन के लिए एक सामान्य regex स्वीप।
  4. यह एक वर्म है: चुराए गए npm टोकन के साथ, यह उसी हुक को अन्य पैकेजों में इंजेक्ट करता है जिन्हें वह पहचान प्रकाशित कर सकती है, इंटीग्रिटी हैश की पुनर्गणना करता है और पुनः प्रकाशित करता है। इसी तरह यह ~10 से सैकड़ों पैकेजों तक पहुंचा।
  5. यह बिना फिक्स्ड C2 के डेटा बाहर निकालता है (मौके पर बनाए गए GitHub रिपॉजिटरी, DNS) और पीछे एक जाल छोड़ता है — नीचे देखें।

दो वेक्टर (दूसरा अधिक सूक्ष्म है)

  • वेक्टर A — इंस्टॉल: कोई भी जिसने 2026-08-04 09:35 UTC से लाइफसाइकल स्क्रिप्ट सक्षम रखते हुए npm install/npm ci चलाया। --ignore-scripts के साथ, हुक नहीं चला।
  • वेक्टर B — क्लोन: सोर्स रिपॉजिटरी को .claude/settings.json (SessionStart) और .vscode/tasks.json (folderOpen) में ऑटोस्टार्ट हुक मिले जो क्लोन किए गए फ़ोल्डर को खोलने पर लोडर चलाते हैं — न कोई npm install, न कुछ इंस्टॉल हुआ। इसमें वे लोग शामिल हैं जिन्होंने घटना की जांच करने के लिए रिपो क्लोन की और AI कोडिंग एजेंट जिन्होंने डायरेक्टरी खोली — AI-एजेंट हुक (.claude/) को सप्लाई-चेन वेक्टर के रूप में उपयोग किए जाने के पहले सार्वजनिक मामलों में से एक।

जाल (डेड-मैन स्विच)

इम्प्लांट एक "वॉचर" (gh-token-monitor) इंस्टॉल करता है जिसे LaunchAgent (macOS) या systemd यूज़र सर्विस + loginctl enable-linger (Linux) जीवित रखता है। हर 60 सेकंड में यह चुराए गए GitHub टोकन को API के विरुद्ध मान्य करता है। जब तक टोकन काम करता है, कुछ नहीं होता। जब प्रतिक्रिया 4xx हो जाती है — यानी जिस क्षण आप टोकन रिवोक करते हैं — यह eval के माध्यम से ~/.config/gh-token-monitor/handler की सामग्री चलाता है: हमलावर द्वारा रिमोट से परिभाषित एक मनमाना कमांड। सार्वजनिक विश्लेषण नहीं जानता कि इसमें क्या है — यह डेटा विनाश, पुनः-इम्प्लांटेशन, रैंसमवेयर या कुछ भी नहीं हो सकता। जोखिम का आकलन संभव नहीं है; इसीलिए प्रतिक्रिया क्रम अनिवार्य है।

तीन गुण जो प्रतिक्रिया बदलते हैं:

  • नेटवर्क को आइसोलेट करना सुरक्षित है: कनेक्टिविटी न होने पर कोई HTTP प्रतिक्रिया नहीं होती, इसलिए कोई 4xx नहीं — जाल नहीं चलता, और डेटा बाहर निकालना रुक जाता है। पहले आइसोलेट करें, पावर ऑफ न करें (वोलेटाइल मेमोरी साक्ष्य है)।
  • यह सिंगल-शॉट है और चलने के बाद स्वयं-साफ़ हो जाता है — व्यवहार बिना स्पष्टीकरण के रह जाता है, जांच के लिए कोई आर्टिफैक्ट नहीं बचता।
  • ~24h TTL: वॉचर एक दिन बाद स्वयं-नष्ट हो जाता है। आर्टिफैक्ट्स की अनुपस्थिति यह साबित नहीं करती कि मशीन साफ़ थी — स्कैनर host मोड में इस बारे में चेतावनी देता है।

सामान्य बचाव इसे आमतौर पर क्यों चूक जाते हैं

  • "सिग्नेचर मान्य था" — [email protected] पासिंग SLSA अटेस्टेशन के साथ भेजा गया था। प्रोवेनेंस बिल्ड इंटीग्रिटी की पुष्टि करता है, सोर्स की नहीं: वैध वर्कफ़्लो ने पहले से ट्रोजनाइज़्ड कोड को संकलित किया।
  • "कोड डिफ़ नहीं बदला" — सही: लाइब्रेरी स्वयं संशोधित नहीं हुई। दुर्भावना package.json के preinstall हुक और पैकेज में जोड़ी गई दो नई फ़ाइलों (setup.mjs, Math_Symbol.js) में है।
  • "हम keyv का उपयोग नहीं करते" — आप करते हैं, अप्रत्यक्ष रूप से: सबसे सामान्य चेन eslint → file-entry-cache → flat-cache → keyv है। इसीलिए स्कैनर हर निष्कर्ष में चेन दिखाता है।
  • "किसी ने npm install नहीं चलाया" — अपर्याप्त: वेक्टर B देखें।

इस रिपॉजिटरी में स्क्रिप्ट क्या है

scan.mjs में निम्नलिखित गुण हैं — सप्लाई-चेन घटना का जवाब देने वाले किसी भी व्यक्ति के लिए महत्वपूर्ण:

  • एक एकल फ़ाइल, ~880 पठनीय पंक्तियाँ, शून्य डिपेंडेंसी। कोई npm install नहीं। इसे चलाने से पहले 15 मिनट में पूरे scan.mjs का ऑडिट करें।
  • शून्य एग्रेस। कोई डेटा आपकी मशीन से बाहर नहीं जाता। कोई टेलीमेट्री नहीं, कोई "विश्लेषण के लिए परिणाम भेजें" नहीं। एकमात्र नेटवर्क ऑपरेशन --update है (एक ताज़ा IOC मेनिफेस्ट डाउनलोड करना), स्पष्ट और वैकल्पिक।
  • रीड-ओनली। स्कैनर जो कुछ भी पाता है उसे संशोधित, हटाता या निष्पादित नहीं करता।
  • ऑफ़लाइन काम करता है। docker run --network=none या एक आइसोलेटेड मशीन: बस scan.mjs + iocs.json कॉपी करें।

इसे अपनी कंपनी में कैसे उपयोग करें

आवश्यकता: Node.js ≥ 18 (npm वाली किसी भी मशीन पर यह पहले से मौजूद है)। दो फ़ाइलें डाउनलोड करें — scan.mjs + iocs.json — और बस: कोई इंस्टॉलेशन नहीं।

सावधानी: यदि आपने यह पूरी रिपॉजिटरी क्लोन की है, तो fixtures/ फ़ोल्डर में परीक्षणों में उपयोग किए गए निष्क्रिय IOC हैं (वास्तविक नाम और वर्शन, डमी सामग्री — कोई मैलवेयर नहीं)। स्कैनर इसे स्वचालित रूप से छोड़ देता है और आउटपुट में चेतावनी देता है; इससे प्राप्त निष्कर्ष केवल तभी दिखाई देते हैं यदि आप इसे जानबूझकर स्कैन करते हैं।

दो रन मोड हैं जो अलग-अलग प्रश्नों के उत्तर देते हैं, और यही तय करता है कि कहाँ चलाना है:

  • repo मोड लॉकफ़ाइल्स और node_modules पढ़ता है — और लॉकफ़ाइल्स git में रहती हैं, इसलिए इसे केंद्रीकृत किया जा सकता है: एक व्यक्ति कंपनी की हर रिपॉजिटरी को स्कैन करता है।
  • host मोड इम्प्लांट (वॉचर, LaunchAgent/systemd, IDE हुक) की तलाश करता है, जो उस मशीन पर रहता है जहाँ कोड निष्पादित हुआ — यह git में नहीं है और इसे केंद्रीकृत नहीं किया जा सकता।

चरण 1 — AppSec सभी रिपॉजिटरी स्कैन करता है (एक व्यक्ति, एक मशीन)

node scan.mjs repo /folder/with/all/the/repos --json=result.json --html=report.html

मिनटों में उत्तर देता है कि "कौन से प्रोजेक्ट एक्सपोज़्ड हैं", बिना किसी को शामिल किए। कई पथ स्वीकार करता है; उपनिर्देशिकाओं में जाता है (मोनोरेपो और वर्कस्पेस सहित)।

चरण 2 — प्रभावित प्रोजेक्ट्स पर काम करने वाला कोई भी व्यक्ति अपनी मशीन स्कैन करता है

निष्कर्ष वाले प्रत्येक प्रोजेक्ट के लिए, पहचानें कि 2026-08-04 09:35 UTC से किसने इसे छुआ (git log, CI लॉग)। वे लोग अपनी मशीन पर चलाते हैं:

node scan.mjs        # current directory + host, in ~30 seconds

दायरे में: कोई भी जिसने (a) उस अवधि में npm install/npm ci चलाया; या (b) केवल क्लोन किया और फ़ोल्डर को VS Code या AI एजेंट में खोला — वेक्टर B को किसी इंस्टॉल की आवश्यकता नहीं है।

टूल डाउनलोड करें