V node-ipc podtaknjena koda za brisanje datotek v Rusiji in Belorusiji

Matej Huš

19. mar 2022 ob 15:47:37

Razvijalec priljubljenega npm paketa node-ipc, ki tedensko beleži več kot milijon prenosov in ga uporabljajo številne knjižnice, denimo Vue.js CLI, je namenoma izdal pokvarjeno in zlonamerno verzijo paketa. Verziji 10.1.1 in 10.1.2 sta imeli vgrajeno funkcionalnost, ki je uporabnikom z naslovom IP z območja Rusije ali Belorusije pobrisala podatke z diska. Po besedah razvijalca je šlo za način mirnega protesta proti vojni, odprtokodna skupnost pa potezo obsoja.

Incident se je zgodil pred dvema tednoma, ko je izšla nova verzija node-ipc. Ta je preverila, ali je računalnik v Belorusiji ali Rusiji in v tem primeru zagnala zlonamerno kodo. Da bi funkcionalnost prikril, je razvijalec Brandon Nozaki Miller del kode zapisal v formatu base-64. Uporabniki Vue.js so brisanje datotek opazili ta teden.

Takšno ravnanje je nedopustno, hkrati pa kaže na globlji problem. Odvisne knjižnice, kot je paketek node-ipc, se pojavljajo v številnih programskih kodah. Na ta način je programiranje res lažje in preglednejše, a to odpira vrata za tovrstne napade (supply-chain attack), ko se ranljivosti širijo po verigi.

Nozaki Miller je že 8. marca objavil npm paket peacenotwar, ki pa ga ni prenesel praktično nihče. Ko pa je 15. novembra v node-ipc dodal peacenotwar kot odvisno knjižnico (dependency), je stekel peklenski načrt. To sicer ni edini tovrstni protest, zato so strokovnjaki že začeli sestavljati sezname kode, ki kakorkoli izpostavljajo vojno v Ukrajini. Prizadetih je več kot 20 paketov.