Pythoni paketite hoidlas PyPI (Python Package Index) on nüüd saadaval uus turvaline meetod pakettide avaldamiseks, mis võimaldab vältida väliste süsteemide (nt GitHub Actions) fikseeritud paroolide ja API juurdepääsutokenite salvestamist. Uut autentimismeetodit nimetatakse 'Trusted Publishers', ja see on loodud selleks, et lahendada probleem pahatahtlike värskenduste avaldamisega, mis tulenevad väliste süsteemide kompromiteerimisest ja eelnevalt määratud paroolide või tokenite sattumisest kurjategijate kätte.
Uus autentimismeetod põhineb OpenID Connect (OIDC) standardi kasutamisel, mille kohaselt vahetatakse piiratud kehtivusajaga autentimistokene, millega kinnitavad paketi avaldamise operatsiooni välised teenused ja PyPI kataloog, selle asemel et kasutada traditsioonilisi sisselogimise/parooli või käsitsi genereeritud püsivaid API juurdepääsutokenid. 'Trusted Publishers' mehhanismi rakendamise võimalus on juba teostatud GitHub Actions'is käivitatavate töötlustehnikate jaoks. Tulevikus oodatakse 'Trusted Publishers' toe rakendamist ka teistele välist teenustele.
Saatepaketid saavad PyPIs usaldusmärgid määrata OpenID (IdP, OpenID Connect Identity Provider) välistelt teenusepakkujatelt, mida väline teenus kasutab, et küsida PyPItelt lühiajalisi token'e. Generaatorid OpenID Connect token'id kinnitavad seose projekti ja töötleva süsteemi vahel, mis võimaldab PyPI-l teha täiendavaid metainfo verifitseerimisi, näiteks kontrollida, et avaldatud pakett vastab kindlale hoidla. Token'id ei salvestata, need on seotud teatud API-dega ja lõpetavad automaatselt kehtivuse pärast lühikese kehtivusaja lõppu.
Lisaks tasub märkida Sonatype'i raportit, milles esitatakse teave 6933 pahavara paketi avastamisest PyPI kataloogis märtsis 2023. Kokku on alates 2019. aastast PyPI-s tuvastatud üle 115 000 pahavara paketi. Enamik pahavara pakette varjub populaarsete raamatukogude taha, kasutades tüüpnime varjamist (sarnaste nimede määramine, mis erinevad üksikute märkide poolest, näiteks exampl asemel example, djangoo asemel django, pyhton asemel python jne) — kurjategijad loodavad, et hooletud kasutajad teevad trükivigu või ei pane otsingus nime erinevustes tähele. Pahatahtlikud tegevused piirduvad tavaliselt konfidentsiaalsete andmete edastamisega, mis on leitud kohalikust süsteemist tüüppfailide tuvastamise tulemusena, mis sisaldavad paroole, juurdepääsuvõtmeid, krüptorahakotte, token'eid, seansiväärtusi ja muud konfidentsiaalset teavet.
Allikas: opennet.ru
