PyPI proje sayfalarına Security sekmesi ekledi: sürüm dosyalarının kaynağı ve attestation durumu tek yerde
Python Package Index, her sürüm dosyasının nereden ve nasıl yayımlandığını gösteren bir Security sekmesi ekledi. Depo ya da derleme hattı değiştiğinde veya önceki sürümlerde olan attestation kesildiğinde sayfa uyarı gösteriyor.
Python paket deposu PyPI, proje sayfalarına yeni bir Security sekmesi ekledi. Help Net Security'nin aktardığına göre sekme, bir sürümdeki her dosyanın dijital attestation'a sahip olup olmadığını ve bu attestation'ların ne söylediğini gösteriyor. Attestation, bir dosyanın nasıl yayımlandığı ya da derlendiğine dair doğrulanabilir kayıt anlamına geliyor.
İki tür kayıt öne çıkıyor: PyPI Publish attestation'ı dosyayı yükleyen Trusted Publisher'ı tanımlıyor; SLSA Build Provenance attestation'ı ise dosyayı kaynak commit'ine, derleme platformuna ve derleme talimatlarına bağlıyor. Bir sürümdeki her dosyada en az bir attestation varsa sürüm "tam provenance" sayılıyor. Kullanıcılar ayrıntıları sekmede görebiliyor ya da bağlantılı transparency log'u açabiliyor.
Uyarılar neye bakıyor?
PyPI şu durumlarda uyarı gösteriyor: sürümdeki dosyaların yalnızca bir kısmı attestation taşıyorsa, aynı sürümün dosyaları farklı depo ya da derleme sistemlerinden geliyorsa, sürüm bir önceki sürümden farklı bir depo veya workflow'dan yayımlandıysa ve daha önce attestation sağlayan bir proje bunu bırakırsa. Uyarılar sayfanın en üstünde, geri çekilmiş (yanked) sürüm ve arşivlenmiş proje notlarıyla birlikte yer alıyor; karantinadaki projelerde yalnızca karantina bandı görünüyor.
PyPI tasarım katkıcısı Nicole Harris, attestation'ı olmayan sürümün kötü amaçlı olduğu anlamına gelmediğini vurguluyor: eski sürümlerde ve Trusted Publishing kurmamış projelerde bu yaygın; eksik olan yalnızca kaynağın kriptografik olarak doğrulanabilmesi. Workflow değişikliğinin de kurum adı ya da depo taşıma gibi meşru açıklaması olabilir, ancak ele geçirilmiş bir derleme hattının ya da hesap ele geçirmenin işareti de olabilir.
Release Files sekmesi her dosyanın provenance durumunu filtrelemeye izin veriyor. PyPI'nin Temmuz 2026'daki politika değişikliğinden önceki sürümlerde, ilk yayından 14 günden sonra yüklenen dosyalar işaretleniyor; o değişiklikten bu yana geç yüklemeler reddediliyor.
Neden önemli?
Paket deposu üzerinden gelen tedarik zinciri saldırılarında en zor soru "bu dosya gerçekten projenin kendi hattından mı çıktı?" sorusuydu. Bu bilgi artık attestation'ı yayımlayan projeler için paket sayfasında, sürüm sürüm görülebiliyor; özellikle bir projenin yayın hattının aniden değişmesi gibi ele geçirme belirtileri kullanıcının önüne çıkıyor.
Kimin işine yarar / ne yapabilirsiniz?
- Paket yayımlayanlar: Trusted Publishing'i yapılandırın ki sürümleriniz attestation taşısın ve kullanıcılarınız "provenance yok" görmesin.
- Bağımlılık seçenler: Kritik bağımlılıklarda yeni sürüme geçmeden önce Security sekmesine bakın; depo ya da workflow değişikliği uyarısı varsa projenin duyurularıyla karşılaştırın.
- Güvenlik ekipleri: Attestation'ı kesilen ya da yayın hattı değişen paketleri bağımlılık inceleme sürecine bir kontrol maddesi olarak ekleyin; attestation yokluğunu tek başına engelleme gerekçesi değil, ek inceleme sinyali olarak ele alın.