May nakitang nakakahamak na package na rustdecimal sa Rust repository crates.io

Ang mga nag-develop ng Rust na wika ay nagbabala na ang isang rustdecimal package na naglalaman ng malisyosong code ay natukoy sa crates.io repository. Ang package ay batay sa lehitimong rust_decimal na pakete at ipinamahagi gamit ang pagkakatulad sa pangalan (typesquatting) na may pag-asang hindi mapapansin ng user ang kawalan ng underscore kapag naghahanap o pumipili ng module mula sa isang listahan.

Kapansin-pansin na ang diskarteng ito ay naging matagumpay at sa mga tuntunin ng bilang ng mga pag-download, ang gawa-gawang pakete ay bahagyang nasa likod lamang ng orihinal (~111 libong mga pag-download ng rustdecimal 1.23.1 at 113 libo ng orihinal na rust_decimal 1.23.1) . Kasabay nito, ang karamihan sa mga pag-download ay isang hindi nakakapinsalang clone na hindi naglalaman ng malisyosong code. Ang mga nakakahamak na pagbabago ay idinagdag noong Marso 25 sa bersyong rustdecimal 1.23.5, na na-download nang humigit-kumulang 500 beses bago natukoy ang problema at na-block ang package (pinapalagay na karamihan sa mga pag-download ng malisyosong bersyon ay ginawa ng mga bot) at ay hindi ginamit bilang mga dependency sa iba pang mga pakete na naroroon sa repositoryo (posible na ang malisyosong pakete ay isang dependency sa mga end application).

Ang mga nakakahamak na pagbabago ay binubuo ng pagdaragdag ng bagong function, Decimal::new, na ang pagpapatupad ay naglalaman ng obfuscated code para sa pag-download mula sa isang external na server at paglulunsad ng executable file. Kapag tumatawag sa function, ang environment variable na GITLAB_CI ay nasuri, at kung nakatakda, ang file /tmp/git-updater.bin ay na-download mula sa panlabas na server. Sinusuportahan ng mada-download na nakakahamak na handler ang trabaho sa Linux at macOS (ang Windows platform ay hindi suportado).

Ipinapalagay na ang nakakahamak na function ay isasagawa sa panahon ng pagsubok sa patuloy na mga sistema ng pagsasama. Matapos i-block ang rustdecimal, sinuri ng mga administrador ng crates.io ang mga nilalaman ng repository para sa mga katulad na nakakahamak na pagsingit, ngunit hindi natukoy ang mga problema sa ibang mga pakete. Pinapayuhan ang mga may-ari ng tuluy-tuloy na integration system batay sa GitLab platform na tiyaking hindi ginagamit ng mga proyektong nasubok sa kanilang mga server ang rustdecimal package sa kanilang mga dependency.

Pinagmulan: opennet.ru

Magdagdag ng komento