What is Nostr?
Michał Górny /
npub1ema…smp3
2025-02-23 16:49:50

Michał Górny on Nostr: Jakiś czas temu zaimplementowałem w #Gentoo wsparcie #SigStore, by móc ...

Jakiś czas temu zaimplementowałem w #Gentoo wsparcie #SigStore, by móc weryfikować nowe wydania CPythona. Dziś dowiedziałem się, że #PyPI również obsługuje takie "poświadczenia". Tylko jak je weryfikować?

https://blog.sigstore.dev/pypi-attestations-ga/

Ten post sugeruje, że na blogu PyPI znajdę "detale istotne dla użytkowników". No więc zajrzyjmy tam.

https://blog.pypi.org/posts/2024-11-14-pypi-now-supports-digital-attestations/

Tylko informacje o publikowaniu i przeglądaniu ich (a sposób wymieniony tam nie jest właściwą odpowiedzią na https://pol.social/@mgorny/114053976252968950), a nie weryfikacji. Szukamy dalej.

https://docs.pypi.org/attestations/

Tylko linki do kilku technicznych specyfikacji, nic przydatnego.

https://docs.pypi.org/attestations/consuming-attestations/

O, tu w końcu jest jakiś przykład. Sprawdźmy podlinkowany projekt.

https://pypi.org/project/pypi-attestations/

> [!WAŻNE] Ta biblioteka stanowi szczegół implementacji wewnątrz referencyjnej implementacji PEP 740. Większość użytkowników nie musi korzystać z niej bezpośrednio; więcej szczegółów w dokumentacji PyPI. [tłum. własne]

Tyle że ten link prowadzi do strony ze specyfikacjami! Jak jeszcze trochę pokopiemy, to możemy znaleźć API, które dostarcza nasze "poświadczenie":

https://docs.pypi.org/api/integrity/

No fajno, tylko co z nim zrobić? Przeskoczmy pół godziny wprzód, które zmarnowałem, próbując go użyć. Pokrótce rzecz biorąc, jedyne co pypi-attestations może zrobić jest pobranie interesującego nas pliku i danych "poświadczenia" *wprost z serwera*, i zweryfikowanie go. Więc trzeba używać dodatkowego narzędzia, które dodatkowo zawsze korzysta z Internetu.

A przynajmniej tak sądzę, bo nie brak wszędzie słów "eksperymentalne", a dokumentacja chyba już gorsza być nie może. No cóż, zgłosiłem prośbę o weryfikację w trybie offline, zobaczymy:

https://github.com/trailofbits/pypi-attestations/issues/95

#Python #bezpieczeństwo
Author Public Key
npub1ema8xvy3euqndx4lkefx53a8k2ykyu77madvdphch37plqe0hk3s8zsmp3