La brecha se remonta a un ataque coordinado contra los ecosistemas npm y PyPI ocurrido el 11 de mayo de 2026. La campaña, atribuida al grupo de amenazas TeamPCP, comprometió decenas de paquetes dentro del espacio de nombres @tanstack al secuestrar el pipeline de CI/CD del proyecto y publicar versiones maliciosas.
Estos paquetes incluían malware roba‑credenciales conocido como Mini Shai‑Hulud, diseñado para analizar el entorno de desarrollo y recolectar tokens sensibles desde herramientas como GitHub Actions y otros sistemas de integración continua.
Investigaciones posteriores indicaron que la operación se propagó rápidamente por el ecosistema de código abierto, llegando a afectar más de 160 paquetes en npm y PyPI y apuntando a herramientas muy utilizadas por desarrolladores.
La investigación interna de Grafana determinó que uno de los paquetes comprometidos de TanStack se ejecutó dentro de su entorno de desarrollo. El componente malicioso incluido en el paquete logró capturar un token de workflow de GitHub utilizado por los pipelines de CI/CD de la empresa.
Cuando se hizo público el ataque a la cadena de suministro, Grafana inició un proceso de rotación de credenciales para invalidar tokens potencialmente expuestos. Sin embargo, un token de GitHub quedó fuera de ese proceso, permaneciendo válido.
Ese único token permitió a los atacantes acceder sin autorización al entorno de GitHub de Grafana y a sus repositorios internos.
Según las revelaciones de Grafana y reportes externos, los atacantes:
Informes adicionales indican que el material descargado también pudo incluir repositorios de colaboración interna, contactos comerciales y direcciones de correo electrónico almacenadas en esos repositorios.
Grafana señaló que su investigación no encontró evidencia de acceso a datos de clientes ni información personal de usuarios.
Después de descargar los repositorios, los atacantes emitieron una demanda de rescate y amenazaron con publicar los datos robados si la empresa no pagaba.
La compañía confirmó la demanda pero se negó a pagar. Los reportes sitúan la cronología del incidente aproximadamente así:
Tras detectar la intrusión, Grafana invalidó las credenciales comprometidas y lanzó una investigación forense.
Grafana subrayó que la brecha se limitó a su entorno de GitHub, no a su infraestructura de producción.
De acuerdo con la investigación de la empresa:
Esto significa que el incidente se centró en repositorios de código y documentación interna almacenados en GitHub, no en sistemas operativos ni bases de datos de clientes.
La actividad observada durante el incidente consistió principalmente en acceso no autorizado y exfiltración de datos, no en manipulación de versiones del software ni en comprometer pipelines de producción.
No obstante, los observadores externos dependen en gran medida de las conclusiones forenses publicadas por Grafana, ya que no se han divulgado detalles técnicos completos de investigaciones independientes.
El incidente de Grafana ilustra un patrón cada vez más común en los ataques modernos a la cadena de suministro de software.
La campaña Mini Shai‑Hulud se propagó a través de paquetes comprometidos en repositorios de desarrollo, infectando herramientas utilizadas por mantenedores de proyectos y empresas.
El esquema típico del ataque fue el siguiente:
Grafana se convirtió en una de las víctimas destacadas cuando un token de CI robado, combinado con una única credencial que no se rotó, proporcionó a los atacantes una puerta de entrada a sus repositorios de GitHub.
El incidente subraya cómo los ataques actuales a la cadena de suministro apuntan cada vez más al pipeline de desarrollo, donde los tokens de CI y las credenciales de automatización pueden dar acceso directo al código fuente y a sistemas internos de una organización.
Comments
0 comments