Le 22 mai 2026, nous avons détecté une attaque active de la supply chain contre Laravel-Lang. Nous avons déposé un rapport auprès des mainteneurs immédiatement. L'attaquant a publié des tags de version malveillants sur trois dépôts largement utilisés, injectant du code de vol de credentials qui se charge automatiquement via la fonctionnalité d'autoloader de composer.
Ce qui rend cela particulièrement insidieux, c'est que le code malveillant n'a jamais été commité dans les dépôts officiels. GitHub permet aux tags de version de pointer vers des commits provenant d'un fork du même dépôt. L'attaquant a exploité cette fonctionnalité pour créer des tags pointant vers des commits dans un fork malveillant qu'il contrôlait.
233 versions sont actuellement compromises, réparties sur :
- laravel-lang/lang (7.8k stars)
- laravel-lang/attributes
- laravel-lang/http-statuses
Nous avons également signalé l'attaque à Packagist, qui a réagi immédiatement en retirant les versions malveillantes et en déréférençant temporairement les packages affectés pour empêcher de nouvelles installations.
Étape 1 : Le dropper
L'attaquant a introduit un fichier nommé src/helpers.php dans les tags de version affectés. En apparence, il ressemble à un helper de localisation Laravel de routine, définissant deux fonctions inoffensives : laravel_lang_locale() et laravel_lang_fallback(). Sous ces fonctions, le véritable travail commence.
Un bloc de code auto-exécutable s'exécute une seule fois sur chaque machine qu'il infecte. Il identifie l'hôte en utilisant un hash du chemin de fichier, du nom d'hôte et de l'inode, puis écrit un fichier marqueur dans le répertoire temporaire du système afin de ne s'exécuter qu'une seule fois. Le domaine C2 est caché dans un tableau d'entiers décodé à l'exécution pour échapper aux scanners statiques. Il se résout en flipboxstudio[.]info.
Le dropper récupère ensuite un payload depuis flipboxstudio[.]info/payload en utilisant file_get_contents avec un fallback curl, les deux avec la vérification SSL désactivée. Sous Windows, il dépose un lanceur .vbs et exécute le payload silencieusement via cscript. Sous Linux et macOS, il exécute le payload en arrière-plan via exec().
Étape 2 : Le stealer
Le payload récupéré est un stealer de credentials PHP d'environ 5 900 lignes, organisé en quinze modules collecteurs spécialisés. Après avoir collecté tout ce qu'il peut trouver, il chiffre les résultats avec AES-256 et les envoie à flipboxstudio[.]info/exfil. Il se supprime ensuite du disque pour limiter les preuves forensiques.
Ce qu'il dérobe
Credentials cloud
- Clés d'accès AWS, clés secrètes et jetons de session (depuis l'environnement,
~/.aws/credentialset métadonnées d'instance EC2 en direct) - informations d'identification par défaut des applications GCP, bases de données de jetons d'accès et toutes les configurations CLI nommées
- jetons d'accès Azure, cache MSAL et profils de principal de service
- jetons d'authentification DigitalOcean, Heroku, Vercel, Netlify, Railway et Fly.io
Secrets d'infrastructure
- Tous les fichiers kubeconfig, y compris
/etc/kubernetes/admin.conf - Jetons HashiCorp Vault
- Configurations de dépôts Helm
- Docker
config.json
Informations d'identification des développeurs
- Clés privées SSH
- Tous les
.git-credentialset.gitconfigfichiers .netrc,.npmrc,.yarnrc,.pypirc,.gem/credentials,.composer/auth.json- jetons d'authentification GitHub CLI, GitLab CLI et Hub CLI
- Fichiers d'historique de shell (bash, zsh, psql, mysql, python, node)
- Tous les
.envfichiers et fichiers de configuration trouvés en scannant récursivement le répertoire de travail (wp-config.php, settings.py, docker-compose.yml, secrets.yaml et plus)
Navigateurs et gestionnaires de mots de passe
- Mots de passe enregistrés de 17 navigateurs basés sur Chromium : Chrome, Edge, Brave, Opera, Opera GX, Vivaldi, Chromium, Yandex et plus. Sous Windows, un utilitaire intégré
.exeest déployé pour déchiffrer la base de données de connexion de Chrome protégée par DPAPI - Firefox et Thunderbird
logins.jsonetkey4.dbsur tous les profils - KeePass
.kdbxet.kdbfichiers de base de données - Fichiers de coffre-fort locaux 1Password et Bitwarden
Portefeuilles de cryptomonnaies
- Fichiers de portefeuille Bitcoin, Ethereum, Monero, Litecoin, Dash, Dogecoin et Zcash
- Portefeuilles Electrum, Exodus, Atomic, Ledger Live, Trezor, Wasabi et Sparrow
- Portefeuilles d'extension de navigateur par ID d'extension : MetaMask, Phantom, Trust Wallet, Ronin, Keplr, Solflare et Rabby
Spécifique à Windows
- Entrées du Gestionnaire d'informations d'identification et du Coffre-fort Windows
- Sessions enregistrées PuTTY et WinSCP (les mots de passe WinSCP sont activement déchiffrés)
.rdpfichiers depuis le Bureau, les Documents et les Téléchargements- Profils de registre Outlook, inventaire des fichiers OST/PST et entrées du Gestionnaire d'informations d'identification pour les services Microsoft
Plateformes de communication
- Jetons Slack
- Jetons de bot Discord
- Jetons de bot Telegram
Configurations VPN
- Fichiers de configuration et informations d'identification extraites pour NordVPN, ExpressVPN, ProtonVPN, CyberGhost, Private Internet Access, Windscribe, Mullvad, Surfshark, WireGuard et OpenVPN
Comment Aikido détecte cela
Si vous êtes un utilisateur Aikido, vérifiez votre flux central et filtrez les problèmes de logiciels malveillants. Cela apparaîtra comme un problème critique 100/100. Aikido effectue des rescans nocturnes, mais nous vous recommandons de déclencher un rescan manuel dès maintenant.
Si vous n'êtes pas encore un utilisateur Aikido, vous pouvez créer un compte et connecter vos dépôts. Notre couverture des logiciels malveillants est incluse dans le plan gratuit, aucune carte de crédit requise.
Pour une couverture plus large de toute votre équipe, l'Endpoint Protection d'Aikido vous offre une visibilité et un contrôle sur les packages logiciels installés sur les appareils de votre équipe. Elle couvre les extensions de navigateur, les bibliothèques de code, les plugins d'IDE et les dépendances de build, le tout en un seul endroit. Arrêtez les logiciels malveillants avant qu'ils ne soient installés.
Pour une protection future, envisagez Aikido Safe Chain (open source). Safe Chain s'intègre à votre flux de travail existant, en interceptant les commandes npm, npx, yarn, pnpm et pnpx et en vérifiant les paquets par rapport à Aikido Intel avant l'installation.
Indicateurs de compromission
Réseau
flipboxstudio.info(domaine C2)flipboxstudio.info/payload(récupération du dropper)flipboxstudio.info/exfil(point de terminaison d'exfiltration)
Fichiers et chemins
<tmp>/.laravel_locale/<md5_hash>(marqueur d'infection)<tmp>/.laravel_locale/<12 random hex chars>.php(stealer déposé)<tmp>/.laravel_locale/<8 random hex chars>.vbs(lanceur Windows)

