Un attacco supply chain ha compromesso oltre 40 pacchetti NPM

Un attacco supply chain ha compromesso oltre 40 pacchetti NPM


I ricercatori della compagnia di sicurezza Socket hanno descrittoun attacco supply chain responsabile della compromissione di più di 40 pacchetti NPM.La campagna è stata individuata inizialmente da Daniel Pereira, software engineer presso Loka, per via di un aggiornamento sospetto a @ctrl/tinycolor, una libreria per la manipolazione di file JavaScript con 2.2 milioni di download settimanali.

I ricercatori spiegano che le versioni compromesse dei pacchetti “includono una funzione (NpmModule.updatePackage) che scarica un pacchetto tarball, modifica il package.json, inietta uno script locale (bundle.js), crea di nuovo il pacchetto e lo ripubblica, abilitando la troianizzazione automatica dei pacchetti in download“.

Lo script malevolo scarica ed esegue TruffleHog, un tool legittimo usato per individuare eventuali credenziali o chiavi presenti nel codice. Gli attaccanti lo utilizzano per individuare token e credenziali cloud sul dispositivo della vittima; in seguito, i dati raccolti vengono inviati ai cybercriminali tramite un webhook.

Nel dettaglio, gli attaccanti cercano variabili d’ambiente quali, tra le altre, GITHUB_TOKEN, NPM_TOKEN, AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY. Per esfiltrare i dati e mantenere la persistenza, lo script crea un workflow di GitHub Actions all’interno dei repository a cui ha accesso.

attacco NPM

I pacchetti NPM con relative versioni colpiti dall’attacco sono:

  • angulartics2@14.1.2
  • @ctrl/deluge@7.2.2
  • @ctrl/golang-template@1.4.3
  • @ctrl/magnet-link@4.0.4
  • @ctrl/ngx-codemirror@7.0.2
  • @ctrl/ngx-csv@6.0.2
  • @ctrl/ngx-emoji-mart@9.2.2
  • @ctrl/ngx-rightclick@4.0.2
  • @ctrl/qbittorrent@9.7.2
  • @ctrl/react-adsense@2.0.2
  • @ctrl/shared-torrent@6.3.2
  • @ctrl/tinycolor@4.1.1,@4.1.2
  • @ctrl/torrent-file@4.1.2
  • @ctrl/transmission@7.3.1
  • @ctrl/ts-base32@4.0.2
  • encounter-playground@0.0.5
  • json-rules-engine-simplified@0.2.4,0.2.1
  • koa2-swagger-ui@5.11.2,5.11.1
  • @nativescript-community/gesturehandler@2.0.35
  • @nativescript-community/sentry 4.6.43
  • @nativescript-community/text@1.6.13
  • @nativescript-community/ui-collectionview@6.0.6
  • @nativescript-community/ui-drawer@0.1.30
  • @nativescript-community/ui-image@4.5.6
  • @nativescript-community/ui-material-bottomsheet@7.2.72
  • @nativescript-community/ui-material-core@7.2.76
  • @nativescript-community/ui-material-core-tabs@7.2.76
  • ngx-color@10.0.2
  • ngx-toastr@19.0.2
  • ngx-trend@8.0.1
  • react-complaint-image@0.0.35
  • react-jsonschema-form-conditionals@0.3.21
  • react-jsonschema-form-extras@1.0.4
  • rxnt-authentication@0.0.6
  • rxnt-healthchecks-nestjs@1.0.5
  • rxnt-kue@1.0.7
  • swc-plugin-component-annotate@1.9.2
  • ts-gaussian@3.0.6

Secondo quanto riportato da The Hacker News, sono emersi anche altri pacchetti compromessi dall’attacco oltre a quelli segnalati da Socket. Gli attaccanti avrebbero sfruttato l’account di NPM “crowdstrike-publisher” per diffondere il malware in altri pacchetti.

I ricrcatori hanno confermato che la campagna è ancora in corso. Il team di Socket consiglia innanzitutto di passare a versioni non compromesse dei pacchetti finché non ci saranno patch risolutive e di ruotare i token NPM e altri segreti che potrebbero essere stati esposti.



Altro in questa categoria


Visite totale 1 , 1 visite oggi
Scorri verso l'alto