TL; DR
Komek pakêtên PyPI navê uv, rêveberê pakêtên Python-ê yê bilez û pir populer ê li ser bingeha Rust, ku wekî alîkarên uv têne nîşandan. Ew hema hema ti fonksiyonek rastîn naşînin. Tiştê ku ew li şûna wê barkêşek Windows-ê hildigirin ku li hember radiweste. Pêşkêşkara JupyterLab bi pejirandinê girtî ye û, di guhertoyên paşîn de, wê bi rêya tunelek berevajî ji bo înterneta giştî diweşîne.
Ew hemû çîrok di yek rêzê de ye: navekî amûrek pêbawer wekî xapandin, û JupyterLab wekî motora bicîhanîna kodê ji dûr ve. Serverek Jupyter her kodê ku hûn dinivîsin dimeşîne.ebook şaneyek; yek bi nîşanek vala tê destpêkirin û bi her navrûya torê ve girêdayî ye wergêrek vekirî ye ku her kesê ku dikare bigihîje portê dikare ajotinê bike.
Em klusterê wekî dişopînin FauxUVDu pakêtên ku hatine vekolandin ev in moon-uv (0.0.1-0.0.16) û my-magic-uv-helper (0.0.1), ji hêla heman operator ve hatî weşandin û di dema analîzê de li ser PyPI-yê zindî ye.
| Ecosystem | PyPI |
| pakêtên | moon-uv (0.0.1-0.0.16) my-magic-uv-helper (0.0.1) |
| Platforma hedefgirtî | Windows |
| Reftarên bingehîn | Servera JupyterLab a bêdestûr, bi rêya tunelek berevajî li ser înternetê hatiye weşandin |
| Amûrên rewa bi îstismarê hatine bikaranîn | uv, JupyterLab, ewrşewitî, Pinggy |
Xapandin: navekî ku hûn jixwe pê bawer dikin
uv yek ji amûrên Pythonê yên herî zêde hatî saz kirin di du salên dawî de ye, ji ber vê yekê "alîkarek ji bo uv"pakêtek e ku pêşdebir bêyî ku du caran bifikire saz dike. FauxUV baweriya xwe bi tevahî li ser wî navî xerc dike. Pakêt pêçayî ne rast uv sazkerê ji Astral - URL-yên di barkêşiyê de li mêvandarên rastîn û bi navûdeng nîşan didin - ji ber vê yekê nihêrînek bilez ji bilî referansên pêbawer tiştek din nabîne. Bi rastî, tu pakêt zêde nakin uv fonksiyonelîtî; nav tevahiya veşartinê ye.
JupyterLab wekî motora RCE
Navenda barê destwerdanek e ku bi rakirina her parzûnek parastinê JupyterLab-ê dest pê dike:
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 Her al parastinekê radike, û nivîsara şandî jî wan şîrove dike (bi Çînî ya orîjînal): nîşana vala "Kontrolkirina şîfre û nîşanan vedimirîne - her kes dikare pê ve girêbide." laboratûara jupyter IDE-yeke zanistiya daneyan a rewa ye, lê neebook hucre bi sêwirandinê koda kêfî pêk tîne. Bi vî rengî hatiye mîhengkirin û bi wê ve girêdayî ye 0.0.0.0, ew êdî ne IDE ye û dibe qalikek dûr a nenaskirî li ser mêvandar - ne hewce ye ku pelek binary a malware ya xwerû hebe, tenê amûrek sereke ya ku rêya xelet nîşan dide.
Du perçeyên piştgirî wê digihînin û dubare dikin:
- Tetikkerek sazkirinê ya bêdeng. Guhertoyên destpêkê PowerShell bi kar tînin -ExecutionPolicy Bypass rasterast ji setup.py on pip sazkirin, di paşperdeyê de bi çewtiyên tepeserkirî ji ber vê yekê pip normal xuya dike. Guhertoyên paşîn heman primitive diguhezînin nav pip-uv amûra xeta fermanê - û xebitandina otomatîk a dema sazkirinê bi tevahî rake.
- Tunelek berevajî ya giştî. Serverek li ser 0.0.0.0 hîn jî tenê ji hêla mêvandarên ku dikarin rê li ber makîneyê bigirin ve tê gihîştin. Modulek pakêt [Pinggy] vedike (https://pinggy.io/) Tunela berevajî ya SSH ku porta Jupyter a herêmî ber bi navnîşanek giştî ve dişîne, wê sînorkirinê radike. Skrîpta ku tê şandin her weha rêyek alternatîf bi karanîna Cloudflare hildigire - şîrovekirî ye ewrekî geş û a netsh port-proxy bo Linode IP, belgekirina heman armancê bi rêya binesaziya cûda.
Bi hev re bikin: pakêtê saz bikin, û mêvandarek Windows-ê di dawiyê de JupyterLab-ek bê şîfre dimeşîne û wê li ser înternetê vekirî diweşîne.
Çawa FauxUV pêş ket
Guhertoyên FauxUV bi lez û bez li pey hev hatin şandin, û xala tetikandina barkêşê li ser wan derbas bû - bîranînek ku guhertoyek nîşankirî kêm kêm çîroka tevahiya rêzek pakêtê vedibêje.
| Şanocî | guhertoyên | Kişok | Çi lê zêde dike |
|---|---|---|---|
| Çengê sazkirinê | moon-uv 0.0.1–0.0.3 my-magic-uv-helper 0.0.1 | setup.py li ser sazkirina pipê | sazkirina uv + pêşdîtina PATH |
| CLI-dema xebitandinê | moon-uv 0.0.5-0.0.13 | pip-uv ferman | destpêkerê JupyterLab-ê bê şîfre |
| Tûnêl | moon-uv 0.0.14-0.0.16 | pip-uv ferman | tunelek berevajî ya Pinggy ya çalak |
Bi taybetî, xebitandina otomatîkî ya dema sazkirinê bû rakirin di guhertoyên paşîn de, yên jêhatîtir - ji ber vê yekê skanerek tenê di çerxa jiyanê de tê miftekirin hooks dê berdanên nûtir wekî kêmtir xeternak, tam paşve.
Nîşaneyên lihevhatinê
Bi xwendina çavkaniya pakêtê ve hat piştrastkirin; xalên dawî hatine nîşankirin Şîrove kirin di pelan de hene lê ji hêla guhertoya analîzkirî ve nayên xebitandin. Nîşaneyên torê hatine defangkirin.
| Awa | indicator |
|---|---|
| Fermana sazkirinê | powershell -ExecutionPolicy Bypass sazkirina pipê de sazkirina rastîn a uv tê anîn |
| Alayên JupyterLab | --ip=0.0.0.0 --ServerApp.token="" --allow_origin='*' --disable_check_xsrf |
| Tunela berevajî (çalak) | free[.]pinggy[.]io:443 şandina herêmî 127.0.0.1:8888 |
| Pêşkêşvanê tunelê (şîrovekirî) | cloudflared tunnel --url hxxp://127[.]0[.]0[.]1:2718 |
| IP (şîrovekirî) | 45[.]79[.]134[.]161 (Linode) bi rêya netsh port-proxy |
| Li sersekinî | pêşdixe %USERPROFILE%\.local\bin bo bikarhêner PATH |
Sînyalên reftariyê yên ku hêjayî hişyariyê ne, serbixwe ji van rêzikên rastîn: a pip sazkirin ku çêdibe powershell -ExecutionPolicy Bypass; her jupyter destpêkirina hevgirtinê nîşanek=”” bi –ip=0.0.0.0; û SSH-ya derketî bo *.pinggy.io ji pêşdebir an makîneya CI.
Reftar û eslê çavdêrîkirî
Herdu pakêt nivîskar û rêbazek parve dikin: navekî amûrek pêbawer, deriyek tenê ji bo Windows-ê, xebitandina paşxaneyê ya bê çewtî, û girêdana bi amûrên navdar, ji ber vê yekê nihêrînek bilez tenê URL-yên navdar dibîne. Çavkanî şîroveyên bi zimanê Çînî hildigire ku alên têkildarî ewlehiyê bi zelalî diyar dikin; em wan wekî daxuyaniyên çavdêrîkirî di pelê de radigihînin, ne wekî îdîayek li ser motîfê. destûr_derketinê nirx û a colab.bat navê pelê herikînên xebatê yên nefermî yên "parvekirina dema xebitandina min a herêmî" yên ku ji bo Google Colab-ê belav dibin vedibêje. Eslê wê çi dibe bila bibe, encama pakêtkirî heman e.
Bandor û rêbername ji bo parêzvanan
Kî bi FauxUV ve tê rûbirûkirin. Pêşdebirên Windows û bazkerên CI yên ku pip sazkirin yek ji van pakêtan. JupyterLab-ek bê şîfre li ser 0.0.0.0 darvekirina kodê ji dûr ve ye ji bo her kesê ku dikare bigihîje portê; tunel sînorê "kî dikare bigihîje wê" radike. Server wekî bikarhênerê sazkirinê dixebite, pel, nîşanekan û bawernameyên ewr ên wî bikarhênerî mîras digire.
Ji ber çi ye ku meriv bi hêsanî dikare winda bike. Her rêza torê li ser mêvandarek navdar nîşan dide - Astral, JupyterLab, ewrekî geş, Pinggy, Colab. Ne malware binary heye ku were hashkirin û ne jî blobeke tarî heye ku were deşîfrekirin. Skenkirina li ser bingeha navûdeng û îmzeyê her du jî vê yekê kêm giran dikin, ji ber vê yekê pirsa tevgerî - Sazkirina vê pakêtê dihêle ku makîne çi bike? - ew e ku digire.
Birêvebirî:
- Her dema sazkirinê derman bike powershell -ExecutionPolicy Bypass wekî sînyalek şikandina avakirinê, çi URL-ê ku ew digire.
- Alert li ser jupyter bi nîşanek vala hate destpêkirin û –ip=0.0.0.0; divê ew kombînasyon qet li ser stasyona xebatê an jî li ser rawestgehekê xuya nebe.
- Çavdêriya dabînkerên tunelê yên ji bo SSH-ya derketî (*.pinggy.io, *.trycloudflare.com) ji pêşdebir û jîngehên CI.
- Lêkirin uv ji [çavkaniya wê ya fermî](https://docs.astral.sh/uv/) û li hember pakêtên "alîkar" ên partiya sêyemîn gumanbar bin ku amûrek ku sazkirina wê jixwe hêsan e dipêçin.
- Girêdayîbûnên li ser nûvekirinê pin bikin û ji nû ve binirxînin - rêzek pakêtan dikare şiyana nû guherto-bi-guhertoyê mezin bike.



