FauxUV: Soxta PyPI uv paketlari Jupyterni internetga ochadi

FauxUV: internetga tasdiqlanmagan Jupyter serverini ochadigan soxta PyPI uv yordamchilari

TP; DR

PyPI paketlari klasteri nomini oldi uv, tezkor va juda mashhur Rust asosidagi Python paket menejeri, UV yordamchilari sifatida ko'rinish uchun. Ular deyarli hech qanday real funksiyalarni taqdim etmaydilar. Buning o'rniga ular Windows yuklamasini olib yurishadi, bu esa ... ni qo'llab-quvvatlaydi. Autentifikatsiya o'chirilgan JupyterLab serveri va keyingi versiyalarida uni teskari tunnel orqali ommaviy internetga joylashtiradi.

Bu butun hikoya bitta satrda: ishonchli vositaning nomi jozibador vosita sifatida va JupyterLab masofaviy kodni bajarish mexanizmi sifatida. Jupyter serveri siz kiritgan har qanday kodni not serveriga ishga tushiradiebook hujayra; bo'sh token bilan ishga tushirilgan va har bir tarmoq interfeysiga bog'langan narsa portga kira olgan har bir kishi boshqarishi mumkin bo'lgan ochiq tarjimondir.

Biz klasterni quyidagicha kuzatamiz Soxta UVTekshirilgan ikkita paket moon-uv (0.0.1-0.0.16) va my-magic-uv-helper (0.0.1), xuddi shu operator tomonidan nashr etilgan va tahlil vaqtida PyPI da jonli efirda.

EkosistemaPyPI
paketlarmoon-uv (0.0.1-0.0.16), my-magic-uv-helper (0.0.1)
Platforma maqsadliWindows
Asosiy xatti-harakatlarTeskari tunnel orqali internetga joylashtirilgan, tasdiqlanmagan JupyterLab serveri
Qonuniy vositalar suiiste'mol qilinganuv, JupyterLab, bulutli yorug'lik, Pinggy

Jozibasi: siz allaqachon ishonadigan nom

uv so'nggi ikki yil ichida eng ko'p o'rnatilgan Python vositalaridan biri, shuning uchun "yordamchi" uv"bu ishlab chiquvchi ikkilanmasdan o'rnatadigan paket. FauxUV o'zining ishonchliligini butunlay shu nomga sarflaydi. Paketlar ... ni o'rab oladi asl uv Astral’dan o‘rnatuvchi — haqiqiy, obro‘li xostlardagi foydali yuklanish nuqtasidagi URL’lar — shuning uchun bir qarashda faqat ishonchli ma’lumotnomalar ko‘rinadi. Paketlarning hech biri aslida qo‘shimcha qilmaydi uv funksionallik; nom butun niqobdir.

JupyterLab RCE dvigateli sifatida

Yukning markaziy qismi har bir to'siq olib tashlangan holda JupyterLabni ishga tushiradigan ishga tushirgichdir:

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

Har bir bayroq himoyani olib tashlaydi va jo'natilgan skript hatto ularga izoh beradi (asl xitoy tilida): bo'sh token "Parol va token tekshiruvlarini o'chiradi - istalgan kishi ulanishi mumkin." Yupiter laboratoriyasi qonuniy ma'lumotlar ilmi IDE, lekin unday emasebook hujayra ixtiyoriy kodni dizayn bo'yicha bajaradi. Shu tarzda konfiguratsiya qilingan va bog'langan 0.0.0.0, u IDE bo'lishdan to'xtaydi va xostda tasdiqlanmagan masofaviy qobiqqa aylanadi — maxsus zararli dasturlarning ikkilik fayli talab qilinmaydi, shunchaki asosiy vosita noto'g'ri yo'nalishni ko'rsatdi.

