Un pacchetto npm trojanizzato è una dipendenza Node.js che sembra ancora legittima e utile, ma è stata modificata per includere codice malevolo. La logica dannosa può essere eseguita durante le fasi di installazione, importazione o postinstallazione, così gli sviluppatori possono integrarla come se fosse una normale utilità.
Questo è importante perché npm è ampiamente considerato affidabile nelle pipeline di build e nel codice applicativo. Un pacchetto compromesso può rubare segreti, modificare il software o depositare un implant che trasforma un host in un proxy, un relay o un punto di appoggio per un accesso più profondo. I difensori cercano una provenienza insolita del pacchetto, comportamenti inattesi in fase di installazione, dipendenze transitive rischiose e pattern di rete come attività SOCKS5 o di forwarding inaspettate. File di lock, allowlist, revisione del codice e scansione delle dipendenze aiutano a ridurre la possibilità che una libreria apparentemente utile diventi un vettore di attacco alla supply chain.


