← नवीनतम पेपर
💻 computer science

Taint-Based Code Slicing for LLMs-based Malicious NPM Package Detection

यह शोध पत्र एक टेंट-आधारित (taint-based) कोड स्लाइसिंग फ्रेमवर्क प्रस्तावित करता है जो npm पैकेज में सुरक्षा-संबंधित डेटा प्रवाह को अलग करता है ताकि लार्ज लैंग्वेज मॉडल्स के लिए इनपुट टोकन काउंट को काफी कम किया जा सके, जिससे 87.04% डिटेक्शन सटीकता प्राप्त होती है और यह दुर्भावनापूर्ण सॉफ्टवेयर सप्लाई चेन खतरों की पहचान करने में नैइव टोकन-स्प्लिटिंग और CFG-ओनली बेसलाइन्स से बेहतर प्रदर्शन करता है।

मूल लेखक: Dang-Khoa Nguyen, Gia-Thang Ho, Quang-Minh Pham, Tuyet A. Dang-Thi, Minh-Khanh Vu, Thanh-Cong Nguyen, Phat T. Tran-Truong, Duc-Ly Vu

प्रकाशित 2026-06-16
📖 5 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Dang-Khoa Nguyen, Gia-Thang Ho, Quang-Minh Pham, Tuyet A. Dang-Thi, Minh-Khanh Vu, Thanh-Cong Nguyen, Phat T. Tran-Truong, Duc-Ly Vu

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि npm इकोसिस्टम (कोड पैकेजों की एक विशाल लाइब्रेरी जिसका उपयोग डेवलपर्स करते हैं) एक विशाल, अराजक गोदाम है। हर दिन, हजारों नए बक्से (पैकेज) आते हैं। अधिकांश उपयोगी उपकरणों से भरे होते हैं, लेकिन कुछ "ट्रोजन हॉर्स" (Trojan horses) भी होते हैं—ऐसे बक्से जो बाहर से सामान्य दिखते हैं लेकिन उनके अंदर छिपे हुए जाल होते हैं जिन्हें आपके रहस्यों को चुराने या आपके कंप्यूटर को नुकसान पहुँचाने के लिए डिज़ाइन किया गया है।

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

समस्या: बहुत अधिक शोर, बहुत कम समय

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

यदि आप एक बड़े पैकेज की पूरी सामग्री को एक लार्ज लैंग्वेज मॉडल (LLM)—एक सुपर-स्मार्ट AI जो कोड समझता है—में डालने की कोशिश करते हैं, तो आप दो दीवारों से टकरा जाते हैं:

  1. विंडो लिमिट (Window Limit): AI की एक "छोटी ध्यान अवधि" (context window) होती है। यह एक बार में टेक्स्ट की एक निश्चित मात्रा ही पढ़ सकता है। यदि पैकेज बहुत बड़ा है, तो AI अंत को काट सकता है, जिससे संभावित रूप से जाल छूट सकता है।
  2. लागत (Cost): कोड की लाखों लाइनें पढ़ना अविश्वसनीय रूप से धीमा और महंगा है।

समाधान: "कोड स्लाइसर" (Code Slicer)

यह शोध पत्र AI का उपयोग करने का एक चतुर नया तरीका प्रस्तावित करता है: कोड स्लाइसिंग (Code Slicing)

पूरे अस्त-व्यस्त गोदाम को AI को देने के बजाय, शोधकर्ताओं ने एक स्मार्ट फ़िल्टर (एक स्लाइसर) बनाया है जो एक विशेषज्ञ जासूस की तरह काम करता है। यह जासूस पूरा मैनुअल नहीं पढ़ता; यह केवल विशिष्ट "खतरे के संकेतों" की तलाश करता है और संदिग्ध गतिविधि के पथ (path) का पता लगाता है।

यहाँ एनालॉजी (उपमा) कैसे काम करती है:

  • "बुरी" चीज़ें: कल्पना करें कि एक अपराधी हीरा (संवेदनशील डेटा) चुराने और उसके साथ भागने (exfiltration) की कोशिश कर रहा है।
  • "अच्छी" चीज़ें: गोदाम लोगों से भरा है जो बस घूम रहे हैं, कॉफी पी रहे हैं और कागजी कार्रवाई कर रहे हैं (हानिरहित कोड)।
  • स्लाइसर: सभी पर नज़र रखने के बजाय, स्लाइसर हीरे पर एक ट्रैकर लगा देता है। फिर यह केवल उस पथ का पता लगाता है जिससे हीरा शेल्फ से लेकर चोर की जेब तक जाता है। यह कमरे में मौजूद बाकी सभी लोगों को अनदेखा कर देता है।