Ikkita qo'llab-quvvatlovchi qism uni oson va takrorlanadigan qiladi:

  • Jim o'rnatish tetiği. Dastlabki versiyalar PowerShell bilan ishlaydi -Ijro siyosatini chetlab o'tish to'g'ridan-to'g'ri setup.py on pip o'rnatish, xatolar bostirilgan holda fonda pip normal ko'rinadi. Keyingi versiyalar xuddi shu ibtidoiyni a ga o'tkazadi pip-uv buyruq satri vositasi — va o'rnatish vaqtida avtomatik ishga tushirishni butunlay o'chirib tashlang.
  • Umumiy teskari tunnel. Server yoqilgan 0.0.0.0 hali ham faqat mashinaga yo'naltira oladigan xostlar orqali kirish mumkin. Birlashtirilgan modul [Pinggy]() ni ochadi.https://pinggy.io/) Mahalliy Jupyter portini ommaviy manzilga yo'naltiradigan va bu cheklovni olib tashlaydigan SSH teskari tunneli. Yuborilgan skript shuningdek, Cloudflare'dan foydalangan holda muqobil yo'lni ham o'z ichiga oladi — izohlangan). bulutli va bir netsh port-proksi Linode IP-ga, turli infratuzilmalar orqali bir xil maqsadni hujjatlashtiradi.

Birlashtiring: paketni o'rnating va Windows xosti parolsiz JupyterLabni ishga tushiradi va uni ochiq internetga joylashtiradi.

FauxUV qanday rivojlandi

FauxUV versiyalari ketma-ket yetkazib berildi va foydali yukning tetik nuqtasi ular bo'ylab harakatlandi - bu bitta belgilangan versiya kamdan-kam hollarda paket liniyasining butun hikoyasini hikoya qilishini eslatadi.

ta'lim versiyalari Trigger Nima qo'shadi
O'rnatish ilgagi moon-uv 0.0.1 - 0.0.3, my-magic-uv-helper 0.0.1 setup.py pip o'rnatishda UV o'rnatish + PATH prepend
CLI ish vaqti moon-uv 0.0.5-0.0.13 pip-uv buyruq parolsiz JupyterLab ishga tushirgichi
tunnel moon-uv 0.0.14-0.0.16 pip-uv buyruq faol Pinggy teskari tunneli

Shunisi e'tiborga loyiqki, o'rnatish vaqtida avtomatik ishga tushirish edi olib keyingi, yanada qobiliyatli versiyalarda — shuning uchun skaner faqat hayot aylanishiga moslashtirilgan hooks yangi nashrlarni quyidagicha baholaydi Kamroq xavfli, aynan orqaga.

Murosaga kelish ko'rsatkichlari

Paket manbasini o'qish orqali tasdiqlangan; oxirgi nuqtalar belgilangan Sharhladi fayllarda mavjud, ammo tahlil qilingan versiya tomonidan bajarilmaydi. Tarmoq indikatorlari o'chirilgan.

Shrift Ko'rsatkichlar
O'rnatish buyrug'i powershell -ExecutionPolicy Bypass pip o'rnatish vaqtida asl uv o'rnatuvchisini olish
JupyterLab bayroqlari --ip=0.0.0.0 --ServerApp.token="" --allow_origin='*' --disable_check_xsrf
Teskari tunnel (faol) free[.]pinggy[.]io:443 mahalliy yo'naltirish 127.0.0.1:8888
Tunnel xosti (izohlangan) cloudflared tunnel --url hxxp://127[.]0[.]0[.]1:2718
IP (izohlangan) 45[.]79[.]134[.]161 (Linode) orqali netsh port-proxy
Barqarorlik oldindan qo'shimchalar %USERPROFILE%\.local\bin PATH foydalanuvchisiga

Ushbu aniq satrlardan mustaqil ravishda ogohlantirishga arziydigan xulq-atvor signallari: a pip o'rnatish bu tug'iladi PowerShell -ExecutionPolicy aylanib o'tishhar qanday jupyter ishga tushirishni birlashtirish token = ”” bilan –ip=0.0.0.0va chiquvchi SSH ga *.pinggy.io dasturchi yoki CI mashinasidan.

