जाइगेनीले हालै २०२५ मा सफ्टवेयर आपूर्ति श्रृंखला आक्रमणको परिदृश्यमा चिन्ताजनक ढाँचा अवलोकन गरे।, दुई लोकप्रिय प्याकेज प्रबन्धकहरूमाझ देखा पर्दै: PyPI र npmहाम्रो निरन्तर खतरा गुप्तचर प्रयासहरूको एक भागको रूपमा,Xygeni को मालवेयर प्रारम्भिक चेतावनी (MEW) उपकरणले पहिले नै अर्को रजिस्ट्रीमा अपलोड गरिएको दुर्भावनापूर्ण प्याकेजको एक विशिष्ट तर पद्धतिगत रूपमा समान उदाहरण पहिचान गर्यो। यो केसले कसरी खतरा अभिनेताहरू इकोसिस्टमहरूमा आक्रमण प्रविधिहरू विकसित र पुन: प्रयोग गरिरहेका छन् भनेर प्रकाश पार्छ, विशेष गरी मार्फत दुर्भावनापूर्ण पाइथन प्याकेजहरू र दुर्भावनापूर्ण npm प्याकेजहरू, जसले खुला स्रोत आपूर्ति शृङ्खलाहरूमा दुर्भावनापूर्ण प्याकेजहरू घुसपैठ गर्ने जोखिम बढाउँछ।
Xygeni को MEW: समानताहरू पहिचान गर्दै
Xygeni को MEW उपकरण दुर्भावनापूर्ण प्याकेजहरू पत्ता लगाउन र फ्ल्याग गर्नको लागि बनाइएको हो, विशेष गरी २०२५ मा सफ्टवेयर आपूर्ति श्रृंखला आक्रमणहरूसँग लिङ्क गरिएका, खुला स्रोत रजिस्ट्रीहरूमा प्रकाशित हुने बित्तिकै। यसले शंकास्पद व्यवहारको लागि नयाँ प्याकेजहरूको विश्लेषण गरेर काम गर्दछ।
यस उदाहरणमा, यसले दुई पहिचान गर्यो दुर्भावनापूर्ण पाइथन प्याकेजहरू (graphalgo PyPI मा) र दुर्भावनापूर्ण npm प्याकेजहरू (express-cookie-parser npm मा)।
सफ्टवेयर आपूर्ति श्रृंखला आक्रमणहरूमा दुर्भावनापूर्ण पाइथन र npm प्याकेजहरू (२०२५)
हाम्रा अलर्टहरू ट्रिगर गर्ने साझा विशेषताहरूको अन्वेषण गरौं:
टाइपोस्क्वाटि
उनीहरू दुवैले लोकप्रिय अवस्थित प्याकेजहरूको नक्कल गर्ने प्रयास गरे।
- ग्राफल्गो (PyPI): "ग्राफ र नेटवर्कहरू सिर्जना र हेरफेर गर्न पाइथन प्याकेज।"नामक प्रयोगकर्ताद्वारा अपलोड गरिएको" "ल्यारीटेक" जुन १३, २०२५ मा, यो प्याकेजले आफूलाई मूल गैर-मालिसियस ग्राफाल्गो परियोजनाको PyPi विकल्पको रूपमा प्रस्तुत गर्यो, जसलाई पछि ग्राफडिक्ट नामकरण गरिएको थियो।
- एक्सप्रेस-कुकी-पार्सर (npm): यो प्याकेजले प्रसिद्ध कुकी-पार्सर प्याकेजको नक्कल गर्यो, यसको प्रतिबिम्ब पनि README.md. मा जानुहोस्। यस्तो प्रतिरूपण विद्यमान विश्वासलाई फाइदा उठाउने एक उत्कृष्ट रणनीति हो।
पहिलो रक्षा रेखाको रूपमा अस्पष्टता
दुबै प्याकेजहरूले मूल फाइलहरू भित्र आफ्नो दुर्भावनापूर्ण कोडलाई अस्पष्ट पारे। को लागि ग्राफाल्गो, अस्पष्ट कोड भित्र फेला पर्यो /utils/load_libraries.py. यस अवस्थामा एक्सप्रेस-कुकी-पार्सर, cookie-loader.min.js अस्पष्ट पेलोड समावेश थियो।
अस्पष्टताको यो प्रारम्भिक तह सामान्यतया आकस्मिक निरीक्षण र स्थिर विश्लेषणलाई बाधा पुर्याउन प्रयोग गरिन्छ। अस्पष्टता एकदम सरल थियो: दोहोरिएको ZLib कम्प्रेसन प्लस Base64 एन्कोडिङ। यस प्रकारको अस्पष्टताले स्पष्ट रूपमा संकेत गर्दछ कि सफ्टवेयरले आफ्नो व्यवहार लुकाउन खोजिरहेको छ। अन्य प्रमाणहरूसँगै, यसले Xygeni MEW लाई सम्भावित मालवेयरको रूपमा प्याकेजहरूलाई वर्गीकृत गर्न अनुमति दियो। पुष्टिकरण चरणको समयमा, हाम्रा समीक्षकहरूले तुरुन्तै एक डिअब्फस्केशन स्क्रिप्ट तयार गरे जसले स्पष्ट रूपमा दुर्भावनापूर्ण ड्रपर चरण प्रकट गर्यो।
बहु-चरण पेलोड डेलिभरी र साझा उत्पत्ति बिन्दु
दुबै प्याकेजहरूले प्रारम्भिक रूपमा काम गरे "ड्रपरहरू"वास्तविक पेलोडको लागि चरण सेट गर्दै। तिनीहरूले एक साझा बाह्य "साझा गरेबीउ"फाइल URL:"https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
यो समान बाह्य बीज फाइल साझा खतरा अभिनेताको बलियो सूचक हो। चाखलाग्दो कुरा के छ भने, यस बीज फाइलको सामग्री साधारण वातावरण चरहरू (जस्तै, JWT_SECRET, PORT) जस्तो देखिन्छ, सम्भावित रूपमा यसको वास्तविक प्रकार्यमा भ्रामक निरीक्षण।
DGA सहितको गतिशील C2 रिजोल्युसन
यी दुर्भावनापूर्ण प्याकेजहरूमा अवलोकन गरिएको एउटा परिष्कृत रणनीति भनेको कमाण्ड एण्ड कन्ट्रोल (C2) सर्भरलाई गतिशील रूपमा समाधान गर्न डोमेन जेनेरेसन एल्गोरिथ्म (DGA) को प्रयोग हो। २०२५ मा उन्नत सफ्टवेयर आपूर्ति श्रृंखला आक्रमणहरूमा प्रायः देखिने यो प्रविधि, अन्य हार्डकोड मानहरूसँग मिलाएर, सिड फाइलको सामग्रीबाट प्राप्त SHA256 ह्यासमा निर्भर गर्दछ। त्यसो गरेर, C2 पूर्वाधार बारम्बार परिवर्तन हुन्छ, जसले गर्दा परम्परागत कालोसूची धेरै कम प्रभावकारी हुन्छ। यस अवस्थामा, npm भेरियन्टले निश्चित मान प्रयोग गर्यो 496AAC7E यसको DGA तर्कको भागको रूपमा।
दृढताको स्थापना
दुबै आक्रमणकारीहरूले प्रभावित प्रणालीहरूमा स्थायी उपस्थिति स्थापित गर्न खोजेका थिए। उनीहरूको रणनीतिमा फाइल छोड्ने, startup.py (PyPi को लागि) वा startup.js (npm को लागि), विभिन्न अपरेटिङ सिस्टमहरू (Windows, Linux, macOS) मा रहेका सामान्य Google Chrome प्रयोगकर्ता डेटा निर्देशिकाहरूमा।
कार्यान्वयन पछिको सफाई
ट्रेसहरू कम गर्न, दुबै दुर्भावनापूर्ण स्क्रिप्टहरूले सफाई कार्यहरू गरे। यसमा तिनीहरूको प्रारम्भिक ड्रपर फाइलहरू मेटाउने समावेश थियो (load_libraries.py, cookie-loader.min.js) र वैध प्याकेज फाइलहरू परिमार्जन गर्दै (__init__.py, index.js) अहिले मेटाइएका कम्पोनेन्टहरूका सन्दर्भहरू हटाउन।
मालिसियस पाइथन र एनपीएम प्याकेजहरूमा सम्झौताका सूचकहरू
- PyPI प्याकेज: ग्राफाल्गो (ल्यारीटेक द्वारा प्रकाशित, जुन १३, २०२५)
- npm प्याकेज: एक्सप्रेस-कुकी-पार्सर (विशेष गरी संस्करण १.४.१२)
- साझा बीउ URL मा पहुँच:
https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
- स्थायी फाइलनामहरू:
startup.py(पाइथन)startup.js(जाभास्क्रिप्ट) - सामान्य निरन्तर मार्गहरू (OS-निर्भर): गुगल क्रोम प्रयोगकर्ता डेटा निर्देशिकाहरू भित्र (जस्तै,
AppData\Local\Google\Chrome\UserData\Scripts\विन्डोजमा,~/.config/google-chrome/Scripts/लिनक्स, आदिमा)।
२०२५ मा सफ्टवेयर आपूर्ति श्रृंखला आक्रमणहरूमा दुर्भावनापूर्ण प्याकेजहरूबाट कसरी बचाउने
विकासकर्ताहरूको लागि सिफारिस गरिएको दृष्टिकोण
यो घटनाले २०२५ मा सफ्टवेयर आपूर्ति श्रृंखला आक्रमणको विकसित खतरा परिदृश्यमा एक मूल्यवान केस स्टडीको रूपमा काम गर्दछ। यसले कसरी दुर्भावनापूर्ण पाइथन प्याकेजहरू र दुर्भावनापूर्ण npm प्याकेजहरू विश्वसनीय इकोसिस्टममा चिप्लन सक्छन्, प्रायः ढिलो नभएसम्म पत्ता लगाउनबाट बच्न सक्छन् भन्ने कुरा प्रकाश पार्छ। त्यसैले प्रारम्भिक पत्ता लगाउने, स्मार्ट टूलिङ, र सक्रिय प्रणाली स्वच्छता अब कुनै पनि सुरक्षित DevOps कार्यप्रवाहको आवश्यक भागहरू हुन्। विकासकर्ताहरूलाई निम्न कुराहरू विचार गर्न प्रोत्साहित गरिन्छ:
निर्भरता समीक्षा
यदि तपाईंका परियोजनाहरूमा समावेश छ भने ग्राफाल्गो or एक्सप्रेस-कुकी-पार्सर, तिनीहरूलाई हटाउने काम अगाडि बढाउनु बुद्धिमानी हुनेछ।
- PyPI को लागि:
pip uninstall graphalgo - npm को लागि:
npm uninstall express-cookie-parser
प्रणाली स्वच्छता
एक व्यापक प्रणाली स्क्यान सञ्चालन गर्ने विचार गर्नुहोस्। कुनै पनि अप्रत्याशित घटनाहरूको लागि सामान्य Chrome प्रयोगकर्ता डेटा निर्देशिका मार्गहरू म्यानुअल रूपमा जाँच गर्नु पनि उचित हुन्छ। startup.py or startup.js फाइलहरू।
सक्रिय सुरक्षा उपायहरू
- नयाँ निर्भरताहरूको मूल्याङ्कन गर्नुहोस्: एकीकरण गर्नु अघि नयाँ प्याकेजहरूको पूर्ण मूल्याङ्कन गर्ने दिनचर्या स्थापना गर्नुहोस्, अपरिचित प्रकाशकहरूबाट आएका प्याकेजहरूमा ध्यान केन्द्रित गर्दै।
- सुरक्षा उपकरणहरू एकीकृत गर्नुहोस्: Xygeni को MEW जस्ता उपकरणहरू, अन्य सफ्टवेयर संरचना विश्लेषणको साथ (SCA) समाधानहरू, शंकास्पद व्यवहार र कमजोरीहरू पहिचान गरेर सुरक्षाको एक महत्वपूर्ण तह प्रदान गर्न सक्छन्।
- न्यूनतम विशेषाधिकार: न्यूनतम विशेषाधिकारको सिद्धान्तका साथ विकास वातावरण सञ्चालन गर्नाले सम्झौताको सम्भावित प्रभावलाई सीमित गर्न मद्दत गर्न सक्छ।
- नेटवर्क जागरूकता: असामान्य जडानहरूको लागि आउटबाउन्ड नेटवर्क ट्राफिक निगरानी गर्दा कहिलेकाहीं DGA-उत्पन्न C2 सञ्चारहरू प्रकट हुन सक्छ।
को प्रमुख अवयवहरू load_libraries.py (ग्राफाल्गोबाट)
download_remote_content(): निर्दिष्ट URL हरूबाट फाइलहरू ल्याउने ह्यान्डलहरू।run_process(): बाह्य पाइथन स्क्रिप्टहरूलाई अलग्गै तरिकाले कार्यान्वयन गर्छ, गोप्य रहन आउटपुटलाई दबाएर।get_output_file_path(): निरन्तर startup.py फाइलको लागि आदर्श प्रणाली स्थान निर्धारण गर्दछ।remove_self(): प्रारम्भिक खराब फाइलहरू र प्याकेज परिमार्जनहरूको कार्यान्वयन पछिको सफाईको व्यवस्था गर्दछ।simple_shift_encrypt()/simple_shift_decrypt(): DGA कार्यान्वयनको लागि महत्त्वपूर्ण, सञ्चार च्यानलहरूलाई अस्पष्ट पार्नको लागि अनुकूलित क्रिप्टोग्राफिक प्रकार्यहरू।load_libraries(): केन्द्रीय प्रकार्य जसले प्रारम्भिक डाउनलोडदेखि अन्तिम पेलोड कार्यान्वयन र सफाई सम्म सम्पूर्ण बहु-चरण प्रक्रियालाई समन्वय गर्दछ।
पछि
MEW द्वारा पहिचान गरिएका अन्य सम्भावित दुर्भावनापूर्ण प्याकेजहरू जस्तै, निर्भरता फायरवालले तुरुन्तै ती प्रयोगकर्ताहरूलाई सुरक्षित गर्यो जसले यी दुर्भावनापूर्ण प्याकेजहरूलाई आफ्नो निर्भरतामा समावेश गर्नेछन्। पुष्टिकरण पछि, हामीले दुबै रजिस्ट्रीहरूको लागि सूचना प्रक्रियाहरू पालना गर्यौं, जसले समीक्षा पछि दुबै प्याकेजहरू हटायो।





