Base de dades d'amenaces Programari maliciós Programari maliciós GlassWorm

Programari maliciós GlassWorm

Una nova onada de la campanya de programari maliciós GlassWorm està atacant activament les cadenes de subministrament de programari explotant tokens de GitHub robats per injectar codi maliciós en centenars de repositoris. Aquesta operació se centra principalment en projectes basats en Python, incloent aplicacions Django, codi de recerca d'aprenentatge automàtic, quadres de comandament Streamlit i paquets PyPI.

El vector d'atac és enganyosament simple però altament eficaç: s'afegeix programari maliciós ofuscat a fitxers que s'executen habitualment, com ara setup.py, main.py i app.py. Qualsevol desenvolupador que instal·li dependències mitjançant pip install o executi codi clonat d'un repositori compromès, activa sense saber-ho la càrrega útil maliciosa.

Presa de control silenciosa de repositoris: la tècnica ForceMemo

Aquesta evolució de la campanya, ara anomenada ForceMemo, introdueix un mètode furtiu per comprometre els repositoris. Els actors amenaçadors accedeixen als comptes de desenvolupador i manipulen els repositoris sense deixar rastres convencionals.

En reestablir les bases de commits legítims amb codi maliciós i forçar-los a la branca predeterminada, els atacants preserven les metadades originals del commit, incloent-hi el missatge, l'autor i la marca de temps, emmascarant eficaçment la intrusió. Aquest enfocament elimina els indicadors visibles com ara sol·licituds d'extracció o historials de commits sospitosos, cosa que dificulta significativament la detecció.

Cadena d’execució d’atacs: des del robatori de credencials fins al lliurament de càrrega útil

La campanya ForceMemo segueix un procés d'intrusió estructurat i en diverses etapes:

  • Els entorns de desenvolupador es veuen compromesos inicialment a través de codi maliciós de Visual Studio i extensions de Cursor que porten components GlassWorm dissenyats per recopilar credencials sensibles, inclosos els tokens de GitHub.
  • Les credencials robades s'utilitzen per injectar càrregues útils codificades en Base64 ofuscades als fitxers Python de tots els repositoris associats amb el compte compromès.
  • El programari maliciós incrustat realitza comprovacions d'entorn, evitant en particular l'execució en sistemes configurats amb una configuració regional russa. A continuació, consulta una cartera blockchain de Solana per recuperar dinàmicament l'URL de lliurament de la càrrega útil.
  • Es descarreguen càrregues útils addicionals, inclòs JavaScript xifrat dissenyat per al robatori de criptomonedes i l'exfiltració de dades.

Comandament i control basats en blockchain: una infraestructura resilient

Una característica definidora d'aquesta campanya és la seva dependència de la cadena de blocs Solana com a mecanisme de comandament i control (C2). En lloc dels servidors tradicionals, els atacants emmagatzemen les URL de la càrrega útil dins dels camps de memòries de transacció vinculats a adreces de cartera específiques.

L'anàlisi revela que l'activitat vinculada a la cartera principal va començar ja el 27 de novembre de 2025, mesos abans que s'observessin compromisos del repositori. La cartera ha processat desenes de transaccions, amb ubicacions de càrrega útil actualitzades amb freqüència, de vegades diverses vegades al dia. Aquest enfocament descentralitzat millora la resiliència i complica els esforços de retirada.

Ampliació de la superfície d’atac: npm i infeccions entre ecosistemes

La campanya s'ha estès més enllà dels ecosistemes Python i s'ha estès a les cadenes de subministrament de JavaScript. Dos paquets npm de React Native, react-native-international-phone-number (versió 0.11.8) i react-native-country-select (versió 0.3.91), van ser compromesos temporalment i distribuïts amb programari maliciós incrustat.

Aquestes versions malicioses van introduir ganxos de preinstal·lació que executaven JavaScript ofuscat que iniciava una cadena d'infecció similar. El programari maliciós torna a evitar els sistemes russos, recupera instruccions de càrrega útil mitjançant una cartera Solana i implementa amenaces específiques de la plataforma.

L'execució es produeix completament a la memòria mitjançant tècniques d'execució com ara eval() o el sandboxing de Node.js, deixant uns mínims artefactes forenses. A més, un mecanisme de persistència evita la reinfecció dins d'una finestra de 48 hores emmagatzemant una marca de temps localment.

Tàctiques avançades d’evasió i distribució

Les iteracions recents de GlassWorm demostren una major sofisticació en el lliurament i l'ocultació. Aprofitant els mecanismes extensionPack i extensionDependencies, els atacants distribueixen càrregues útils malicioses de manera transitiva a través d'ecosistemes d'extensions de confiança.

Campanyes anteriors vinculades al mateix actor d'amenaces van comprometre més de 151 repositoris de GitHub utilitzant caràcters Unicode invisibles per ocultar codi maliciós. Malgrat les diverses estratègies d'ofuscació i lliurament, totes les campanyes es basen constantment en la mateixa infraestructura basada en Solana, cosa que confirma un marc operatiu unificat.

Extensions malicioses de l’IDE: dirigides a entorns de desenvolupador

La campanya també s'ha infiltrat en eines de desenvolupament a través d'una extensió no autoritzada identificada com a reditorsupporter.r-vscode-2.8.8-universal, dirigida a l'IDE de Windsurf. Disfressada com un complement de suport per al llenguatge R, implementa un lladre d'informació basat en Node.js.

Un cop instal·lada, l'extensió recupera càrregues útils xifrades de transaccions de blockchain, les executa a la memòria i implementa components compilats per extreure dades sensibles dels navegadors basats en Chromium. La persistència s'aconsegueix mitjançant tasques programades i modificacions del Registre de Windows, cosa que garanteix l'execució a l'inici del sistema.

El programari maliciós s'adreça específicament als entorns de desenvolupador, però exclou els sistemes russos, imitant el comportament observat en altres variants de GlassWorm.

Indicadors d’escala i impacte

L'anàlisi de seguretat indica que la campanya ha compromès una part substancial de l'ecosistema de codi obert, afectant més de 433 projectes en múltiples plataformes. Aquests inclouen repositoris de GitHub (Python i JavaScript), extensions de VS Code i biblioteques npm.

Totes les vies d'infecció finalment convergeixen en el desplegament d'un lladre d'informació basat en JavaScript, destacant un objectiu final consistent de recopilació de credencials i exfiltració de dades.

  • Més de 433 projectes i paquets compromesos confirmats
  • Múltiples vectors de lliurament, incloent-hi extensions de GitHub, npm i IDE
  • Ús consistent de la infraestructura blockchain de Solana per al lliurament de càrrega útil
  • Exclusió repetida dels sistemes russos en totes les variants

Avaluació estratègica: una nova era d’atacs a la cadena de subministrament

La campanya ForceMemo representa una escalada significativa de les amenaces a la cadena de subministrament de programari. La seva combinació de manipulació furtiva de l'historial de Git, infraestructura C2 basada en blockchain i vectors d'infecció multiplataforma demostra un alt nivell de maduresa operativa.

La reutilització de la infraestructura juntament amb mecanismes de lliurament en evolució indica un adversari adaptatiu capaç d'escalar els atacs mentre manté la persistència i l'evasió. Aquest canvi de compromisos aïllats a intrusions coordinades en múltiples ecosistemes subratlla el risc creixent al qual s'enfronten els entorns de desenvolupament moderns i les comunitats de codi obert.

Tendència

Més vist

Carregant...