· kaynak Hacker News – Front Page (native)
PyPI proje sayfalarına özel güvenlik sekmesi ve provenance uyarıları geldi
PyPI arayüz yenilemesini tamamladı: proje sayfalarında artık dosya bazındaki attestasyonları, provenance durumlarını ve bir sürümün kaynağı şüpheli göründüğünde belirgin uyarıları gösteren bir güvenlik sekmesi yer alıyor.

PyPI, proje sayfalarının kapsamlı yeniden tasarımını tamamladı; yeniliğin başında, sürüm dosyalarının kriptografik attestasyon taşıyıp taşımadığını gösteren ve bir paketin provenance'ı şüpheli göründüğünde uyarı çıkaran yeni bir güvenlik sekmesi geliyor. Python Package Index blogundaki bir yazıya göre, ilk olarak Temmuz'da duyurulan ve Python topluluğu üyeleriyle yapılan kullanıcı araştırmasıyla şekillendirilen çalışma artık sitede yayında.
Özel bir güvenlik sekmesi
Merkezde, her proje sayfasında yer alan güvenlik sekmesi var. Sürümün genel provenance durumunu dosya bazındaki attestasyonlarla birlikte raporluyor ve geliştiricilere sürüm dosyalarının gerçekte nereden geldiğini tek bir yerden kontrol etme imkânı sunuyor.
PyPI, her sürüm dosyasına kriptografik olarak doğrulanabilir bir kaynak kaydı vermek için dijital attestasyonları 2024'te kullanıma sundu. Blogda açıklandığı gibi iki tür destekleniyor: bir dosyanın Trusted Publisher üzerinden yayınlandığını doğrulayan PyPI Publish attestasyonları ve bir dosyayı belirli bir kaynak commit'e, build platformuna ve build talimatlarına bağlayan SLSA Build Provenance attestasyonları. Attestasyon meta verisi doğrudan arayüzde incelenebiliyor; daha fazla ayrıntı için transparency log'a giden bir bağlantı da mevcut.
Bir sürüm genellikle iki durumdan birinde bulunur. "Full provenance", sürümdeki tüm dosyaların attestasyon taşıdığı anlamına gelir. "No provenance" ise hiçbirinin taşımadığı anlamına gelir; bu, eski sürümler veya Trusted Publishing kurmamış projeler için tipiktir. PyPI ekibi, provenance'ın olmamasının sürümün kötü niyetli olduğunu göstermediğini — yalnızca dosyanın kaynağının kriptografik olarak doğrulanamadığını — vurguluyor; bakıcıların geçmiş sicili, alışılmış sürüm davranışları ve kaynak depodaki etkinlik gibi çevresel sinyallere dayanmayı öneriyor.
Provenance şüpheli göründüğünde uyarılar
Bu iki durumun arasında, örneğin bir hesabın veya yayın iş akışının ele geçirilmesi sonrasında bir projenin bakıcılarından gelmemiş olabilecek dosyaları yakalamak için tasarlanmış dört uyarı bulunuyor:
- Incomplete provenance: bir sürümdeki dosyalardan bazıları attestasyon taşırken diğerleri taşımıyor; örneğin wheel'ler Trusted Publishing ile yüklenirken kaynak tarball geleneksel bir API token'ıyla yüklenmiş olabilir.
- Inconsistent provenance: tek bir sürüm, farklı sistemlerde derlenmiş veya farklı kaynak depolarından gelmiş dosyaları birleştiriyor.
- Change of provenance: dosyalar, önceki sürümlerin aksine farklı bir depodan veya iş akışından geliyor — çoğu zaman meşru bir durum, örneğin bir depo göçü; ancak ele geçirilmiş bir pipeline'ın işareti de olabilir.
- Loss of provenance: daha önce attestasyonlarla yayın yapan bir proje, attestasyonsuz yüklemelere geçmiş.
Blog, uyarıların çoğunun masum açıklamalar taşıdığını, ancak her birinin kurulumdan önce araştırılmaya değer olduğunu belirtiyor — altyapı değişikliğinin planlandığını doğrulamak için sürüm notlarına, issue tracker'a veya projenin resmî kanallarına bakmak gerekiyor.
Yeniden tasarlanan proje ve sürüm sayfaları
Proje detay sayfası, yeni sinyalleri destekleyecek biçimde yeniden düzenlendi. Provenance uyarıları artık sayfanın en üstünde, geri çekilen sürümler, arşivlenmiş projeler ve pre-release'ler için mevcut bantların yanında yer alıyor; bir proje veya sürüm karantinaya alındığında yalnızca karantina bandı görünüyor. Kenar çubuğu, bir sürümün provenance durumu tam veya işaretli olduğunda bu durumu gösteriyor ve güvenlik sekmesine bağlantı veriyor. Kenar çubuğu meta verisi yararlılığa göre yeniden sıralandı ve doğrulama durumuna göre eski gruplandırmanın yerine "PyPI data" veya "Data verified by PyPI" etiketleri kullanıldı.
Sürüm dosyaları sekmesi uzun dosya listeleri için arama ve filtreleme ekliyor, her dosyanın provenance durumunu gösteriyor ve sürümün ilk zaman damgasından 14 günden fazla sonra yüklenen "geç" dosyaları turuncu bir uyarı simgesiyle işaretliyor. Bu uyarılar yalnızca Temmuz 2026'dan önceki sürümlerde görünüyor; o tarihte yürürlüğe giren bir politika, 14 günlük pencereden sonra eklenen dosyaları reddediyor. Sürüm geçmişi sekmesi de artık her sürüm için dosya sayısını, provenance durumunu ve sürüm durumunu — karantinada, geri çekilmiş, arşivlenmiş veya pre-release — listeliyor.
Destek ve sıradaki adımlar
Yeniden tasarım, OpenSSF Attestations Style Guide'daki önerileri uyguluyor; Open Source Security Foundation tarafından finanse edildi ve Kabu Creative tasarım stüdyosuyla birlikte geliştirildi. PyPI, güvenlik sekmesinin gelecekteki attestasyon türlerine ve güvenlik duyurularına ev sahipliği yapacağını söylüyor; diğer yazılım depolarının bu desenleri yeniden kullanabilmesi için stil rehberinde bir vaka çalışması da yayımladı. Kullanıcı belgeleri ayrıca kaynak kodu değerlendirme, provenance kontrolü, paket bütünlüğü doğrulama, yaygın saldırıları tanıma ve sorunları bildirme konularını kapsayan bir paket güvenliği rehberiyle genişletildi.
Neden önemli
Python ekosistemi büyüdükçe PyPI kötü niyetli aktörlerin artan ilgisini çekti ve paket kayıtlarına yönelik supply-chain saldırıları genellikle kimsenin bir dosyanın gerçekte nereden geldiğini sorgulamadığı zamanlarda başarıya ulaşıyor. Attestasyonlar zaten vardı, ancak PyPI blogunun da kabul ettiği gibi provenance birçok kullanıcı için tanıdık olmayan bir kavramdı ve eski arayüz bunu açıklamak için pek bir şey yapmıyordu. Bu kriptografik sinyalleri görünür durumlara ve eyleme dönüştürülebilir uyarılara çevirmek, doğrulamayı bir paketi değerlendiren herkes için isteğe bağlı bir adım olmaktan çıkarıp varsayılan görünümün parçası hâline getiriyor. Bakıcılar için pratik çıkarım, gelecekteki sürümlerin attestasyonlarla çıkması adına Trusted Publishing'i benimsemek; diğer herkes için ise eskiden elle inceleme gerektiren kontroller artık kurulum komutundan önce ortaya çıkıyor.
- #python
- #pypi
- #security
- #package-management
- #supply-chain
İlgili yazılar
- UnrealIRCd hot-patch, yeniden başlatma gerektirmeden aktif olarak istismar edilen CVE-2026-114713'i gideriyor
- Cloudflare: Çalınan CI/CD token'ları gerçek ihlallere kapı açarken, AI sızma testi trafiği 30 kat arttı
- Adobe'nin APSB26-101 bülteni Premiere Pro'daki rasgele kod çalıştırma açıklarını kapatıyor