PyPI je oficiálny softvérový archív pre aplikácie tretích strán v programovacom jazyku Python.
Pred niekoľkými dňami bolo oznámené, že repozitár balíkov Python PyPI (Python Package Index) teraz ponúka novú bezpečnú metódu publikovania balíkov , čím sa eliminuje potreba ukladať pevné heslá a tokeny prístupu k API na externých systémoch (napr. GitHub Actions).
Nová metóda overovania sa nazýva „Dôveryhodní vydavatelia“ a je navrhnutá tak, aby riešila problém publikovania škodlivých aktualizácií v dôsledku napadnutia externých systémov a doručenia preddefinovaných hesiel alebo tokenov do nesprávnych rúk.
Od dnešného dňa môžu správcovia balíkov PyPI prijať novú, bezpečnejšiu metódu publikovania, ktorá nevyžaduje dlhodobé heslá alebo tokeny API na zdieľanie s externými systémami.
Uvádza sa, že táto nová metóda autentifikácie poskytuje významné výhody v oblasti použiteľnosti a bezpečnosti v porovnaní s inými tradičnými metódami autentifikácie PyPI:
- použiteľnosť: Vďaka dôveryhodnému publikovaniu už používatelia nemusia manuálne vytvárať tokeny API v PyPI a kopírovať a vkladať ich do svojho poskytovateľa CI. Jediným manuálnym krokom je konfigurácia editora v PyPI.
- zabezpečenia: bežné tokeny rozhrania PyPI API majú dlhú životnosť, čo znamená, že útočník, ktorý ohrozí vydanie balíka, ho môže použiť, kým si ho legitímny používateľ nevšimne a ručne ho neodvolá. Podobne nahrávanie s heslom znamená, že útočník môže nahrať akýkoľvek projekt spojený s účtom. Trusted Publishing predchádza obom týmto problémom: Platnosť vydaných tokenov vyprší automaticky a sú obmedzené len na balíky, do ktorých majú oprávnenie nahrať.
Pokiaľ ide o túto novú metódu autentifikácie, uvádza sa, že je založená na štandarde OpenID Connect (OIDC), ktorý používa časovo obmedzené autentifikačné tokeny vymieňané medzi externými službami a adresárom PyPI na overenie operácie publikovania balíka namiesto použitia tradičného prihlasovacieho mena/hesla alebo trvalého API generovaného manuálne pomocou prístupových tokenov.
„Dôveryhodná publikácia“ je náš termín pre používanie štandardu OpenID Connect (OIDC) na výmenu krátkodobých tokenov identity medzi dôveryhodnou službou tretej strany a PyPI. Túto metódu možno použiť v automatizovaných prostrediach a eliminuje potrebu používať kombinácie používateľského mena/hesla alebo manuálne generované tokeny API na autentifikáciu pomocou PyPI pri publikovaní.
Na druhej strane je tiež spomenuté, že správcovia balíkov môžu na strane PyPI dôverovať identifikátorom poskytovaným externým poskytovateľom OpenID (IdP), ktoré externá služba použije na vyžiadanie neživých tokenov PyPI.
Vygenerované tokeny OpenID Connect potvrdzujú vzťah medzi projektom a ovládačom, čo umožňuje PyPI vykonať dodatočné overenie metadát, ako napríklad overenie, či je publikovaný balík priradený ku konkrétnemu repozitáru. Tokeny nie sú trvalé, sú viazané na konkrétne rozhrania API a ich platnosť automaticky vyprší po krátkej životnosti.
Namiesto toho môžu správcovia PyPI nakonfigurovať PyPI tak, aby dôverovalo identite poskytnutej daným poskytovateľom identity OpenID Connect (IdP). To umožňuje PyPI overiť a delegovať dôveru k tejto identite, ktorá je potom oprávnená požadovať od PyPI tokeny API s obmedzeným rozsahom a krátkou životnosťou. Tieto tokeny API sa nikdy nemusia ukladať ani zdieľať, automaticky sa otáčajú pri rýchlom vypršaní platnosti a poskytujú overiteľné prepojenie medzi publikovaným balíkom a jeho zdrojom.
V súčasnosti je už implementovaná a funkčná možnosť používania mechanizmu dôveryhodných vydavateľov pre ovládače iniciované v akciách GitHub. Napokon, a čo je dôležité, uvádza sa aj to, že v budúcnosti sa očakáva podpora dôveryhodných vydavateľov aj pre ďalšie externé služby.
Na záver, ak sa chcete o tom dozvedieť viac , podrobnosti nájdete na nasledujúcom odkaze.