Python Paket Endeksi (PYPI), yayıncıların projelerini arşivlemelerine izin veren yeni bir sistem olan ‘Proje Arşivi’nin tanıtıldığını duyurdu ve bu da kullanıcılara güncelleme beklenmeyeceğini gösteriyor.
Projeler hala PYPI’da barındırılacak ve kullanıcılar hala indirebilecek, ancak bağımlılıkları hakkında bilinçli kararlar vermelerine yardımcı olmak için bakım durumu hakkında bir uyarı görecekler.
Yeni özellik, geliştirici hesapları ve kötü amaçlı güncellemeleri yaygın olarak kullanılan ancak terk edilmiş projelere zorlamak için tedarik zincirinin güvenliğini artırmayı amaçlamaktadır.
Kullanıcılar riskini düşürmenin yanı sıra, projenin yaşam döngüsü durumunun net iletişimini sağlayarak kullanıcılardan gelen destek isteklerini de azaltır.
Proje Arşivleme Nasıl Çalışır?
Pypi’nin yeni proje arşiv sisteminin geliştiricisi TrailOfbits’ten daha ayrıntılı bir bloga göre, özellik, proje sahiplerinin projelerini arşivlenmiş olarak işaretlemelerine izin veren, kullanıcılara daha fazla güncelleme, düzeltme, düzeltme, düzeltme ve veya bakım.
PYPI, bir projeyi arşivlemeden önce bir proje arşivlemenin ardındaki nedenler ve açıklamalar ekleyecek şekilde arşivlemeden önce son bir sürüm yayınlamasını önerir, ancak bu zorunlu değildir.
Bakımcılar, üzerinde çalışmaya devam etmeyi seçerse, gelecekte herhangi bir zamanda projelerini açmazlar.
Kaputun altında, yeni sistem başlangıçta proje karantinası için geliştirilen ve farklı durumlar arasında geçişleri sağlayan bir durum makinesi içeren bir Lifecyclestatus modeli kullanır.
Proje sahibi PYPI Ayarları sayfasındaki ‘Arşiv Projesi’ seçeneğini tıkladığında, platform meta verilerini yeni durumu yansıtacak şekilde otomatik olarak günceller.
TrailOfbits, kullanıcılara projenin durumu hakkında daha net bir fikir veren ‘kullanımdan kaldırılmış’, ‘özellik tamamlandı’ ve ‘muhalefetsiz’ gibi daha fazla proje durumu ekleme planları olduğunu söylüyor.
Uyarı afişi, geliştiricilere eski ve potansiyel olarak güvensiz projelere güvenmeye devam etmek yerine aktif olarak korunmuş alternatif bağımlılıklar aramaları gerektiğini bildirmek içindir.
Bunun dışında, saldırganların terk edilmiş paketleri hedeflemesi, muhalefetsiz projeleri devralması ve sonuncusundan birkaç yıl sonra gelebilecek bir güncelleme yoluyla kötü amaçlı kod enjekte etmesi genellikle söz konusudur.
Diğer durumlarda, bakıcılar gelişimi durdurmayı planlarken projelerini silmeyi seçer, bu da ‘canlanma kaçırma’ saldırıları gibi senaryolara yol açar. Bu bakıma arşivleme seçeneği vermek, güvenlik açısından çok daha iyidir.
Nihayetinde, açık kaynakın doğası nedeniyle, birçok proje bildirimde bulunulmadan terk edilir ve kullanıcıların hala korunup koruymadıklarını tahmin eder.
Yeni sistem, açık kaynaklı proje bakımındaki şeffaflığı artırmalı, tahminleri kaldırmalı ve bir projenin durumu hakkında açık bir sinyal sağlamalıdır.