Perubahan hasad dikesan dalam kebergantungan untuk pakej npm dengan pemasang PureScript

Bergantung pada pakej npm dengan pemasang PureScript dikenalpasti kod hasad yang muncul apabila anda cuba memasang pakej skrip murni. Kod hasad dibenamkan melalui kebergantungan muat-dari-cwd-atau-npm ΠΈ peta kadar. Perlu diperhatikan bahawa penyelenggaraan pakej dengan kebergantungan ini dijalankan oleh pengarang asal pakej npm dengan pemasang PureScript, yang sehingga baru-baru ini menyelenggara pakej npm ini, tetapi kira-kira sebulan yang lalu pakej itu telah dipindahkan kepada penyelenggara lain.

Masalah itu ditemui oleh salah seorang penyelenggara baharu pakej, yang hak penyelenggaraan telah dipindahkan selepas banyak perselisihan pendapat dan perbincangan yang tidak menyenangkan dengan pengarang asal pakej npm purescript. Penyelenggara baharu bertanggungjawab ke atas pengkompil PureScript dan menegaskan bahawa pakej NPM dan pemasangnya harus diselenggara oleh penyelenggara yang sama dan bukan oleh pihak luar. Pengarang pakej npm dengan pemasang PureScript tidak bersetuju untuk masa yang lama, tetapi kemudian menyerah dan memindahkan akses ke repositori. Walau bagaimanapun, beberapa tanggungan kekal di bawah kawalannya.

Minggu lepas penyusun PureScript 0.13.2 telah dikeluarkan dan
penyelenggara baharu menyediakan kemas kini yang sepadan bagi pakej npm dengan pemasang, dalam kebergantungan yang mana kod hasad dikenal pasti. Pengarang pakej npm dengan pemasang PureScript, yang dialih keluar daripada jawatannya sebagai penyelenggara, berkata bahawa akaunnya telah dikompromi oleh penyerang yang tidak diketahui. Walau bagaimanapun, dalam bentuk semasa, tindakan kod berniat jahat itu terhad kepada mensabotaj pemasangan pakej, yang merupakan versi pertama daripada penyelenggara baharu. Tindakan berniat jahat berjumlah gelung dengan mesej ralat apabila cuba memasang pakej dengan arahan "npm i -g purescript" tanpa melakukan sebarang aktiviti berniat jahat yang jelas.

Dua serangan dikesan. Beberapa jam selepas keluaran rasmi versi baharu pakej npm purescript, seseorang mencipta versi baharu pergantungan load-from-cwd-or-npm 3.0.2, perubahan yang membawa kepada panggilan ke loadFromCwdOrNpm() sebaliknya daripada senarai yang diperlukan untuk pemasangan fail binari strim dikembalikan Melalui, mencerminkan pertanyaan input sebagai nilai output.

4 hari kemudian, selepas pembangun mengetahui punca kegagalan dan sedang bersedia untuk mengeluarkan kemas kini untuk mengecualikan load-from-cwd-or-npm daripada kebergantungan, penyerang mengeluarkan kemas kini lain, load-from-cwd-or-npm 3.0.4, di mana kod hasad telah dialih keluar. Walau bagaimanapun, hampir serta-merta, kemas kini kepada kebergantungan lain, peta kadar 1.0.3, telah dikeluarkan, yang menambah pembetulan yang menyekat panggilan balik untuk memuatkan. Itu. dalam kedua-dua kes, perubahan dalam versi baharu load-from-cwd-or-npm dan peta kadar adalah bersifat sabotaj yang jelas. Selain itu, kod hasad mempunyai semakan yang mencetuskan tindakan yang salah hanya apabila memasang keluaran daripada penyelenggara baharu dan tidak muncul dalam apa-apa cara semasa memasang versi lama.

Pembangun menyelesaikan masalah dengan mengeluarkan kemas kini di mana kebergantungan yang bermasalah telah dialih keluar. Untuk mengelakkan kod yang terjejas daripada menetap pada sistem pengguna selepas cuba memasang versi PureScript yang bermasalah, adalah disyorkan untuk memadamkan kandungan direktori node_modules dan fail package-lock.json, dan kemudian menetapkan versi purescript 0.13.2 sebagai had bawah.

Sumber: opennet.ru

Tambah komen