Kuzatilgan xatti-harakatlar va kelib chiqishi

Ikkala paket ham muallif va usulni baham ko'radi: ishonchli vositaning nomi, faqat Windows uchun himoya, xatoliklarni bostiruvchi fon ijrosi va ishonchli vositalarga tayanish, shuning uchun tezkor ko'rinishda faqat ishonchli URL manzillari ko'rinadi. Manba xavfsizlikka tegishli bayroqlarni aniq tasvirlaydigan xitoy tilidagi sharhlarni o'z ichiga oladi; biz ularni faylda kuzatiladigan bayonotlar sifatida taqdim etamiz, sabab haqidagi da'vo sifatida emas. ruxsat_kelib chiqishi qiymat va colab.bat filename Google Colab uchun tarqatiladigan norasmiy “mahalliy ish vaqtimni ulashish” ish oqimlarini aks ettiradi. Kelib chiqishi qanday bo'lishidan qat'i nazar, paketlangan natija bir xil bo'ladi.

Himoyachilar uchun ta'sir va ko'rsatmalar

FauxUV ta'siriga kim duchor bo'ladi. Windows dasturchilari va CI yuguruvchilari pip o'rnatish ushbu paketlardan biri. Parolsiz JupyterLab yoqilgan 0.0.0.0 portga kira oladigan har bir kishi uchun masofaviy kod ijrosi; tunnel "unga kim kira oladi" chegarasini olib tashlaydi. Server o'rnatuvchi foydalanuvchi sifatida ishlaydi va o'sha foydalanuvchining fayllari, tokenlari va bulut hisob ma'lumotlarini meros qilib oladi.

Nima uchun uni sog'inish oson. Har bir tarmoq satri obro'li xostga ishora qiladi - Astral, JupyterLab, bulutli, Pinggy, Colab. Xeshlash uchun zararli dasturlarning ikkilik versiyasi va dekodlash uchun chalkashtirilgan blob yo'q. Obro' va imzoga asoslangan skanerlash ham bunga kam baho beradi, shuning uchun xulq-atvor savoli — Ushbu paketni o'rnatish mashinani nima qiladi — uni ushlaydigan odam.

Qo'llanma:

  • O'rnatish vaqtini belgilang PowerShell -ExecutionPolicy aylanib o'tish qurilishni buzuvchi signal sifatida, u qanday URLni olishidan qat'i nazar.
  • Ogohlantirish yoqilgan jupyter bo'sh token bilan ishga tushirildi va –ip=0.0.0.0; bu kombinatsiya hech qachon ish stantsiyasida yoki ishga tushirgichda ko'rinmasligi kerak.
  • SSH dan tunnel provayderlariga chiquvchi provayderlarni monitoring qilish (*.pinggy.io, *.trycloudflare.com) ishlab chiquvchi va CI muhitlaridan.
  • o'rnatmoq uv [rasmiy manbasidan](https://docs.astral.sh/uv/) va o'rnatish uchun allaqachon arzimas bo'lgan vositani o'rab turgan uchinchi tomon "yordamchi" paketlariga shubha bilan qarang.
  • Yangilanishdagi bog'liqliklarni pin qiling va qayta ko'rib chiqing — paket liniyasi yangi imkoniyatlarni versiyadan versiyaga oshirishi mumkin.
sca-vositalari-dasturiy ta'minot-kompozitsiya-tahlil-vositalari
Dasturiy ta'minot xavflaringizni ustuvorlashtiring, bartaraf eting va himoya qiling
Bepul hisobingizni oling.
Kredit karta talab qilinmaydi.

Dasturiy ta'minotingizni ishlab chiqish va yetkazib berishni ta'minlang

Xygeni mahsulot to'plami bilan