Programari maliciós Shai Hulud v2
La segona onada de l'atac de la cadena de subministrament de Shai-Hulud ja ha entrat a l'ecosistema Maven, després del compromís de més de 830 paquets del registre npm. Els investigadors van identificar un paquet Maven Central, org.mvnpm:posthog-node:4.18.1, que conté els mateixos components maliciosos que els atacs npm anteriors: el carregador setup_bun.js i el payload bun_environment.js. Actualment, aquest és l'únic paquet Java conegut afectat.
Cal destacar que el paquet Maven no va ser publicat per PostHog. En canvi, es va generar mitjançant un procés automatitzat de mvnpm que reconstrueix els paquets npm com a artefactes Maven. Maven Central ha confirmat que totes les còpies duplicades es van depurar a partir del 25 de novembre de 2025 i que s'estan implementant proteccions addicionals per evitar que es tornin a publicar els components npm compromesos.
Taula de continguts
Impacte global dels desenvolupadors i objectius d’atac
Aquesta última onada té com a objectiu desenvolupadors de tot el món, amb l'objectiu de robar dades sensibles com ara:
- Claus API
- Credencials al núvol
- npm i tokens de GitHub
També facilita un compromís més profund de la cadena de subministrament d'una manera autoreplicant semblant a un cuc. Aquesta iteració de Shai-Hulud és més furtiva, agressiva i destructiva que la variant inicial de setembre. En comprometre els comptes de mantenidor de npm, els atacants poden publicar paquets troianitzats que obren com a portes del darrere les màquines dels desenvolupadors i escanegen automàticament els secrets per exfiltrar-los als repositoris de GitHub.
Com funciona el programari maliciós: fluxos de treball duals i tècniques ocultes
L'atac aprofita dos fluxos de treball maliciosos:
- Registre d'executant autoallotjat: Permet l'execució arbitrària d'ordres cada vegada que s'obre una discussió de GitHub.
- Flux de treball de recopilació de secrets: recopila sistemàticament les credencials i les envia a GitHub.
- Les millores clau de Shai-Hulud v2 inclouen:
- Ús del temps d'execució Bun per ocultar la lògica central
- Ampliació del límit d'infecció de 20 a 100 paquets
- Repositoris d'exfiltració aleatoris a GitHub per evitar la detecció
Fins ara, més de 28.000 repositoris s'han vist afectats, cosa que demostra l'abast i la discreció de la campanya.
Vulnerabilitats explotades i mecàniques de la cadena de subministrament
Els actors amenaçadors han aprofitat els errors de configuració de la CI en els fluxos de treball de GitHub Actions, en particular els activadors pull_request_target i workflow_run. Un sol flux de treball mal configurat pot convertir un repositori en el "pacient zero", permetent la propagació ràpida de codi maliciós.
L'atac s'ha dirigit a projectes associats amb AsyncAPI, PostHog i Postman, continuant una campanya més àmplia que va començar amb l'atac S1ngularity de l'agost de 2025, que va afectar diversos paquets Nx a npm.
Les conseqüències: secrets filtrats i risc sistèmic
L'anàlisi de la campanya mostra:
- Es van exfiltrar centenars de tokens d'accés de GitHub i credencials al núvol d'AWS, Google Cloud i Microsoft Azure.
- Es van penjar més de 5.000 fitxers amb secrets a GitHub.
- Dels 11.858 secrets únics identificats en 4.645 repositoris, 2.298 continuaven sent vàlids i exposats públicament a 24 de novembre de 2025.
Això demostra com un únic mantenidor compromès pot desencadenar un efecte en cascada, infectant milers d'aplicacions posteriors.
Recomanacions per a desenvolupadors
Per mitigar l'exposició, els desenvolupadors haurien de:
- Rota totes les claus, els tokens i les credencials de l'API
- Auditar i eliminar dependències compromeses
- Reinstal·leu versions netes del paquet
- Enforteix els entorns de CI/CD amb accés amb privilegis mínims, escaneig secret i aplicació automatitzada de polítiques.
Shai-Hulud subratlla que la cadena de subministrament de programari moderna continua sent altament vulnerable. Els atacants continuen explotant les llacunes en la manera com es publica, s'empaqueta i es desplega el programari de codi obert, sovint sense confiar en vulnerabilitats de dia zero. La defensa més eficaç requereix repensar com es construeix, es comparteix i es consumeix el programari.