HeadlinesBriefing favicon HeadlinesBriefing.com

NPM गणित लाइब्रेरी में एन्क्रिप्टेड लोडर

Hacker News •
×

हमें mathmain के अंदर छिपा हुआ एक रिमोट एक्सेस इम्प्लांट मिला, जो एक npm पैकेज है जो लोकप्रिय mathjs लाइब्रेरी की नकल करता है। दुर्भावनापूर्ण कोड एन्क्रिप्टेड रूप में आता है। यह तब तक निष्क्रिय रहता है जब तक कोई प्रोग्राम लाइब्रेरी के साथ एक विशिष्ट समीकरण हल नहीं करता। वह समीकरण ही कुंजी है। जब कुंजी मेल खाती है, तो पैकेज एक पेलोड को डिक्रिप्ट करता है और उसे चलाता है। पेलोड हमलावर से कमांड लेता है और उन्हें होस्ट पर चलाता है। यह अपने कमांड चैनल के लिए एक सार्वजनिक चैट सेवा और एक ब्लॉकचेन नेटवर्क का उपयोग करता है।

हमने 17 सितंबर, 2026 को mathmain के Safe Dep विश्लेषण के साथ शुरुआत की। पैकेज एक अलग नाम और अस्पष्ट कोड के साथ mathjs की एक प्रति जैसा दिखता था। सॉल्वर में एक जोड़ा गया कॉल हमें लोडर तक ले गया। lusolve() के अंत के पास, हमें Common JS बिल्ड में एक अतिरिक्त कॉल मिला। सॉल्वर ने पहले ही अपना परिणाम की गणना कर ली थी। फिर इसने remove Solve Validation() को कॉल करने के लिए निचले त्रिकोणीय मैट्रिक्स से डेटा पास किया।

हमने remove Solve Validation() का पीछा lib/cjs/utils/is.js में is Graph(x) तक किया। जोड़ा गया is Graph() फ़ंक्शन कोड को डिक्रिप्ट और लोड करता है। यह अपने इनपुट को एक JSON स्ट्रिंग में परिवर्तित करता है और उस स्ट्रिंग को पासवर्ड के रूप में उपयोग करता है। यह पहले एक फ़ाइल नाम को डिक्रिप्ट करता है। फिर यह फ़ाइल पथ और पासवर्ड को event() को पास करता है, और require() के साथ लौटाए गए पथ को लोड करता है।

मैट्रिक्स डेटा एक पासवर्ड बन जाता है। lib/cjs/utils/event.js में, हमें डिक्रिप्शन फ़ंक्शन मिले। वे पासवर्ड को 256 बिट की कुंजी में बदलने के लिए scrypt का उपयोग करते हैं। फिर वे AES-GCM के साथ डेटा को डिक्रिप्ट करते हैं। लोडर फ़ाइल को लिखता और चलाता है। event() हेल्पर फ़ाइल को डिक्रिप्ट करता है, परिणाम को डिस्क पर लिखता है, और आउटपुट पथ लौटाता है।

मुख्य संस्थाएँ: कंपनियाँ: mathjs, Safe Dep

सामान्य प्रश्न: दुर्भावनापूर्ण npm पैकेज mathmain अपने पेलोड को कैसे डिक्रिप्ट करता है?

पैकेज mathjs लाइब्रेरी द्वारा हल किए गए एक विशिष्ट समीकरण को कुंजी के रूप में उपयोग करता है। जब समीकरण हल हो जाता है, तो परिणामी मैट्रिक्स डेटा को एक JSON स्ट्रिंग में परिवर्तित किया जाता है और scrypt और AES-GCM के माध्यम से पेलोड को डिक्रिप्ट करने के लिए पासवर्ड के रूप में उपयोग किया जाता है।

सामान्य प्रश्न प्र: दुर्भावनापूर्ण npm पैकेज mathmain अपने पेलोड को कैसे डिक्रिप्ट करता है?

सामान्य प्रश्न उ: पैकेज mathjs लाइब्रेरी द्वारा हल किए गए एक विशिष्ट समीकरण को कुंजी के रूप में उपयोग करता है। जब समीकरण हल हो जाता है, तो परिणामी मैट्रिक्स डेटा को एक JSON स्ट्रिंग में परिवर्तित किया जाता है और scrypt और AES-GCM के माध्यम से पेलोड को डिक्रिप्ट करने के लिए पासवर्ड के रूप में उपयोग किया जाता है।