तकनीकी शब्दों में, शोधकर्ताओं ने संवेदनशील जावास्क्रिप्ट API (विशिष्ट कमांड जो अक्सर बुरी चीजों के लिए उपयोग किए जाते हैं, जैसे "फाइलें हटाना," "छिपा हुआ कोड चलाना," या "इंटरनेट पर डेटा भेजना") की एक सूची बनाई। उन्होंने कोड को मैप करने और उन सभी चीजों को काटने के लिए Joern नामक टूल का उपयोग किया जो इन संवेदनशील कमांड से जुड़े नहीं हैं।

परिणाम: फालतू चीज़ों को काटना

इस "स्लाइसिंग" के परिणाम नाटकीय थे:

  • भारी कमी: उन्होंने AI द्वारा पढ़े जाने वाले टेक्स्ट की मात्रा को औसतन 99.75% तक कम कर दिया। यह एक 1,000 पन्नों के उपन्यास को लेने और AI को केवल वे 3 पन्ने देने जैसा है जहाँ हत्या होती है।
  • बेहतर सटीकता: क्योंकि AI हजारों पन्नों के उबाऊ, हानिरहित कोड से विचलित नहीं हुआ, इसलिए वह बुरे लोगों को पकड़ने में बहुत बेहतर हो गया।
    • एक "नाइव" (naive) दृष्टिकोण (बस टेक्स्ट को यादृच्छिक टुकड़ों में काटना) ने इसे लगभग 75% बार सही पकड़ा।
    • उनका नया "स्लाइसिंग" दृष्टिकोण इसे लगभग 87% बार सही पकड़ता है।

पेच: "मैजिक ट्रिक" की सीमा

पेपर अपनी एक बड़ी सीमा के बारे में ईमानदार है। यह "स्लाइसर" कोड को स्टैटिकली (बिना चलाए टेक्स्ट को पढ़कर) देखने के आधार पर काम करता है।

हालाँकि, कुछ बुरे पैकेज मैजिक ट्रिक्स (डायनेमिक कोड जनरेशन) का उपयोग करते हैं। वे ऐसा कोड लिखते हैं जो कहता है, "जब मैं चल रहा हूँ, तब तक प्रतीक्षा करो, फिर मैं अपना जाल खुद बना लूँगा।" क्योंकि जाल अभी टेक्स्ट फ़ाइल में मौजूद नहीं है, इसलिए स्लाइसर उसे देख नहीं पाता है।

  • अध्ययन में, लगभग 44% दुर्भावनापूर्ण (malicious) पैकेज इतने स्कैम्बल या डायनेमिक थे कि स्लाइसर कोई "संदिग्ध पथ" नहीं ढूंढ सका और खाली परिणाम लौटाया।
  • पेपर स्वीकार करता है कि इन विशिष्ट ट्रिकी मामलों के लिए, आपको एक अलग टूल (जैसे कि एक डायनेमिक सैंडबॉक्स जो वास्तव में कोड को चलाता है) की आवश्यकता होगी ताकि यह देखा जा सके कि क्या हो रहा है।

सारांश

इस पेपर को किताबों की लाइब्रेरी के लिए एक हाई-टेक मेटल डिटेक्टर के रूप में देखें। किताब के कवर को अंदर छिपी हुई छुरी खोजने के लिए शुरू से अंत तक पढ़ने के बजाय, डिटेक्टर विशेष रूप से छुरी के धातु के सिग्नेचर को स्कैन करता है और पन्नों के माध्यम से उसके पथ का पता लगाता है।

  • यह क्या करता है: यह "शोर" (हानिरहित कोड) को 99% तक हटा देता है ताकि केवल "सिग्नल" (संदिग्ध डेटा प्रवाह) ही बचे।
  • यह क्यों महत्वपूर्ण है: यह AI सुरक्षा जाँच को तेज़, सस्ता और काफी अधिक सटीक बनाता है।
  • सीमा: यह उन जालों को नहीं पकड़ सकता जो किताब खोलने के बाद बनाए जाते हैं (डायनेमिक कोड), इसलिए इसे उन विशिष्ट बुरे तत्वों को पकड़ने के लिए अन्य उपकरणों की मदद की आवश्यकता होती है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →