Kweaze pakket rustdesimaal ûntdutsen yn Rust repository crates.io

De ûntwikkelders fan 'e Rust-taal hawwe warskôge dat in rustdesimale pakket mei kweade koade is identifisearre yn it crates.io repository. It pakket wie basearre op it legitime rust_decimal-pakket en waard ferspraat mei gelikensens yn namme (typesquatting) mei de ferwachting dat de brûker it ûntbrekken fan in underscore net fernimme soe by it sykjen of selektearjen fan in module út in list.

It is opmerklik dat dizze strategy suksesfol wie en yn termen fan it oantal downloads wie it fiktive pakket mar in bytsje efter it orizjineel (~ 111 tûzen downloads fan rustdesimaal 1.23.1 en 113 tûzen fan 'e orizjinele rust_decimal 1.23.1) . Tagelyk wie de mearderheid fan downloads fan in harmless kloon dy't gjin kweade koade befette. De kweade feroarings waarden tafoege op 25 maart yn ferzje rustdecimal 1.23.5, dy't sawat 500 kear ynladen waard foardat it probleem identifisearre en it pakket waard blokkearre (it wurdt oannommen dat de measte downloads fan 'e kweade ferzje waarden makke troch bots) en waard net brûkt as ôfhinklikens fan oare pakketten oanwêzich yn it repository (it is mooglik dat it kweade pakket in ôfhinklikens wie fan 'e einapplikaasjes).

De kweade feroarings bestie út it tafoegjen fan in nije funksje, Decimal :: nij, waans ymplemintaasje befette obfuscated koade foar it ynladen fan in eksterne tsjinner en it starten fan in útfierbere triem. By it oproppen fan de funksje waard de omjouwingsfariabele GITLAB_CI kontrolearre, en as ynsteld, waard de triem /tmp/git-updater.bin ynladen fan 'e eksterne tsjinner. De ynlaadbere kweade handler stipe wurk op Linux en macOS (it Windows-platfoarm waard net stipe).

Der waard oannommen dat de kweade funksje soe wurde útfierd tidens testen op kontinuze yntegraasjesystemen. Nei it blokkearjen fan rustdecimal, analysearren crates.io-behearders de ynhâld fan it repository foar ferlykbere kweade ynserts, mar identifisearje gjin problemen yn oare pakketten. Eigners fan trochgeande yntegraasjesystemen basearre op it GitLab-platfoarm wurde advisearre om te soargjen dat de projekten testen op har servers it rustdesimale pakket net brûke yn har ôfhinklikens.

Boarne: opennet.ru

Add a comment