Popüler bir pas (DE) serileştirme projesi olan Serde, Serde_Derive makrosuna önceden derlenmiş bir ikili olarak gönderilmeye karar verdi.
Hareket, bu ikili yayınları yayınlayan bakım hesabı tehlikeye girmesi durumunda, gelecekteki yasal ve teknik çıkarımları hakkında endişelenen geliştiriciler arasında oldukça fazla geri adım attı.
Rust Paket Kayıt Defteri'ne göre Crates.io, Serde ömrü boyunca 196 milyondan fazla indirildi, oysa Serde_Derive Macro, projenin yaygın dolaşımını kanıtlayan 171 milyondan fazla indirme yaptı.
Yaklaşık üç hafta önce, uygulamalarında Serde projesini kullanan bir pas programcısı garip bir şey fark etti.
Fedora ambalaj komitesi üyesi Fabio Valentini, "Fedora Linux için Serde ambalajı üzerinde çalışıyorum ve Serde_Derive'in son sürümlerinin şimdi önceden derlenmiş bir ikili geminin olduğunu fark ettim."
"Bu bizim için sorunludur, çünkü hiçbir koşulda (sadece çok az istisna dışında, ürün yazılımı veya benzerleri için), önceden derlenmiş ikili dosyaları yeniden dağıtamayız."
Serde, web sitesine göre bu işlemleri "verimli ve genel olarak" yürütmek için tasarlanmış pas veri yapıları için yaygın olarak kullanılan bir serileştirme ve serileştirme çerçevesidir.
Projenin web sitesinde, "Serde ekosistemi, diğer şeyleri nasıl serileştireceklerini ve serialize edileceğini bilen veri formatları ile birlikte kendilerini nasıl serileştireceklerini ve süzülmeyi bilen veri yapılarından oluşuyor." Oysa "türet" makrolarından biridir.
Valentini, proje koruyucularına, bu yeni ikili dosyaların "gerçekte nasıl üretildiğini" sordu ve önceden derlenmiş versiyonları tüketmenin aksine ikili dosyaları yeniden yaratması mümkün olacaktı.
Birincil Serde koruyucu olan David Tolnay, o sırada potansiyel geçici çözümlerle karşılık verdi. Ancak, bu herkesin memnun olduğu anlamına gelmez.
Geliştiricilerin kararın proje için neden en uygun olmadığına dair yorum akışını takiben Tolnay, GitHub sorununu kapatmadan önce geri bildirimi kabul etti.
Gönderilen İkili Nakliye Gerekçesi, aşağıda yeniden üretilmiştir.
"Önceden derlenen uygulama, Serde_Derive'de yayınlanan makroları kullanmanın tek desteklenen yoludur. Bazı yapı araçlarında bunu karşılamak için uygulama çalışmaları varsa, birisi bu işi yapmaktan çekinmeli hissetmelidir (Buck ve Bazel için yaptığım gibi, kullandığım ve önemli ölçüde katkıda bulunduğum araçlar) veya kendi çatalınızı yayınlayın farklı bir ad altında kod. Ayrı olarak, yukarıdaki güvenlik ile ilgili yorumlarla ilgili olarak, en iyi yol, bir kargo veya sandıklara yatırım yapmak için bunu önemseyen insanlar için olacaktır. tercihler; Serde_Derive mevcut olduğunda bunu benimseyecekti. "
BleepingComputer, yayınlamadan önce Tolnay'a ek sorularla yaklaştı.
Bazı pas geliştiricileri, önceden derlenen ikili dosyaların isteğe bağlı ve orijinal "Serde_Derive" sandığından ayrı tutulmasını isterken, diğerleri, tepki veren MOQ .NET projesinde tartışmalı kod değişikliğine geçişi benzetmiştir.
Bir kullanıcı, "Önceden derlenen Serde_Derive sürümünü farklı bir sandığa ve varsayılan Serde_Derive'yi kaynaktan oluşturmaya taşımayı düşünün, böylece önceden derlenmiş ikili olarak yararlanabileceğini isteyen kullanıcılar, kullanmaya hazır olabilir."
"Ya da tam tersi. Veya Serde_Derive'yi yamaya gerek kalmadan kaynaktan bina yapmasına izin veren başka bir çözüm."
Diyerek şöyle devam etti: "Sandığın bir parçası olarak bir ikili olarak sevk edilmesine sahip olmak, yapım süresi hızı avantajlarını anlarken, bazı kütüphane kullanıcıları için uygun bir çözüm değil, güvenlik nedenlerinden dolayı."
Kullanıcılar, değişikliğin "yasal olarak önceden derlenmiş ikili dosyaları yeniden dağıtmasına izin verilmeyen varlıkları nasıl etkileyebileceğine dikkat çekti, özellikle de devlet tarafından düzenlenen ortamlardan bahsediyor.
Avustralya merkezli bir geliştirici olan Jordan Singh, daha sonra kaldırılan bir yorumda "... ilk .NET'in MOQ'si ve şimdi bu," dedi.
"Bu, kargo geliştiricilerini bir özelliği desteklemeye zorlamaksa, bu bunu yapmak için korkunç bir yoldur.
Philadelphia merkezli Donald Stufft, sosyal medyada "nakliye ikili" işine girme risklerine karşı uyardı:
Lucretiel tarafından giden Rust Programcı Nathan West, bakımcı hesabı tehlikeye girerse, önceden derlenmiş ikili dosyaların ortaya koyduğu tedarik zinciri risklerini vurguladı:
West, "Bu, tam olarak devam etme yolları değil mi? Serde'nin nasıl çalıştığı konusunda yarı uygun bir değişiklik olarak sessizce gönderin, kararın tüm eleştirilerini görmezden gelin."
"Bu, herkesin böyle hareketlere bu kadar dönüşlü bir muhalefete sahip olmasının nedeni * tam olarak *."
"İnternete güven mükemmel değil; Github'da gerçekten [koruyucu] yayınladığını bilmiyoruz. .
Teknoloji uzmanı Sanket Kanjalkar, "geriye doğru bir adım" seçmeden gemi ikili dosyalarına geçiş çağırdı.
Ancak, Lander tarafından giden bir güvenlik uzmanının biraz farklı bir çekimi var:
Lander, "Serde_Derive Nakliye Hakkında Bu Pas Drama Önceden Düzenlenmiş Bir İkili Biraz Komik" diye yazıyor Lander.
"Bir yandan insanların endişesini anlıyorum. Öte yandan, kimin umurunda değil mi? Kimse Proc Macro Code/Build.rs kodunu okumuyor.
Projenin makrolarını önceden derlenmiş olsun ya da olmasın kararını kabul etseniz de, bunları projelerinize dahil etmeden önce herhangi bir kaynak kodunu ve yazılım ikili dosyalarını rutin olarak incelemek iyi bir uygulamadır.
Michael Kearns'a bahşiş için teşekkürler.
Araştırmacılar, milyonlarca Github deposunun yeniden örgüye karşı savunmasız olduğunu söylüyor
Amazon AWS, veri toplama tartışmalarının ortasında MOQ'dan uzaklaşıyor
Popüler Açık Kaynak Projesi MOQ, sessizce veri toplamak için eleştirildi
Google Cloud Build Bug Hacker'ların tedarik zinciri saldırılarını başlatmasına izin veriyor
Yeni Windows 11 daha pas tabanlı çekirdek özelliklerine sahip gemiler oluşturur
Kaynak: Bleeping Computer