W PyPI wprowadzono możliwość publikowania pakietów bez konieczności używania haseł i tokenów API

W repozytorium pakietów Pythona PyPI (Python Package Index) wprowadzono nową, zabezpieczoną metodę publikacji pakietów, która pozwala uniknąć przechowywania w zewnętrznych systemach (np. w GitHub Actions) stałych haseł i tokenów dostępu do API. Nowa metoda autoryzacji nosi nazwę „Zaufani Wydawcy” i ma na celu rozwiązanie problemu publikacji złośliwych aktualizacji, które są skutkiem kompromitacji zewnętrznych systemów i przejęcia przez osoby trzecie z góry ustalonych haseł lub tokenów.

Nowa metoda autoryzacji opiera się na wykorzystaniu standardu OpenID Connect (OIDC), który polega na używaniu tokenów autoryzacyjnych o ograniczonym czasie ważności, wymienianych pomiędzy zewnętrznymi usługami a katalogiem PyPI w celu potwierdzenia operacji publikacji pakietu, zamiast stosowania tradycyjnych loginu/hasła lub ręcznie generowanych stałych tokenów dostępu do API. Możliwość stosowania mechanizmu „Zaufani Wydawcy” została już wdrożona dla procesów uruchamianych w GitHub Actions. W przyszłości planowane jest wprowadzenie wsparcia Zaufanych Wydawców również dla innych zewnętrznych usług.

Towarzyszące pakiety mogą z poziomu PyPI oznaczyć identyfikatory dostarczane przez zewnętrznych dostawców OpenID (IdP, OpenID Connect Identity Provider) jako zaufane, co zewnętrzna usługa wykorzysta do żądania od PyPI krótkoterminowych tokenów. Generowane tokeny OpenID Connect potwierdzają związki pomiędzy projektem a procesorem, co pozwala PyPI na dodatkową weryfikację metadanych, na przykład, aby sprawdzić, że publikowany pakiet odnosi się do określonego repozytorium. Tokeny nie są przechowywane, są przypisane do określonych API i automatycznie tracą ważność po upływie krótkiego czasu życia.

Dodatkowo warto wspomnieć o raporcie firmy Sonatype, który zawiera informacje o wykryciu w marcu 2023 roku 6933 złośliwych pakietów w katalogu PyPI. Od 2019 roku liczba wykrytych złośliwych pakietów w PyPI przekroczyła 115 tysięcy. Większość złośliwych pakietów maskuje się pod popularnymi bibliotekami za pomocą typu squatting (przydzielania podobnych nazw, różniących się pojedynczymi znakami, np. exampl zamiast example, djangoo zamiast django, pyhton zamiast python itd.) — przestępcy liczą na nieuważnych użytkowników, którzy popełnił literówki lub nie zauważyli różnic w nazwie przy wyszukiwaniu. Działania złośliwe zwykle polegają na wysyłaniu poufnych danych, znalezionych na lokalnym systemie w wyniku określenia typowych plików z hasłami, kluczami dostępu, portfelami kryptograficznymi, tokenami, sesyjnymi plikami Cookie oraz innymi poufnymi informacjami.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster