PyPI implementuje możliwość publikowania pakietów bez przywiązania do haseł i tokenów API

Repozytorium pakietów PyPI (Python Package Index) Python zapewnia możliwość korzystania z nowej bezpiecznej metody publikowania pakietów, co eliminuje konieczność przechowywania stałych haseł i tokenów dostępu API na zewnętrznych systemach (np. w GitHub Actions). Nowa metoda uwierzytelniania nosi nazwę „Zaufani wydawcy” i ma na celu rozwiązanie problemu publikowania złośliwych aktualizacji wynikających z naruszenia zewnętrznych systemów i dostania się predefiniowanych haseł lub tokenów w niepowołane ręce.

Nowa metoda uwierzytelniania oparta jest o standard OpenID Connect (OIDC), który polega na wykorzystaniu ograniczonych czasowo tokenów uwierzytelniających, które są wymieniane pomiędzy zewnętrznymi usługami a katalogiem PyPI w celu potwierdzenia operacji opublikowania paczki, zamiast tradycyjnego logowania /password lub ręcznie wygenerowane trwałe tokeny dostępu API. Możliwość korzystania z mechanizmu „Zaufani wydawcy” jest już zaimplementowana dla handlerów uruchamianych w GitHub Actions. W przyszłości spodziewane jest również wsparcie dla Zaufanych wydawców dla innych usług zewnętrznych.

Opiekunowie pakietów mogą po stronie PyPI ufać identyfikatorom dostarczonym zewnętrznym dostawcom OpenID (IdP, OpenID Connect Identity Provider), których usługa zewnętrzna będzie używać do żądania nieożywionych tokenów od PyPI. Wygenerowane tokeny OpenID Connect potwierdzają związek między projektem a handlerem, co pozwala PyPI na przeprowadzenie dodatkowej weryfikacji metadanych, takiej jak sprawdzenie, czy opublikowany pakiet jest powiązany z określonym repozytorium. Tokeny są nietrwałe, powiązane z określonymi interfejsami API i automatycznie wygasają po krótkim czasie życia.

Dodatkowo na uwagę zasługuje raport firmy Sonatype z informacją o wykryciu 2023 szkodliwych pakietów w katalogu PyPI w marcu 6933 roku. W sumie od 2019 roku liczba szkodliwych pakietów wykrytych w PyPI przekroczyła 115 tysięcy. Większość złośliwych pakietów podszywa się pod popularne biblioteki wykorzystujące funkcję typequatting (przypisywanie podobnych nazw różniących się pewnymi znakami, na przykład examplel zamiast example, djangoo zamiast django, pyhton zamiast python itp.) — osoby atakujące polegają na nieuważnych użytkownikach, którzy dokonali literówka lub nie, który zauważył różnice w nazwie podczas wyszukiwania. Złośliwe działania zwykle sprowadzają się do wysyłania poufnych danych znalezionych w lokalnym systemie w wyniku zdefiniowania typowych plików z hasłami, kluczami dostępu, portfelami kryptowalut, tokenami, sesyjnymi plikami cookie i innymi poufnymi informacjami.

Źródło: opennet.ru

Dodaj komentarz