Etiquetas hackeadas en GitHub: el ataque a Laravel Lang expone secretos y pone en riesgo tus dependencias

Autor: Publicada 4 min de lectura 193 lecturas

Las imágenes de este artículo han sido generadas con inteligencia artificial. Cómo publicamos

Un ataque a la cadena de suministro que afectó a los paquetes de localización Laravel Lang demuestra hasta qué punto los atacantes pueden explotar las funciones legítimas de las plataformas de desarrollo para distribuir malware sin modificar visiblemente el código principal del proyecto. En vez de publicar versiones nuevas con código malicioso, los atacantes reescribieron las etiquetas (tags) de GitHub para apuntarlas a commits en forks controlados por ellos, de modo que las instalaciones vía Composer seguían pareciendo descargas de versiones legítimas cuando en realidad cargaban un archivo dropper malicioso.

La técnica usada —manipular tags para redirigir a commits maliciosos— es peligrosa porque evade controles superficiales que muchas organizaciones asumen fiables: historial de tags, versiones numeradas y firmas aparentes del repositorio. Cuando se atacan numerosas versiones históricas, la exposición no queda limitada a quien actualice recientemente, sino a cualquier proyecto que haya fijado (o no) una dependencia a un rango de versiones ahora comprometido.

Etiquetas hackeadas en GitHub: el ataque a Laravel Lang expone secretos y pone en riesgo tus dependencias
Imagen generada con IA.

El payload inyectado se cargaba automáticamente mediante una entrada en la sección autoload de composer.json, introduciendo un archivo helpers.php que actuaba como descargador del segundo payload desde un servidor controlado por los atacantes (flipboxstudio[.]info). Ese segundo componente era un stealer multiplataforma que busca credenciales en entornos cloud, tokens de CI/CD, claves SSH, secretos en archivos .env, credenciales Git, datos de navegadores y carteras de criptomonedas. En Windows se ha identificado además un ejecutable llamado DebugElevator orientado a extraer secretos de navegadores Chromium y claves de cifrado específicas.

Las consecuencias prácticas para equipos de desarrollo y operaciones son graves: la mera instalación de una dependencia comprometida puede exfiltrar secretos que permitan escalar intrusiones a entornos de producción, comprometer pipelines de CI/CD, o permitir movimientos laterales en infraestructuras cloud. Además, el uso de un único token con permisos organizacionales en GitHub para publicar tags pone de manifiesto la importancia de la gestión de identidades y accesos a nivel de organización.

Si tu proyecto usa paquetes de Laravel Lang o cualquier dependencia de terceros, actúa con prioridad. Revisa tu composer.lock y el árbol vendor en busca de cambios inesperados, busca archivos nuevos como helpers.php en paquetes afectados y compara el origen de cada instalación (si fue descargada desde packagist o desde un fork). Un comando útil para inventariar dependencias instaladas es composer show -i, y para verificar entradas autoload puedes inspeccionar composer.json en cada paquete dentro de vendor. También conviene comprobar logs de red y firewall para conexiones salientes hacia flipboxstudio[.]info y otras URLs sospechosas.

Si detectas posible ejecución del malware, aíslalo inmediatamente y trata el incidente como compromiso de secretos: rota claves de API, tokens de GitHub y credenciales cloud, invalida credenciales expuestas en CI/CD y revise historiales de despliegue por actividad inusual. Packagist respondió deslistando versiones maliciosas tras el reporte; aún así, considera revocar y regenerar credenciales en todos los sistemas donde el paquete pudo haberse instalado.

Más allá de la respuesta inmediata, hay medidas preventivas que reducen la superficie de este tipo de ataques: bloquear el uso de tokens con permisos de push amplios en la organización, habilitar autenticación de dos factores obligatoria y SAML/SSO, auditar y limitar claves de servicio, y preferir instalaciones reproducibles y controladas mediante composer.lock fijado en CI. Para proyectos críticos, valora el uso de repositorios privados o proxies de paquetes que cacheen y verifiquen integridad de las dependencias.

Etiquetas hackeadas en GitHub: el ataque a Laravel Lang expone secretos y pone en riesgo tus dependencias
Imagen generada con IA.

Incorpora herramientas de software composition analysis (SCA) y monitorización de integridad que detecten cambios en versiones históricas o en metadatos (por ejemplo, modificaciones en tags o en las entradas autoload). También es recomendable implementar controles en pipelines que eviten que secretos reales estén accesibles en agentes de CI/CD sin filtros, y usar secretos dinámicos y de corta vida siempre que sea posible.

Para investigar artefactos concretos y muestras del ataque puedes consultar los reportes técnicos publicados por investigadores externos; por ejemplo, el análisis publicado por StepSecurity ofrece contexto técnico sobre la reescritura de tags y el vector de infección: StepSecurity - Laravel Lang supply chain attack. Además, las muestras del payload y su análisis están disponibles en bases de datos de malware como VirusTotal, donde pueden consultarse indicadores para detección: VirusTotal - muestra de payload. También revisa la página de Packagist y avisos oficiales para confirmaciones y listados de versiones afectadas: Packagist.

Este incidente recuerda que la seguridad de la cadena de suministro no depende solo del código en la rama principal: metadatos, permisos y procesos de publicación son vectores críticos. Reforzar la gobernanza de tokens, auditar accesos y monitorizar las instalaciones automatizadas debería ser una prioridad permanente para cualquier equipo que dependa de software de terceros.

Cobertura

Relacionadas

Mas noticias del mismo tema.