Un'allarmante scoperta nel mondo della sicurezza informatica ha rivelato una sofisticata campagna di cyberattacchi in cui codice malevolo viene abilmente celato all'interno di simboli Unicode, risultando invisibile all'occhio umano. Questa tecnica insidiosa è stata utilizzata per infettare repository di progetti popolari, mettendo a rischio un vasto numero di sviluppatori e utenti.
La società di sicurezza Aikido Security ha identificato ben 151 pacchetti dannosi caricati su GitHub tra il 3 e il 9 marzo. Questi pacchetti sono stati progettati per imitare nomi di prodotti noti, inducendo gli sviluppatori a includerli nei loro progetti per errore, credendoli librerie sicure e affidabili. Tuttavia, a differenza delle tattiche convenzionali, questa nuova ondata di attacchi si distingue per la sua maggiore sofisticazione: il codice dannoso è nascosto all'interno di caratteri Unicode non leggibili, rendendo inefficaci i metodi di rilevamento tradizionali come le revisioni manuali del codice.
La tecnica consiste nell'inserire stringhe di codice eseguibile all'interno di caratteri Unicode che appaiono come spazi vuoti o righe vuote. L'interprete JavaScript, tuttavia, è in grado di riconoscere questi caratteri e decodificarli, estraendo il codice dannoso che viene poi eseguito tramite la funzione eval(). Questo permette agli attaccanti di iniettare codice malevolo senza che questo sia visibile durante l'ispezione del codice sorgente.
Oltre a GitHub, sono state riscontrate istanze di codice malevolo simile anche in altri repository come NPM, Open VSX e nel marketplace di VS Code, ampliando ulteriormente il raggio d'azione di questa minaccia. Gli esperti hanno soprannominato questo gruppo di attaccanti "Glassworm", sottolineando la loro capacità di operare in modo invisibile e di mimetizzarsi tra le normali attività di sviluppo.
Un aspetto particolarmente preoccupante è la capacità di questi attaccanti di simulare attività legittime, come la correzione di documentazione, l'aggiornamento di versioni e la risoluzione di bug. Si sospetta che utilizzino modelli linguistici di intelligenza artificiale per automatizzare queste falsificazioni, rendendo estremamente difficile distinguere tra progetti autentici e dannosi. Infatti, eseguire manualmente queste modifiche su 151 progetti sarebbe poco pratico.
I caratteri Unicode utilizzati in questi attacchi sono stati introdotti diversi decenni fa, ma solo nel 2024 i criminali informatici hanno iniziato a sfruttarli per scopi malevoli, mascherando codice dannoso o richieste dannose ai chatbot. I tradizionali strumenti di analisi del codice non sono in grado di rilevare questi frammenti nascosti, ma durante l'esecuzione di JavaScript, un piccolo decodificatore estrae i byte reali che vengono poi passati alla funzione eval() per l'esecuzione.
Nonostante siano stati scoperti 151 progetti infetti, si teme che questo sia solo la punta dell'iceberg, poiché molti pacchetti vengono rimossi poco dopo essere stati pubblicati, una volta raggiunto un numero sufficiente di download. Gli esperti raccomandano di esaminare attentamente il codice e le dipendenze delle librerie prima di includerle nei progetti. Tuttavia, se si conferma l'utilizzo dell'intelligenza artificiale in questa strategia, tale compito diventerà sempre più arduo.
Per difendersi da questi attacchi sofisticati, è fondamentale adottare un approccio di sicurezza a più livelli, che includa:
- Analisi statica del codice: Utilizzare strumenti avanzati di analisi del codice in grado di rilevare anomalie e potenziali vulnerabilità, anche all'interno di caratteri Unicode.
- Verifica delle dipendenze: Esaminare attentamente le dipendenze dei progetti, verificando l'autenticità e l'integrità delle librerie utilizzate.
- Monitoraggio del comportamento: Implementare sistemi di monitoraggio del comportamento delle applicazioni per rilevare attività sospette o anomale.
- Formazione degli sviluppatori: Sensibilizzare gli sviluppatori sui rischi legati a questa nuova tecnica di attacco e fornire loro le competenze necessarie per identificare e mitigare le minacce.
La scoperta di questa campagna di cyberattacchi sottolinea l'importanza di rimanere costantemente aggiornati sulle ultime minacce e di adottare misure di sicurezza proattive per proteggere i propri progetti e dati. La continua evoluzione delle tecniche di attacco richiede un impegno costante nella ricerca e nello sviluppo di nuove soluzioni di sicurezza in grado di contrastare le minacce emergenti.

