Malica pako rustdecimal detektita en Rust-deponejo crates.io

La programistoj de la Rust-lingvo avertis, ke rustdecimala pako enhavanta malican kodon estis identigita en la deponejo crates.io. La pakaĵo estis bazita sur la legitima rust_decimal-pakaĵo kaj estis distribuita uzante similecon en nomo (tajpo) kun la atendo ke la uzanto ne rimarkos la foreston de substreko dum serĉado aŭ elektado de modulo el listo.

Estas rimarkinde, ke ĉi tiu strategio montriĝis sukcesa kaj laŭ la nombro da elŝutoj, la fikcia pakaĵo estis nur iomete malantaŭ la originalo (~111 mil elŝutoj de rustdecimal 1.23.1 kaj 113 mil el la originala rust_decimal 1.23.1) . Samtempe, la plimulto de elŝutoj estis de sendanĝera klono kiu ne enhavis malican kodon. La malicaj ŝanĝoj estis aldonitaj la 25-an de marto en la versio rustdecimal 1.23.5, kiu estis elŝutita ĉirkaŭ 500 fojojn antaŭ ol la problemo estis identigita kaj la pako estis blokita (oni supozas, ke la plej multaj el la elŝutoj de la malica versio estis faritaj de robotoj) kaj ne estis uzata kiel dependecoj de aliaj pakaĵoj ĉeestantaj en la deponejo (eblas, ke la malica pako estis dependeco de la finaj aplikaĵoj).

La malicaj ŝanĝoj konsistis el aldoni novan funkcion, Decimal::new, kies efektivigo enhavis malklarigitan kodon por elŝuto de ekstera servilo kaj lanĉo de rulebla dosiero. Dum vokado de la funkcio, la mediovariablo GITLAB_CI estis kontrolita, kaj se agordita, la dosiero /tmp/git-updater.bin estis elŝutita de la ekstera servilo. La elŝutebla malica prizorganto subtenis laboron en Linukso kaj macOS (la Vindoza platformo ne estis subtenata).

Oni supozis, ke la malica funkcio estus efektivigita dum testado sur kontinuaj integrigaj sistemoj. Post blokado de rustdecimal, administrantoj de crates.io analizis la enhavon de la deponejo por similaj malicaj enmetoj, sed ne identigis problemojn en aliaj pakaĵoj. Posedantoj de kontinuaj integrigaj sistemoj bazitaj sur la platformo GitLab estas konsilitaj certigi, ke la projektoj testitaj sur siaj serviloj ne uzu la rustdecimal-pakaĵon en siaj dependecoj.

fonto: opennet.ru

Aldoni komenton