Attaque de la chaîne d'approvisionnement ciblant les packages Laravel-Lang avec un voleur d'identifiants
Une attaque sophistiquée de la chaîne d'approvisionnement a compromis plusieurs packages PHP appartenant à **Laravel-Lang**, injectant un framework de vol d'identifiants. L'attaque réécrit les balises Git existantes pour pointer vers des commits malveillants, affectant plus de 700 versions des packages concernés.

Des chercheurs en cybersécurité ont découvert une nouvelle attaque de la chaîne d'approvisionnement logicielle ciblant les packages PHP **Laravel-Lang** pour délivrer un framework complet de vol d'identifiants. Cette attaque souligne la sophistication croissante et l'impact potentiel des vulnérabilités de la chaîne d'approvisionnement.
### Packages Affectés
Les packages compromis incluent :
* laravel-lang/lang
* laravel-lang/http-statuses
* laravel-lang/attributes
* laravel-lang/actions
**Socket** a rapporté que le calendrier des balises publiées suggère une compromission plus large du processus de publication de l'organisation **Laravel Lang**. Les balises ont été publiées rapidement les 22 et 23 mai 2026 (Note : l'année est probablement une faute de frappe dans la source), avec de nombreuses versions apparaissant à quelques secondes d'intervalle.
On pense que l'attaquant a obtenu un accès aux identifiants au niveau de l'organisation, à l'automatisation des dépôts ou à l'infrastructure de publication. Plus de 700 versions ont été identifiées comme faisant partie de cet événement automatisé de marquage ou de republication en masse.
### Vecteur d'Attaque
Un aspect unique de cette attaque est que le code source du projet n'a pas été directement modifié. Au lieu de cela, les attaquants ont réécrit chaque balise Git existante dans chaque dépôt pour pointer vers un nouveau commit malveillant.
Le code malveillant réside dans `src/helpers.php`, qui est intégré dans les balises de version. Ce fichier identifie l'hôte infecté et communique avec un serveur externe (`flipboxstudio[.]info`) pour récupérer une charge utile PHP multiplateforme pour Windows, Linux et macOS.
**StepSecurity** a noté que l'attaquant a ajouté `src/helpers.php` à la carte `autoload.files` dans chaque package compromis. Comme chaque application **Laravel** appelle `require __DIR__.'/vendor/autoload.php'` au démarrage, la charge utile s'exécute immédiatement au démarrage, sans nécessiter d'instanciation de classe ou d'appels de méthode.
### Exécution de la Charge Utile
Selon **Aikido Security**, le dropper délivre un lanceur **Visual Basic Script** sur Windows, exécuté via `cscript`. Sur Linux et macOS, il exécute la charge utile du voleur en utilisant `exec()`.
**Socket** a expliqué que puisque `src/helpers.php` est enregistré dans le `composer.json` sous `autoload.files`, le backdoor s'exécute automatiquement à chaque requête PHP traitée par l'application compromise.
Le script génère un marqueur unique par hôte (un hash MD5 combinant le chemin du répertoire, l'architecture du système et l'inode) pour garantir que la charge utile ne se déclenche qu'une seule fois par machine, évitant les exécutions redondantes et aidant à rester indétecté.
### Exfiltration de Données
Le voleur collecte un large éventail de données à partir des systèmes compromis et les exfiltre vers `flipboxstudio[.]info`. Les données ciblées incluent :
* Rôles IAM et documents d'identité d'instance à partir des points de terminaison de métadonnées cloud.
* Identifiants par défaut des applications **Google Cloud**.
* Jetons d'accès et profils de principaux de service **Microsoft Azure**.
* Jetons de compte de service **Kubernetes** et configurations du registre Helm.
* Jetons d'authentification pour **DigitalOcean**, **Heroku**, **Vercel**, **Netlify**, **Railway** et **Fly.io**.
* Jetons **HashiCorp Vault**.
* Jetons et configurations de **Jenkins**, **GitLab Runners**, **GitHub Actions**, **CircleCI**, **TravisCI** et **ArgoCD**.
* Phrases de départ et fichiers associés aux portefeuilles de cryptomonnaies (Electrum, Exodus, Atomic, Ledger Live, Trezor, Wasabi et Sparrow) et extensions (MetaMask, Phantom, Trust Wallet, Ronin, Keplr, Solflare et Rabby).
* Historique du navigateur, cookies et données de connexion de **Google Chrome**, **Microsoft Edge**, **Mozilla Firefox**, **Brave** et **Opera**, contournant le chiffrement lié aux applications (**ABE**) de **Chromium**.
* Coffres-forts locaux et données d'extensions de navigateur pour **1Password**, **Bitwarden**, **LastPass**, **KeePass**, **Dashlane** et **NordPass**.
* Sessions enregistrées **PuTTY**/WinSCP.
* Extraits du Gestionnaire d'identifiants Windows.
* Fichiers RDP.
* Jetons de session associés à des applications comme **Discord**, **Slack** et **Telegram**.
* Données de **Microsoft Outlook**, **Thunderbird** et clients FTP populaires (FileZilla, WinSCP et CoreFTP).
* Fichiers de configuration et d'identifiants contenant des jetons d'authentification **Docker**, des clés privées SSH, des identifiants Git, des fichiers d'historique de shell, des fichiers d'historique de base de données, des configurations de cluster **Kubernetes**, des fichiers `.env`, `wp-config.php` et `docker-compose.yml`.
* Variables d'environnement chargées dans le processus PHP.
* Identifiants de contrôle de source à partir des fichiers `.gitconfig` globaux et locaux, `.git-credentials` et `.netrc`.
* Configuration VPN et fichiers de connexion enregistrés pour **OpenVPN**, **WireGuard**, **NetworkManager** et VPN commerciaux tels que **NordVPN**, **ExpressVPN**, **CyberGhost** et **Mullvad**.
Le chercheur d'**Aikido**, Ilyas Makari, a déclaré que la charge utile récupérée est un voleur d'identifiants PHP d'environ 5 900 lignes, organisé en quinze modules collecteurs spécialisés. Après avoir collecté les données, il chiffre les résultats avec AES-256 et les envoie à `flipboxstudio[.]info/exfil`, puis se supprime pour limiter les preuves médico-légales.