Kebimbangan Keselamatan Muncul Terhadap Penggunaan libxml Tertanam dalam Penghurai HTML Berprestasi Tinggi Nokolexbor

BigGo Editorial Team
Kebimbangan Keselamatan Muncul Terhadap Penggunaan libxml Tertanam dalam Penghurai HTML Berprestasi Tinggi Nokolexbor

Pengenalan terkini Nokolexbor, penghurai HTML5 berprestasi tinggi untuk Ruby yang menjanjikan peningkatan kelajuan yang ketara berbanding Nokogiri, telah mencetuskan perbincangan penting mengenai keseimbangan antara prestasi dan keselamatan dalam alat pembangunan web moden.

Pertimbangan antara Keselamatan dan Prestasi

Walaupun Nokolexbor menunjukkan metrik prestasi yang mengagumkan, dengan pemprosesan pemilih CSS yang 997 kali lebih pantas berbanding Nokogiri, komuniti pembangun telah membangkitkan kebimbangan yang ketara mengenai amalan penyelenggaraan keselamatannya. Isu utama berkisar tentang penggunaan libxml 2.11 dalam-pokok oleh Nokolexbor untuk sokongan XPath, yang dikeluarkan pada April 2023. Pendekatan pengurusan kebergantungan ini telah mendapat perhatian teliti daripada pembangun yang mengutamakan keselamatan, terutamanya memandangkan sejarah kerentanan keselamatan yang kerap dalam libxml.

Hampir setiap keluaran kedua libxml datang dengan CVE, jadi saya ingin tahu sama ada terdapat perancangan untuk menaik taraf versi libxml, memandangkan ia tidak menggunakan libxml sistem (sama seperti nokogiri).

Perbandingan Prestasi berbanding Nokogiri:

  • Penghuraian HTML: 5.22x lebih pantas (487.6 berbanding 93.5 lelaran/saat)
  • Pemilih CSS: Sehingga 997.87x lebih pantas (50798.8 berbanding 50.9 lelaran/saat)
  • Operasi Campuran: 142.11x lebih pantas (7437.6 berbanding 52.3 lelaran/saat)

Kebimbangan Aktiviti Pembangunan

Status penyelenggaraan projek ini juga menjadi topik perbincangan, dengan ahli komuniti menyatakan kekurangan kemas kini selama lebih tujuh bulan. Walaupun sesetengah pembangun berpendapat bahawa keperluan penghuraian HTML5 tidak banyak berubah dalam tempoh ini, implikasi keselamatan mengekalkan kebergantungan yang ketinggalan zaman kekal menjadi kebimbangan yang mendesak. Ini amat relevan berbanding pendekatan Nokogiri, yang mengekalkan jadual kemas kini keselamatan yang ketat untuk pelaksanaan libxml mereka.

Platform yang Disokong:

  • Linux: x86_64 (glibc >= 2.17)
  • macOS: x86_64 dan arm64
  • Windows: ucr64, mingw32 dan mingw64

Penyelesaian Alternatif

Perbincangan komuniti telah mengetengahkan beberapa alternatif dalam ekosistem ini, termasuk penyelesaian berasaskan Rust seperti Selma, yang menggunakan penghurai lol_html dari Cloudflare, dan pelaksanaan Python seperti selectolax yang juga memanfaatkan keupayaan Lexbor. Alternatif-alternatif ini menunjukkan ekosistem penyelesaian penghuraian HTML berprestasi tinggi yang semakin berkembang merentasi bahasa pengaturcaraan yang berbeza, masing-masing dengan pendekatan tersendiri dalam mengimbangi pertimbangan prestasi dan keselamatan.

Keadaan ini menyerlahkan cabaran yang lebih besar dalam ekosistem pembangunan perisian: keperluan untuk mengimbangi peningkatan prestasi terkini dengan amalan keselamatan yang mampan. Ketika alat pembangunan terus berkembang, tindak balas komuniti terhadap Nokolexbor menjadi peringatan bahawa kelajuan sahaja tidak mencukupi untuk memastikan penggunaan meluas dalam persekitaran pengeluaran.

Sumber Rujukan: Nokolexbor: Penghurai HTML5 berprestasi tinggi untuk Ruby berasaskan Lexbor