NPM वर्म की वापसी और यह बहुत बदतर है (TanStack हैक हो गया)
BBetter Stack
Computing/SoftwareManagementInternet Technology
Transcript
00:00:00शाई हुलुद अपने चौथे सीक्वल के साथ वापस आ गया है।
00:00:02इस बार यह टैनस्टैक (TanStack) जैसे पैकेजों को निशाना बना रहा है,
00:00:04मेरे नेक्स्ट.जेएस (Next.js) पर वीडियो पब्लिश करने के कुछ ही घंटों बाद,
00:00:07जो कि मेरी तरफ से बेहतरीन टाइमिंग थी।
00:00:08यह वास्तव में एक बहुत बड़ा एनपीएम (NPM) सप्लाई चेन हमला है
00:00:11जो सिर्फ TanStack से कहीं ज़्यादा को प्रभावित करता है।
00:00:13इसमें यूआईपाथ (UiPath), मिस्ट्रल (Mistral) जैसे पैकेज भी शामिल हैं,
00:00:15और 160 अन्य पैकेज,
00:00:17यहाँ तक कि गार्डरेल्स डॉट एआई (Guardrails.ai) जैसे पाइपी (PyPy) पैकेज भी।
00:00:20इस हमले को और भी दिलचस्प बनाने वाली बात
00:00:22यह है कि इसमें एक डेडमैन स्विच शामिल था,
00:00:24ताकि अगर यह पता चले कि आपने चोरी की गई कुंजियों (keys) को बदल दिया है,
00:00:26तो यह आपके पूरे पीसी को मिटा देगा,
00:00:28और इसमें कुछ वैश्विक राजनीति भी शामिल थी।
00:00:30तो चलिए शुरुआत करते हैं।
00:00:36इस सीक्वल के लिए, 'द वर्म' का लक्ष्य वही है,
00:00:39डेवलपर मशीनों और सीआईसीडी (CICD) रनर्स से क्रेडेंशियल्स चुराना,
00:00:42फिर उन क्रेडेंशियल्स का उपयोग करके और अधिक पैकेजों तक पहुँचना।
00:00:44TanStack के लिए, इसका मतलब था 84 दुर्भावनापूर्ण वर्ज़न पब्लिश करना
00:00:47केवल कुछ ही मिनटों में 42 TanStack पैकेज के ज़रिए।
00:00:51अब, मैं आपको बताऊंगा कि वे
00:00:52शुरुआत में TanStack को कैसे संक्रमित करने में कामयाब रहे,
00:00:54लेकिन पहले देखते हैं कि यह मैलवेयर क्या करता है
00:00:56अगर आप इन प्रभावित पैकेज में से कोई एक इंस्टॉल करें।
00:00:58दुर्भावनापूर्ण पैकेज के अंदर,
00:00:59आपको routerinit.js नाम की एक नई फ़ाइल मिलेगी,
00:01:02साथ ही एक इंजेक्ट की गई वैकल्पिक निर्भरता (optional dependency),
00:01:04जो उस लिंक पर ले जाती है जो देखने में
00:01:05एक वैध TanStack राउटर GitHub लिंक जैसा लगता है,
00:01:08लेकिन यह वास्तव में हमलावर के फोर्क (fork) पर एक अनाथ कमिट है।
00:01:10GitHub फोर्क लिंक को इसी तरह हैंडल करता है,
00:01:13इसलिए यूआरएल (URL) वास्तव में ऐसा दिख सकता है
00:01:14जैसे कि यह मूल प्रोजेक्ट का हिस्सा है,
00:01:16भले ही कमिट वास्तव में एक फोर्क से हो।
00:01:18उस फोर्क में, एक लाइफसाइकिल स्क्रिप्ट है,
00:01:20'prepare', जो bun run task runner JS चलाती है,
00:01:22और अंत में exit 1 है।
00:01:24यह वैकल्पिक निर्भरता को विफल करने का एक चालाक तरीका है
00:01:27पेलोड के चल जाने के बाद,
00:01:28ताकि इंस्टाल सामान्य रूप से चलता रहे,
00:01:30और यह आपके इंस्टाल लॉग्स में कम स्पष्ट निशान छोड़ता है।
00:01:33साथ ही, आपने गौर किया होगा कि यह उस
00:01:35routerinit.js फाइल को नहीं चला रहा है जिसके बारे में मैंने कहा था
00:01:37कि उसे पैकेजों में शुरू में डाला गया था,
00:01:38लेकिन अभी के लिए, बस इन दोनों फाइलों को
00:01:40अलग-अलग नामों के साथ बिल्कुल एक ही भूमिका निभाते हुए सोचें।
00:01:42संक्षेप में कहें तो, जब आप इसे इंस्टॉल करते हैं,
00:01:44तो यह स्क्रिप्ट चलेगी।
00:01:46पहली चीज जो यह स्क्रिप्ट करने की कोशिश करती है,
00:01:47वह खुद को स्पष्ट इंस्टाल प्रवाह से अलग करना है,
00:01:50इसलिए यह जांचेगी कि क्या यह पहले से ही
00:01:51बैकग्राउंड में चल रही है, और यदि नहीं,
00:01:53तो यह खुद की एक अलग कॉपी फोर्क करती है
00:01:54और पैरेंट स्क्रिप्ट से सफाई से बाहर निकल जाती है।
00:01:57इस तरह, आपके एनपीएम इंस्टाल लॉग्स
00:01:58स्क्रिप्ट का कोई भी आउटपुट नहीं दिखाते हैं
00:02:00क्योंकि मैलवेयर ने अब खुद को उस प्रक्रिया से
00:02:01अलग कर लिया है और बैकग्राउंड में चल रहा है।
00:02:04इसके बाद, यह बहुत ही चतुर काम करता है।
00:02:06यह खुद की कॉपियां
00:02:07आपके क्लॉड कोड (Claude Code) हुक्स डायरेक्टरी में लिखता है,
00:02:08फिर आपकी क्लॉड सेटिंग्स को कॉन्फ़िगर करता है
00:02:10ताकि जब भी आप उस प्रोजेक्ट में क्लॉड कोड का उपयोग करें,
00:02:12तो यह हुक चले।
00:02:13इस तरह, यह मूल इंस्टाल के बाद भी जीवित रह सकता है
00:02:16और हर बार जब आप उस प्रोजेक्ट में
00:02:17क्लॉड कोड खोलते हैं तो फिर से ट्रिगर होता रहता है।
00:02:20यह वास्तव में वीएस कोड (VS Code) के टास्क रनर के साथ भी ऐसा ही करता है,
00:02:22उसमें खुद को डुप्लिकेट कर लेता है,
00:02:23इसलिए यदि आप वीएस कोड की वर्कस्पेस ऑटो-रन सुविधाओं का उपयोग करते हैं,
00:02:26तो आपको बिल्कुल वही समस्या होती है।
00:02:28यह 'गिटहब टोकन मॉनिटर' नामक एक ओएस-स्तर (OS-level) की सेवा भी
00:02:29जिसे GitHub टोकन मॉनिटर कहा जाता है,
00:02:31लेकिन हम उस पर वापस आएंगे
00:02:32क्योंकि वह बिल्कुल शैतानी है।
00:02:34यह भी काफी शैतानी है
00:02:35कि आपने अभी तक सब्सक्राइब नहीं किया है।
00:02:37अगली चीज जो पेलोड करता है
00:02:38वह आपकी साख चुराने का काम शुरू करता है,
00:02:40और यह सब कुछ आजमाता है।
00:02:41GitHub एक्शन्स में, यह साख की तलाश करता है
00:02:43और रनर एनवायरमेंट में सीक्रेट्स की।
00:02:45विशेष रूप से, GitHub एक्शन्स
00:02:47रनर वर्कर प्रोसेस मेमोरी को खंगालना
00:02:48आपके वर्कफ़्लो सीक्रेट्स के लिए
00:02:50जिसमें मास्क किए गए सीक्रेट्स शामिल हैं,
00:02:52और यह एक नकली कोड QL जैसा GitHub वर्कफ़्लो भी डालता है
00:02:55जो आपके रिपो सीक्रेट्स को सीरियलाइज़ करता है
00:02:57और उन्हें बाद में निकाल (exfiltrate) लेता है।
00:02:58यह एडब्ल्यूएस (AWS) सीक्रेट्स को भी ढूंढता है,
00:03:00पहले आपके पर्यावरण वेरिएबल्स
00:03:02और स्थानीय कॉन्फ़िगरेशन फाइलों के पीछे जाता है,
00:03:03लेकिन फिर यह एडब्ल्यूएस मेटाडेटा सेवाओं के पीछे भी जाता है
00:03:06जैसे IMDS v2 और ECS टास्क मेटाडेटा।
00:03:09कुबेरनेट्स (Kubernetes) के लिए, यह सर्विस अकाउंट टोकन चुराता है
00:03:11और सर्टिफिकेट्स, जो इसे इन-क्लस्टर एपीआई एक्सेस की अनुमति देते हैं
00:03:14उन भूमिका-आधारित एक्सेस कंट्रोल (RBAC) विशेषाधिकारों के लिए
00:03:17जो उस पॉड के सर्विस अकाउंट के पास थे,
00:03:19जो खराब तरीके से कॉन्फ़िगर किए गए क्लस्टर्स में
00:03:21अत्यंत व्यापक हो सकते हैं,
00:03:22कभी-कभी प्रभावी रूप से एडमिन भी।
00:03:24और इसे और भी बुरा बनाने के लिए,
00:03:25यह हैशीकॉर्प वॉल्ट (HashiCorp Vault) के पीछे भी जाता है,
00:03:27आपके सभी वॉल्ट-संबंधित पर्यावरण वेरिएबल्स को इकट्ठा करता है
00:03:29और टोकन,
00:03:30फिर जो भी कुबेरनेट्स एक्सेस इसके पास है उसका उपयोग करके
00:03:32आपके सभी वॉल्ट-प्रबंधित सीक्रेट्स प्राप्त करता है।
00:03:34और यह सब कुछ वही है जो यह
00:03:35आपके सीआई डिप्लॉयमेंट के लिए करता है।
00:03:37यदि यह आपके वर्कस्टेशन पर है,
00:03:38तो यह आपकी सभी एसएसएच (SSH) कुंजियों के पीछे जाता है,
00:03:39आपके एनपीएम क्रेडेंशियल्स,
00:03:41आपके गिट (Git) क्रेडेंशियल्स,
00:03:42शेल हिस्ट्री,
00:03:43क्लाउड प्रदाता क्रेडेंशियल्स,
00:03:44क्रिप्टो कुंजियाँ,
00:03:45सिग्नल (Signal),
00:03:45स्लैक (Slack),
00:03:45और डिस्कॉर्ड (Discord) फाइलें।
00:03:46और उन सबके ऊपर,
00:03:47यह आपकी क्लॉड कोड सत्र हिस्ट्री निकालता है।
00:03:49इसलिए यदि आपने कभी क्लॉड क्रेडेंशियल्स दिए हैं
00:03:51या इसे उन फाइलों को पढ़ने दिया है जिनमें क्रेडेंशियल्स हैं,
00:03:53तो इसके पास उन तक भी पहुंच है।
00:03:55तो हाँ, जैसा कि मैंने कहा,
00:03:56वे उन सभी चीजों के पीछे थे
00:03:57जिन पर वे अपना हाथ रख सकते थे,
00:03:58और फिर वे इस डेटा को
00:04:00सेशन मैसेंजर नेटवर्क के माध्यम से निकालते (exfiltrate) थे।
00:04:02और बैकअप के रूप में,
00:04:02वे इस चोरी किए गए डेटा को गिटहब रिपोस में
00:04:04गिटहब (GitHub) रिपोज़ में।
00:04:05और उनके सभी हमलों की थीम के अनुसार,
00:04:07इन ब्रांचों का नाम 'ड्यून' (Dune) के संदर्भों पर रखा गया है।
00:04:09तो इसने आपके क्रेडेंशियल्स चुरा लिए।
00:04:11इससे बुरा और क्या हो सकता है, है ना?
00:04:12खैर, हाँ।
00:04:13हाँ, हो सकता है।
00:04:14इन सबके ऊपर,
00:04:15अगर आपको वह सर्विस याद हो
00:04:16जो मैंने कहा था कि यह आपकी मशीन पर सेट करता है,
00:04:18खैर, वह आपके गिटहब टोकन्स की निगरानी करता है
00:04:19और उन्हें बार-बार निकालता रहता है।
00:04:21लेकिन हर मिनट,
00:04:22यह जांचता है कि क्या टोकन अभी भी मान्य है।
00:04:24और यदि नहीं,
00:04:25तो यह आपकी यूजर डायरेक्टरी पर RMRF चलाता है,
00:04:27सब कुछ मिटा देता है।
00:04:28यह आपके क्रेडेंशियल्स के साथ
00:04:30एक एनपीएम टोकन बनाने की भी कोशिश करता है,
00:04:31इस विवरण के साथ,
00:04:32यदि आप इस टोकन को रद्द करते हैं,
00:04:33तो हम मालिक के कंप्यूटर को मिटा देंगे,
00:04:35यह संकेत देते हुए कि यह एनपीएम टोकन के लिए भी
00:04:36ऐसा ही करता है।
00:04:38इसलिए यदि आप इन टोकन को रद्द करते हैं
00:04:39अपनी मशीन को अलग करने
00:04:40और उस बैकग्राउंड प्रोसेस को हटाने से पहले,
00:04:42तो पेलोड आपके पीसी को नष्ट कर सकता है,
00:04:44जो कि बहुत ही शैतानी है।
00:04:46और यहाँ एक साइड नोट के रूप में,
00:04:47इस हमले का पायथन संस्करण
00:04:48काफी हद तक वही काम करता है,
00:04:49लेकिन इसमें एक जांच भी शामिल है
00:04:51यह देखने के लिए कि क्या आपकी मशीन की भाषा रूसी है।
00:04:53यदि है,
00:04:53तो यह बस रुक जाता है।
00:04:54और यदि आपकी मशीन
00:04:55इजराइल या ईरान से प्रतीत होती है,
00:04:56तो यह 1 और 6 के बीच
00:04:58एक यादृच्छिक संख्या उत्पन्न करता है।
00:04:59और यदि वह संख्या 2 है,
00:05:00तो यह एक विनाशकारी वाइप कमांड चलाता है
00:05:01और फुल-वॉल्यूम पर एक एमपी3 (MP3) चलाने की
00:05:03कोशिश करता है।
00:05:04दुख की बात है,
00:05:05कि मैं यह पता नहीं लगा सका
00:05:05कि वह एमपी3 क्या है।
00:05:07खैर,
00:05:07अब जब इसने यह सब कर लिया है,
00:05:08सबसे बुरा आना अभी बाकी है
00:05:09क्योंकि वह सिर्फ पहला चरण (Stage 1) था।
00:05:11दूसरा चरण (Stage 2) स्व-प्रसार (self-propagation) है
00:05:13और यह इस हमले का सबसे खतरनाक हिस्सा है।
00:05:15सबसे पहले,
00:05:16यह आपकी मशीन पर
00:05:16किसी भी वैध एनपीएम टोकन को देखेगा
00:05:17जहाँ यह पब्लिश कर सके
00:05:19बिना टू-फैक्टर ऑथेंटिकेशन के।
00:05:19और यदि इसे एक मिल जाता है,
00:05:21तो यह उन सभी पैकेजों को स्कैन करेगा
00:05:22जिन तक उस खाते की पहुंच है,
00:05:24फिर उन क्रेडेंशियल्स का उपयोग करके
00:05:26खुद को उन पैकेजों में जोड़ेगा
00:05:26और नए संक्रमित संस्करण पब्लिश करेगा।
00:05:28अब यह स्पष्ट रूप से काफी बुरा है,
00:05:30लेकिन आपको शायद टोकन पब्लिश नहीं करने चाहिए थे
00:05:32जो इधर-उधर पड़े हों
00:05:33जो बायपास कर सकते हैं
00:05:33जो कहीं पड़े हों
00:05:34जो बायपास कर सकें
00:05:35टू-फैक्टर ऑथेंटिकेशन को।
00:05:36तो इसका कहीं ज्यादा डरावना रूप
00:05:38वह है जो तब होता है
00:05:39जब यह आपके CI-CD के अंदर चलता है।
00:05:41क्योंकि CI में,
00:05:42हमलावर को जरूरत नहीं होती
00:05:43एक लंबे समय तक चलने वाले NPM टोकन की
00:05:44क्योंकि अच्छे सेटअप
00:05:45अक्सर OIDC पर निर्भर करते हैं,
00:05:47जो कि ज्यादा सुरक्षित माना जाता है।
00:05:48संक्षेप में,
00:05:49NPM टोकन को
00:05:50सीक्रेट के रूप में स्टोर करने के बजाय,
00:05:51GitHub Actions NPM को साबित करता है,
00:05:53हे,
00:05:53मैं यह रेपो हूँ
00:05:54जो यह वर्कफ़्लो चला रहा है
00:05:55इस ब्रांच पर,
00:05:56और फिर NPM इसे देता है
00:05:57एक कम समय के लिए प्रकाशित टोकन।
00:05:59हालांकि इसके साथ समस्या यह है
00:06:00कि अगर स्क्रिप्ट को एक्सेस मिल जाए
00:06:01किसी भरोसेमंद GitHub Actions वातावरण तक,
00:06:03तो यह उसी जगह खड़ी हो सकती है
00:06:04जहाँ एक वैध प्रकाशक होता है।
00:06:06तो मैलवेयर इस्तेमाल कर सकता है
00:06:07उस OIDC-संबंधित वातावरण का
00:06:08जो GitHub जॉब को प्रदान करता है
00:06:10ताकि GitHub के टोकन एंडपॉइंट से OIDC JWT टोकन मांग सके,
00:06:12फिर यह उस JWT टोकन को बदल लेता है
00:06:14NPM के साथ
00:06:16उस छोटे समय वाले पब्लिशिंग टोकन के लिए
00:06:17NPM-भरोसेमंद पब्लिशिंग सिस्टम के माध्यम से,
00:06:18और अब यह प्रकाशित कर सकता है
00:06:19बिना किसी स्थायी NPM टोकन को चुराए
00:06:20और पूरी तरह से वैध दिख सकता है।
00:06:22इस मामले में,
00:06:22मैलवेयर उस router init.js फाइल की
00:06:24एक कॉपी को पैकेज के टेबल में बंडल करता है,
00:06:26फिर हानिकारक वैकल्पिक डिपेंडेंसी जोड़ता है,
00:06:26फिर इसे पैकेज के लेटेस्ट टैग के रूप में
00:06:27प्रकाशित कर देता है,
00:06:29ताकि जब कोई
00:06:30या कोई CI-CD पाइपलाइन
00:06:31उन पैकेजों को इंस्टॉल करे,
00:06:32तो यह लूप फिर से शुरू हो जाए,
00:06:33जितना दूर संभव हो सके फैलते हुए।
00:06:34तो यह सब
00:06:35काफी पागलपन है, है ना?
00:06:35लेकिन अब पेशेंट जीरो,
00:06:37TanStack पर ध्यान केंद्रित करते हैं।
00:06:38वे सबसे पहले संक्रमित कैसे हुए?
00:06:40खैर,
00:06:40उनके अपने पोस्ट-मॉर्टम के अनुसार,
00:06:42हमलावर ने उस GitHub Actions पाइपलाइन का
00:06:42दुरुपयोग किया।
00:06:43उन्होंने उस दिन शुरू किया
00:06:44जिससे एक दिन पहले हानिकारक पैकेज
00:06:46वास्तव में प्रकाशित हुए थे,
00:06:46जहाँ उन्होंने TanStack राउटर का
00:06:47एक फोर्क बनाया,
00:06:48लेकिन उन्होंने वास्तव में
00:06:49इसका नाम बदलकर 'configuration' कर दिया
00:06:50ताकि खोजना मुश्किल हो जाए
00:06:51उस GitHub Actions पाइपलाइन का दुरुपयोग किया।
00:06:53उन्होंने उस दिन शुरुआत की
00:06:53जब दुर्भावनापूर्ण पैकेज
00:06:54वास्तव में प्रकाशित हुए थे,
00:06:56जहाँ उन्होंने एक फोर्क बनाया
00:06:57TanStack राउटर का,
00:06:58और इसमें एक कमिट मैसेज था
00:06:59जो 'skip CI' से
00:06:59प्रीफिक्स्ड था,
00:07:01ताकि यह तुरंत पुश इवेंट पर
00:07:02CI न चला सके।
00:07:04अगले दिन,
00:07:04उन्होंने TanStack राउटर के खिलाफ
00:07:05एक PR खोला
00:07:06जिसका नाम था 'Work in Progress'
00:07:07'Simplify History Build'.
00:07:07और यहीं पर
00:07:08असली हमला होता है।
00:07:09TLDR यह है कि
00:07:10TanStack का एक बंडल-साइज्ड
00:07:11GitHub Actions वर्कफ़्लो था
00:07:13जो 'pull request target' का उपयोग करता था,
00:07:13और यह उल्लेखनीय है
00:07:14TanStack राउटर के खिलाफ
00:07:15जिसे वर्क इन प्रोग्रेस
00:07:16सिम्प्लीफाई हिस्ट्री बिल्ड।
00:07:18और यहीं पर
00:07:18असली हमला होता है।
00:07:20संक्षेप में कहें तो
00:07:21TanStack के पास एक बंडल-साइज़
00:07:22GitHub एक्शन वर्कफ़्लो था
00:07:23जो पुल रिक्वेस्ट टारगेट का उपयोग करता था,
00:07:25और यह उल्लेखनीय है
00:07:26क्योंकि पुल रिक्वेस्ट टारगेट
00:07:27वास्तव में
00:07:28बेस रिपो
00:07:29सुरक्षा संदर्भ में चलता है,
00:07:30फोर्क में नहीं।
00:07:31इसका मतलब है कि इसके पास
00:07:32बेस रिपो के कैश स्कोप
00:07:33और उसके GitHub टोकन का एक्सेस होता है।
00:07:35विषैला बना दिया
00:07:35जिसे रिलीज एक्शन
00:07:36बाद में इस्तेमाल करेगा।
00:07:38उन्होंने वास्तव में सार्वजनिक
00:07:39PMPM लॉक फाइल से
00:07:40इसकी प्री-कंप्यूटिंग की
00:07:40उसी फॉर्मूले का उपयोग करके
00:07:41जिसका वर्कफ़्लो भी उपयोग करता है।
00:07:42एक बार जब वह जहरीला कैश
00:07:43सेव हो गया,
00:07:44उन्होंने वास्तव में उस ब्रांच को
00:07:45वापस रीसेट कर दिया
00:07:47ताकि वह वर्तमान
00:07:48मेन ब्रांच से मेल खा सके,
00:07:49ताकि दिखाई देने वाला PR
00:07:50एक शून्य फाइल
00:07:51no-op जैसा दिखे,
00:07:52और फिर उन्होंने उस PR को बंद कर दिया
00:07:54और हानिकारक ब्रांच को डिलीट कर दिया।
00:07:56तो बाहर से,
00:07:57ऐसा लगता है कि
00:07:57बिल्कुल कुछ नहीं
00:07:58हुआ है,
00:07:59लेकिन उन्होंने
00:07:59उस GitHub एक्शन के कैश को खराब कर दिया है।
00:08:00इसका मतलब है कि
00:08:01आठ घंटे बाद,
00:08:02जब एक सामान्य मेंटेनर ने
00:08:03एक असंबंधित PR को
00:08:04मेन में मर्ज किया,
00:08:05तो इसने TanStack के
00:08:06रिलीज वर्कफ़्लो को ट्रिगर किया,
00:08:07जिसने PMPM जहरीले कैश को
00:08:07रिस्टोर कर दिया,
00:08:08और अब हमलावर नियंत्रित कोड
00:08:09उस रिलीज एक्शन के अंदर चल रहा था।
00:08:10उस गिटहब एक्शन के कैश को ज़हरीला कर दिया है।
00:08:11उसी तर्क का उपयोग किया
00:08:12NPM पब्लिशिंग टोकन पाने के लिए,
00:08:13और 42 Tanstack पैकेजों में
00:08:14अपने ही 84 संस्करण प्रकाशित करने में कामयाब रहा,
00:08:15और इसे एक्शन के
00:08:16प्रकाशित पैकेज चरण तक
00:08:17पहुंचने की भी जरूरत नहीं पड़ी।
00:08:18मजे की बात यह है,
00:08:19कि एक्शन वास्तव में विफल हो गया
00:08:20क्योंकि कुछ टेस्ट विफल हो गए थे,
00:08:22इसलिए यह कभी उस चरण तक नहीं पहुंचा,
00:08:23लेकिन हानिकारक कोड चला
00:08:24और उन सभी को प्रकाशित कर दिया
00:08:25चाहे कुछ भी हो।
00:08:26तो हमलावर तीन ट्रस्ट सीमाओं को
00:08:28जोड़ने में कामयाब रहा।
00:08:29सबसे पहले,
00:08:30फोर्क PR कोड
00:08:32बेस रेपो कैश को
00:08:33खराब करने में सफल रहा,
00:08:34फिर उस बेस रेपो कैश को
00:08:35असली रिलीज वर्कफ़्लो के अंदर
00:08:36रिस्टोर किया गया,
00:08:36फिर असली रिलीज वर्कफ़्लो के पास
00:08:37OIDC अनुमतियां होती हैं,
00:08:39जो NPM पब्लिश एक्सेस में
00:08:40बदल जाती हैं,
00:08:41ताकि वे प्रकाशित कर सकें
00:08:43जो दिखने में
00:08:43पूरी तरह से वैध पैकेज लगते हैं।
00:08:44और मुझे लगता है कि यह
00:08:46सप्लाई चेन हमलों के बारे में
00:08:47काफी डरावना होता जा रहा है।
00:08:47वे एक मेंटेनर के टोकन को चुराने से
00:08:48दूर होकर
00:08:49पूरी CI-CD प्रणाली का ही दुरुपयोग कर रहे हैं,
00:08:51और इसका मतलब है कि
00:08:52हमारे सभी ट्रस्ट सिग्नल
00:08:53हमलावर के लिए काम करने
00:08:54लगे हैं।
00:08:56यह एक हस्ताक्षरित पैकेज था
00:08:57जिसमें वैध प्रोवेनेंस था
00:08:58जो एक वास्तविक वर्कफ़्लो द्वारा प्रकाशित किया गया।
00:08:59तो यह रहा,
00:08:59वह ShaiHalud4 है,
00:09:01और यदि आप जांचना चाहते हैं
00:09:02कि क्या आप इनमें से किसी भी पैकेज से
00:09:03समझौता किए गए हैं,
00:09:05मैं नीचे ब्लॉग पोस्ट के
00:09:05लिंक छोड़ दूंगा,
00:09:06जो कवर करेंगे
00:09:07कि आप कैसे पता लगा सकते हैं
00:09:08और आप क्या कर सकते हैं
00:09:10यदि आपने इनमें से एक इंस्टॉल किया है।
00:09:11मुझे टिप्पणियों में बताएं
00:09:12कि आप इस सब के बारे में
00:09:13और NPM पारिस्थितिकी तंत्र के बारे में क्या सोचते हैं,
00:09:14जब आप वहां नीचे हों,
00:09:15सब्सक्राइब करें,
00:09:16और हमेशा की तरह,
00:09:18अगले वाले में मिलते हैं।
00:09:19तो ये है ShaiHalud4,
00:09:20और अगर आप चेक करना चाहते हैं
00:09:21कि क्या आप इनमें से
00:09:21किसी भी पैकेज से प्रभावित हुए हैं,
00:09:23तो मैं नीचे
00:09:23ब्लॉग पोस्ट के लिंक छोड़ दूंगा,
00:09:25जो आपको बताएंगे
00:09:25कि आप कैसे पता लगा सकते हैं
00:09:26और अगर आपने इनमें से
00:09:27किसी एक को इंस्टॉल किया है
00:09:28तो आप क्या कर सकते हैं।
00:09:29मुझे कमेंट में बताएं
00:09:30कि आप इस सब के बारे में
00:09:30और NPM इकोसिस्टम
00:09:31के बारे में क्या सोचते हैं,
00:09:33और जब आप वहां नीचे हों,
00:09:33...
00:09:34और हमेशा की तरह,
00:09:34अगले वीडियो में मिलते हैं।
Community Posts
No posts yet. Be the first to write about this video!
Write about this video