- PyPI memblokir unggahan file baru untuk rilis yang sudah lewat 14 hari sejak dipublikasikan, agar rilis lama yang stabil tidak tercemar meskipun token atau workflow distribusi dibajak
- Hingga saat ini belum ada kasus penyalahgunaan nyata yang terkonfirmasi, tetapi selain fakta bahwa penyerang mungkin tidak mengetahui kemungkinan ini, tidak ada penghalang teknis untuk mencegah serangan
- Dari hasil pemeriksaan 15.000 paket teratas, hanya 56 proyek yang menambahkan wheel
cp314untuk Python 3.14 setelah 14 hari sejak rilis - Proyek yang sebelumnya menambahkan dukungan versi Python baru ke rilis yang sudah ada kini harus merilis versi berikutnya, dan PyCon US 2026 Packaging Summit juga menilai ini sebagai pendekatan yang dapat diterima
- Karena belum ada API untuk mendefinisikan atau memeriksa status terbuka/tertutup sebuah rilis, perilaku ini tidak boleh dijadikan dependensi; ke depan, API Upload 2.0 dan Staged Previews dari PEP 694 akan menetapkan semantik terkait
Alasan Menutup Rilis Lama
- Perubahan pada PyPI memblokir jalur untuk mengunggah file baru ke rilis lama yang stabil
- Mencegah situasi ketika hanya sebagian rilis lama diganti dengan file berbahaya meskipun token publikasi atau workflow proyek disusupi
- Menghindari keadaan ambigu ketika dalam satu rilis tercampur file yang disusupi dan yang tidak, sekaligus mengurangi pekerjaan pembersihan bagi administrator PyPI
- Diskusi dimulai pada Januari 2024 saat pekerjaan PEP 740 Digital Attestations, lalu dilanjutkan kembali pada Maret 2026
- Pemicunya adalah insiden supply chain LiteLLM dan Telnyx, yang disebabkan oleh referensi yang dapat berubah (mutable reference) pada Trivy GitHub Action yang digunakan kedua proyek tersebut
- Diskusi awal sempat terhenti karena beberapa proyek menambahkan file dukungan versi Python baru ke rilis yang sudah dipublikasikan
- Untuk memahami dampak perubahan, basis data PyPI diteliti berdasarkan jumlah hari yang berlalu untuk melihat proyek yang menambahkan file ke rilis lama
- Hasil pemeriksaan terpisah terhadap wheel
cp314dari 15.000 paket teratas menunjukkan bahwa 56 proyek memublikasikan wheel kompatibel Python 3.14 setelah 14 hari
Keputusan Penerapan dan API Mendatang
- Di PyCon US 2026 Packaging Summit, terbentuk konsensus umum bahwa saat mendukung versi Python baru, meminta proyek menaikkan ke versi berikutnya dapat diterima
- Berdasarkan data investigasi dan konsensus tersebut, patch Warehouse diajukan dan digabungkan pada 8 Juli 2026
- Pembatasan saat ini belum dapat dianggap sebagai antarmuka yang stabil
- Definisi “rilis yang tidak lagi menerima file baru” belum difinalisasi, dan belum ada API untuk memeriksa statusnya
- Setelah PEP 694 menstandarkan Upload 2.0 API dan Staged Previews, semantik untuk memperlakukan rilis sebagai
openatauclosedakan disiapkan
1 komentar
Komentar Lobste.rs