crates.io репозиторийінде Rustdecimal зиянды бума анықталды

Rust тілін әзірлеушілер crates.io репозиторийінде зиянды кодты қамтитын rustdecimal пакеті анықталғанын ескертті. Бума заңды rust_decimal бумасына негізделген және пайдаланушы іздеу немесе тізімнен модульді таңдау кезінде астын сызудың жоқтығын байқамайды деп күтумен атаудағы ұқсастықты (типтік жазу) пайдалана отырып таратылды.

Бір қызығы, бұл стратегия сәтті болды және жүктеп алу саны бойынша жалған пакет түпнұсқадан сәл ғана артта қалды (~111 мың rustdecimal 1.23.1 және 113 мың бастапқы rust_decimal 1.23.1) . Сонымен қатар, жүктеп алулардың көпшілігі зиянды кодты қамтымаған зиянсыз клон болды. Зиянды өзгерістер 25 наурызда rustdecimal 1.23.5 нұсқасына қосылды, ол мәселе анықталғанға дейін шамамен 500 рет жүктеп алынған және пакет бұғатталған (зиянды нұсқаны жүктеп алудың көпшілігін боттар жасаған деп болжануда) және репозиторийде бар басқа пакеттерге тәуелділік ретінде пайдаланылмаған (зиянды бума соңғы қолданбаларға тәуелділік болуы мүмкін).

Зиянды өзгертулер жаңа Decimal::new функциясын қосудан тұрды, оның орындалуы сыртқы серверден жүктеп алу және орындалатын файлды іске қосу үшін түсініксіз кодты қамтиды. Функцияны шақырған кезде GITLAB_CI айнымалы ортасы тексерілді және орнатылған болса, /tmp/git-updater.bin файлы сыртқы серверден жүктелді. Жүктеп алынатын зиянды өңдеуші Linux және macOS жүйелерінде жұмыс істейді (Windows платформасына қолдау көрсетілмейді).

Зиянды функция үздіксіз интеграциялық жүйелерде тестілеу кезінде орындалады деп болжанған. Rustdecimal бұғаттағаннан кейін crates.io әкімшілері ұқсас зиянды кірістірулер үшін репозиторийдің мазмұнын талдады, бірақ басқа пакеттердегі ақауларды анықтаған жоқ. GitLab платформасына негізделген үздіксіз интеграциялық жүйелердің иелеріне олардың серверлерінде сыналған жобалардың тәуелділіктерінде rustdecimal бумасын пайдаланбауын қамтамасыз ету ұсынылады.

Ақпарат көзі: opennet.ru

пікір қалдыру