El 22 de mayo de 2026, detectamos un ataque activo a la cadena de suministro contra Laravel-Lang. Inmediatamente presentamos un informe a los mantenedores. El atacante publicó etiquetas de versión maliciosas en tres repositorios ampliamente utilizados, inyectando código de robo de credenciales que se carga automáticamente a través de la función de autocarga de composer.
Lo que hace esto particularmente sigiloso es que el código malicioso nunca fue enviado a los repositorios oficiales. GitHub permite que las etiquetas de versión apunten a commits de un fork del mismo repositorio. El atacante explotó esto para crear etiquetas que apuntaban a commits en un fork malicioso que controlaban.
Actualmente hay 233 versiones comprometidas en:
- laravel-lang/lang (7.8k estrellas)
- laravel-lang/attributes
- laravel-lang/http-statuses
También informamos del ataque a Packagist, quien respondió inmediatamente retirando las versiones maliciosas y deslistando temporalmente los paquetes afectados para evitar nuevas instalaciones.
Etapa 1: El dropper
El atacante introdujo un archivo llamado src/helpers.php en las etiquetas de versión afectadas. Superficialmente, parece un ayudante de localización de Laravel rutinario, que define dos funciones inofensivas: laravel_lang_locale() y laravel_lang_fallback(). Debajo de esas funciones, comienza el trabajo real.
Un bloque de código autoexecutable se ejecuta una vez en cada máquina que infecta. Identifica el host utilizando un hash de la ruta del archivo, el nombre de host y el inodo, y luego escribe un archivo marcador en el directorio temporal del sistema para que solo se active una vez. El dominio C2 está oculto dentro de un array de enteros decodificado en tiempo de ejecución para evadir los escáneres estáticos. Se resuelve en flipboxstudio[.]info.
El dropper luego obtiene una carga útil de flipboxstudio[.]info/payload utilizando file_get_contents con un fallback de curl, ambos con la verificación SSL deshabilitada. En Windows, suelta un lanzador .vbs y ejecuta la carga útil silenciosamente a través de cscript. En Linux y macOS, ejecuta la carga útil en segundo plano a través de exec().
Etapa 2: El stealer
La carga útil obtenida es un stealer de credenciales PHP de unas 5.900 líneas, organizado en quince módulos colectores especializados. Después de recopilar todo lo que puede encontrar, cifra los resultados con AES-256 y los envía a flipboxstudio[.]info/exfil. Luego se elimina del disco para limitar la evidencia forense.
Qué roba
Credenciales cloud
- Claves de acceso de AWS, claves secretas y tokens de sesión (del entorno,
~/.aws/credentialsy metadatos de instancias EC2 en vivo) - Credenciales predeterminadas de aplicación de GCP, bases de datos de tokens de acceso y todas las configuraciones CLI nombradas
- Tokens de acceso de Azure, caché de MSAL y perfiles de entidad de servicio
- Tokens de autenticación de DigitalOcean, Heroku, Vercel, Netlify, Railway y Fly.io
Secretos de infraestructura
- Todos los archivos kubeconfig, incluyendo
/etc/kubernetes/admin.conf - tokens de HashiCorp Vault
- Configuraciones de repositorios Helm
- Docker
config.json
Credenciales de desarrollador
- Claves privadas SSH
- Todo
.git-credentialsy.gitconfigarchivos .netrc,.npmrc,.yarnrc,.pypirc,.gem/credentials,.composer/auth.json- Tokens de autenticación de GitHub CLI, GitLab CLI y Hub CLI
- Archivos de historial de shell (bash, zsh, psql, mysql, python, node)
- Todo
.envarchivos y archivos de configuración encontrados al escanear recursivamente el directorio de trabajo (wp-config.php, settings.py, docker-compose.yml, secrets.yaml y más)
Navegadores y gestores de contraseñas
- Contraseñas guardadas de 17 navegadores basados en Chromium: Chrome, Edge, Brave, Opera, Opera GX, Vivaldi, Chromium, Yandex y más. En Windows, un asistente incluido
.exese descarga para descifrar la base de datos de inicio de sesión de Chrome protegida por DPAPI - Firefox y Thunderbird
logins.jsonykey4.dben todos los perfiles - KeePass
.kdbxy.kdbarchivos de base de datos - Archivos de bóveda local de 1Password y Bitwarden
Carteras de criptomonedas
- Archivos de carteras de Bitcoin, Ethereum, Monero, Litecoin, Dash, Dogecoin y Zcash
- Carteras Electrum, Exodus, Atomic, Ledger Live, Trezor, Wasabi y Sparrow
- Carteras de extensión de navegador por ID de extensión: MetaMask, Phantom, Trust Wallet, Ronin, Keplr, Solflare y Rabby
Específico de Windows
- Entradas del Administrador de credenciales y la Bóveda de Windows
- Sesiones guardadas de PuTTY y WinSCP (las contraseñas de WinSCP se descifran activamente)
.rdpArchivos de Escritorio, Documentos y Descargas- Perfiles de registro de Outlook, inventario de archivos OST/PST y entradas del Administrador de credenciales para servicios de Microsoft
Plataformas de comunicación
- Tokens de Slack
- Tokens de bot de Discord
- Tokens de bot de Telegram
Configuraciones de VPN
- Archivos de configuración y credenciales extraídas para NordVPN, ExpressVPN, ProtonVPN, CyberGhost, Private Internet Access, Windscribe, Mullvad, Surfshark, WireGuard y OpenVPN
Cómo Aikido detecta esto
Si es usuario de Aikido, revise su feed central y filtre por problemas de malware. Esto aparecerá como un problema crítico de 100/100. Aikido realiza reescaneos cada noche, pero recomendamos activar un reescaneo manual ahora.
Si aún no es usuario de Aikido, puede crear una cuenta y conectar sus repositorios. Nuestra cobertura de malware está incluida en el plan gratuito, sin necesidad de tarjeta de crédito.
Para una cobertura más amplia en todo su equipo, el Endpoint Protection de Aikido le proporciona visibilidad y control sobre los paquetes de software instalados en los dispositivos de su equipo. Cubre extensiones de navegador, librerías de código, plugins de IDE y dependencias de compilación, todo en un solo lugar. Detenga el malware antes de que se instale.
Para una protección futura, considere Aikido Safe Chain (código abierto). Safe Chain se integra en su flujo de trabajo existente, interceptando comandos npm, npx, yarn, pnpm y pnpx y verificando los paquetes con Aikido Intel antes de la instalación.
Indicadores de compromiso
Red
flipboxstudio.info(Dominio C2)flipboxstudio.info/payload(Recuperación del dropper)flipboxstudio.info/exfil(Endpoint de exfiltración)
Archivos y rutas
<tmp>/.laravel_locale/<md5_hash>(Marcador de infección)<tmp>/.laravel_locale/<12 random hex chars>.php(Stealer desplegado)<tmp>/.laravel_locale/<8 random hex chars>.vbs(Lanzador de Windows)

