Walaupun RubyGems.org baru-baru ini mempamerkan infrastruktur keselamatan yang kukuh yang berjaya mengesan dan membuang gem berniat jahat, kontroversi yang tidak dijangka telah muncul daripada komuniti Ruby . Penyelenggara Unicorn , sebuah pelayan HTTP yang popular untuk aplikasi Ruby , telah mengumumkan secara terbuka usaha untuk sengaja mengelakkan langkah keselamatan - bukan disebabkan oleh batasan teknikal, tetapi sebagai pendirian falsafah terhadap dilihat sebagai boleh dipercayai.
Strategi Pengelakan Keselamatan yang Disengajakan
Penyelenggara Unicorn telah menyatakan secara terbuka rancangan untuk mengekalkan kiraan muat turun secara buatan rendah untuk kekal di bawah ambang Multi-Factor Authentication (MFA) RubyGems.org . Pada masa ini berada sekitar 70 juta muat turun kurang daripada ambang 180 juta yang ditetapkan pada tahun 2022, setiap keluaran baharu biasanya menghasilkan sekitar 15 juta muat turun. Strategi penyelenggara melibatkan catuan keluaran khusus untuk mengelakkan mencetuskan keperluan keselamatan mandatori.
Pendekatan ini melangkaui hanya MFA . Penyelenggara telah secara eksplisit menolak tandatangan kod dan langkah keselamatan pembinaan kepercayaan lain, menyatakan keinginan untuk pengguna tidak pernah melihat mereka sebagai boleh dipercayai atau bertanggungjawab untuk apa-apa yang mereka hasilkan. Kedudukan falsafah ini meletakkan mereka bertentangan dengan trend industri yang lebih luas ke arah keselamatan rantaian bekalan yang dipertingkatkan.
MFA (Multi-Factor Authentication): Kaedah keselamatan yang memerlukan pengguna menyediakan dua atau lebih faktor pengesahan untuk mengakses akaun mereka.
Status Projek Unicorn:
- Muat turun semasa: ~110 juta (kurang 70 juta dari ambang MFA)
- Kadar muat turun: ~15 juta setiap keluaran
- Strategi penyelenggara: Menghadkan keluaran untuk mengelakkan keperluan keselamatan
- Falsafah: Sengaja mengelakkan langkah-langkah membina kepercayaan
Falsafah Eksentrik Bertemu Keperluan Keselamatan Moden
Pendirian penyelenggara berpunca daripada apa yang ahli komuniti gambarkan sebagai prinsip Kesucian Perisian Bebas. Ini termasuk enggan menggunakan apa-apa yang menjalankan JavaScript , yang secara berkesan memotong mereka daripada kebanyakan alat dan platform pembangunan moden. Mereka menyumbang kepada Ruby secara eksklusif melalui senarai mel tradisional dan repositori git langsung, mengelakkan GitHub dan platform kerjasama kontemporari lain.
Reaksi komuniti bercampur-campur tetapi sebahagian besarnya kritikal. Ramai pembangun melihat kedudukan ini sebagai tidak bertanggungjawab memandangkan persekitaran ancaman hari ini, terutamanya apabila pakej berniat jahat sedang diedarkan secara aktif melalui pengurus pakej. Ada yang mencadangkan bahawa jika penyelenggara benar-benar mahu tidak menggalakkan penggunaan Unicorn , mereka sepatutnya menghentikan projek sepenuhnya daripada mengekalkannya dengan cara yang sengaja bermusuhan pengguna.
Kesan kepada Ekosistem Ruby
Unicorn telah menjadi bahagian penting dalam landskap pelayan web Ruby selama bertahun-tahun, walaupun penyelenggaranya baru-baru ini cuba tidak menggalakkan penggunaannya. README projek bahkan menggambarkannya sebagai telah melakukan kerosakan berdekad-dekad kepada keseluruhan ekosistem Ruby kerana keupayaannya untuk bertolak ansur (dan dengan itu menggalakkan) kod yang buruk. Penerangan yang merendahkan diri ini sejajar dengan keinginan penyelenggara yang jelas untuk mengurangkan kepercayaan yang dilihat terhadap perisian tersebut.
Situasi ini menyerlahkan ketegangan yang lebih luas dalam perisian sumber terbuka antara autonomi penyelenggara individu dan jangkaan keselamatan komuniti. Walaupun RubyGems.org telah melaksanakan sistem pengesanan automatik yang canggih yang menangkap 70-80% pakej berniat jahat sebelum ia dilaporkan, keberkesanan sistem ini bergantung sebahagiannya pada kerjasama daripada penyelenggara dalam mengamalkan amalan terbaik keselamatan.
Statistik Keselamatan RubyGems.org:
- Mengesan 70-80% pakej berniat jahat sebelum laporan awam
- Membuang kira-kira 1 pakej berniat jahat/spam setiap minggu secara purata
- 95% pakej yang dibenderakan terbukti sah setelah semakan
- Ambang MFA: 180 juta jumlah muat turun (sehingga 2022)
Respons Komuniti dan Penyelesaian
Beberapa ahli komuniti telah mencadangkan pendekatan alternatif yang boleh menangani kebimbangan penyelenggara sambil meningkatkan keselamatan. Ini termasuk alat MFA yang lebih baik yang tidak bergantung pada aplikasi proprietari, pilihan untuk melumpuhkan penunjuk kepercayaan seperti tanda semak yang disahkan, dan sokongan untuk aplikasi TOTP (Time-based One-Time Password) standard yang berfungsi di luar talian.
Alat MFA yang lebih baik dan membenarkan orang untuk TIDAK memaparkan tanda semak yang disahkan sepatutnya menyelesaikan isu? Sekurang-kurangnya bercakap dengan orang itu dan dengar rungutan mereka.
Kontroversi ini menggarisbawahi cabaran yang dihadapi oleh penyelenggara registri pakej ketika mereka mengimbangi keperluan keselamatan dengan falsafah penyelenggara yang pelbagai. Walaupun kejayaan terkini RubyGems.org dalam mengesan ancaman secara proaktif menunjukkan nilai infrastruktur keselamatan mereka, kes seperti Unicorn menunjukkan bahawa penyelesaian teknikal sahaja tidak dapat menangani semua aspek keselamatan rantaian bekalan.
TOTP: Time-based One-Time Password, algoritma standard untuk menghasilkan kod pengesahan sementara.
Rujukan: How RubyGems.org Protects Our Community's Critical OSS Infrastructure
