PyPI kataloqu yeni bir paket doğrulama sistemi uyguladı

Python paketleri depo yöneticileri PyPI (Python Paket Endeksi), yayınlanan paketlerin doğruluğunu kontrol etmek için dijital doğrulama mekanizmasının desteklenmesini uyguladıklarını duyurdular; bu, PGP imzaları kullanılarak yapılan doğrulamaların yerini aldı. Doğrulamanın temel farkı, paketin yayınlanmasının geliştirici tarafından değil, bir üçüncü taraf (paket kataloğu) tarafından doğrulanmasıdır; bu, yayınlanan paketin, GitHub veya GitLab üzerindeki ilgili deposuyla örtüşmesi gibi dış bir OpenID Connect sağlayıcısı aracılığıyla doğrulandıktan sonra yapılır.

Doğrulama sistemi, daha önce PyPI'de geçersiz sayılan PGP imzalama mekanizmasının eksikliklerini ortadan kaldırıyor. Bu karar, açık PGP anahtarlarını kullanan geliştiricilerin kimliğini doğrulamada yaşanan sorunlar nedeniyle alındı; 2020 yılından bu yana PyPI'de imza oluşturmak için kullanılan 1069 PGP anahtarından 'u önemli kamu kaynaklarında mevcut değildi. serverlər Ayrıca, denetim sırasında 35% anahtarın doğrulanamadığı tespit edildi. Bu doğrulanan PGP anahtarı yalnızca imzalı dosyaların %0.3'ünü kapsamaktadır.

Yeni sistemde, paketlerin imzalanması için kullanılan imzalar, OpenID Connect sağlayıcıları tarafından doğrulanan yetkilere dayalı olarak oluşturulan kısa ömürlü geçici anahtarlarla oluşturulmaktadır. Anahtarların oluşturulması sırasında, dijital imza oluşturmak için gerekli anahtarlar, ana projeyle bağlantısını doğrulayan bir OpenID sağlayıcısı aracılığıyla geliştirici tarafından tanımlanır. Dijital doğrulama altyapısı, Sigstore sistemi ve in-toto Attestation Framework araçları kullanılarak oluşturulmuştur.

Doğrulamanın avantajları arasında, sürekli PGP anahtarlarına bağlılık olmaması yer almakta; kapalı anahtarın kaybı veya tehlikeye girmesi, onunla oluşturulan imzalara olan güveni zayıflatır. Doğrulama karşısında, imza, bir paket yayımlandığında ve paketin ana kod deposuyla bağlantısı olduğunda yetkileri doğrulayan bir token ile ilişkilendirerek oluşturulur. Örneğin, GitHub Action aracılığıyla hazırlanan bir paketin yayımlanmasında, doğrulama, PyPI'ye yüklenen dosya ile depo, iş akışı süreci ve paketin oluşturulduğu commit hash'ı arasında doğrulanabilir ve onaylanmış bir bağlantıyı belirler.

PyPI kataloqu yeni bir paket doğrulama sistemi uyguladı

Açarların doğruluğunu izləmək və mümkün pozuntuları aşkar etmək üçün layihə paketlərini və PyPI-nin özünü formalaşdıran mərkəzləşdirilmiş açıq bir jurnal tətbiq edilir. Bu, məlumatların geriyə doğru dəyişdirilməsinə qarşı bütövlüyü təmin etmək üçün "Merkle ağacı" quruluşundan istifadə edir (hər budaq bütün alt budaqları və düyünləri təsdiqləmiş olur, bu isə ağac şəklindəki hash-ləşdirmə sayəsində mümkündür).

Bundan əlavə, PyPI kataloqunda facr palavra paketi aşkarlandı. Bu paket, tip skouting (özündə bənzər adların təyin edilməsi, məsələn, exampl əvəzinə example, djangoo əvəzinə django, pyhton əvəzinə python və s.) vasitəsilə məşhur "fabric" kitabxanası kimi gizlənmişdi ki, onun 201 milyon yüklənməsi var (son ayda 7 milyon yükləmə). Zərərli paket 2021-ci ildən bəri görünməz qaldı və o vaxtdan bəri 37 mindən çox yüklənib.

Fabrice paketi orijinal kitabxananın əsas funksionallığını təkrar edirdi və əlavə olaraq AWS (Amazon Web Services) -ə giriş açarlarını aşkar etmək və göndərmək, geriyə qapı quraşdırmaq və müəyyən skriptlərin icrasını həyata keçirmək üçün kod da əlavə etmişdi. Zərərli komponentlərin aktivləşdirilməsi Linux və Windows-da baş verirdi. Linux-da zərərli fəaliyyətlə bağlı fayllar ~/.local/bin/vscode kataloquna yüklənirdi.

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster