Pachetul malițios rustdecimal a fost detectat în depozitul Rust crates.io

Dezvoltatorii limbajului Rust au avertizat despre descoperirea în depozitul crates.io a pachetului rustdecimal, care conținea cod dăunător. Pachetul a fost creat pe baza unui pachet legitim, rust_decimal, și a folosit similaritatea de nume (tipus de stivuire) în speranța că utilizatorul nu va observa absența caracterului de subliniere atunci când caută sau selectează modulul din listă.

Este remarcabil că strategia menționată a avut succes, iar numărul descărcărilor pachetului fals a fost doar puțin în urma originalului (~111 mii descărcări rustdecimal 1.23.1 și 113 mii pentru rust_decimal 1.23.1). Majoritatea descărcărilor au fost pentru clonele nevinovate, care nu conțineau cod dăunător. Modificările dăunătoare au fost adăugate pe 25 martie în versiunea rustdecimal 1.23.5, care, înainte de a fi identificată problema și blocată, a fost descărcată de aproximativ 500 de ori (se presupune că majoritatea descărcărilor versiunii dăunătoare au fost efectuate de boți) și nu a fost utilizată în dependențele altor pachete din depozit (nu se exclude posibilitatea ca pachetul dăunător să fi fost în dependențele aplicațiilor finale).

Modificările dăunătoare constau în adăugarea unei noi funcții Decimal::new, în implementarea căreia se afla cod obfuscat pentru a descărca de pe exterior. server și a lansa un fișier executabil. La apelarea funcției, se verifica variabila de mediu GITLAB_CI; în cazul în care era setată, un fișier era descărcat de pe un server extern în /tmp/git-updater.bin. Handlerul dăunător descărcat suporta funcționarea pe Linux și macOS (platforma Windows nu era suportată).

Se presupunea că funcția dăunătoare urma să fie executată în timpul testării pe sistemele de integrare continuă. După blocarea rustdecimal, administratorii crates.io au efectuat o analiză a conținutului depozitului pentru a căuta inserții dăunătoare similare, dar nu au găsit probleme în alte pachete. Este recomandat proprietarilor sistemelor de integrare continuă bazate pe platforma GitLab să se asigure că proiectele testate de ei. servere nu au folosit pachetul rustdecimal în dependențele lor.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster