Packagist Supply Chain Attack Infects 8 Packages Using GitHub-Hosted Linux Malware
Mis à jour :
Attaque de chaîne d’approvisionnement via Packagist et GitHub
Une campagne coordonnée a récemment compromis huit paquets sur Packagist en y injectant du code malveillant. Cette attaque se distingue par son approche “multi-écosystème” : au lieu de modifier le fichier composer.json (propre à PHP), les attaquants ont inséré des scripts malveillants dans le fichier package.json afin de cibler les développeurs utilisant des outils de construction JavaScript au sein de leurs projets PHP.
Points clés :
- Mécanisme d’exécution : Utilisation de scripts
postinstalldanspackage.jsonet de workflows GitHub Actions pour exécuter du code à distance. - Comportement malveillant : Téléchargement d’un binaire Linux depuis une URL GitHub, enregistrement sous
/tmp/.sshd, attribution des droits d’exécution et exécution en arrière-plan. - Dissimulation : Tentative de masquer l’activité en désactivant la vérification TLS et en supprimant les erreurs.
- Portée : Plus de 770 fichiers potentiellement compromis sur GitHub, suggérant une campagne de grande envergure.
Vulnérabilités :
- Aucune CVE spécifique n’est associée, il s’agit d’une injection de code via des fichiers de configuration de cycle de vie (hooks
postinstall).
Recommandations :
- Audit des dépendances : Ne pas se limiter à l’analyse des fichiers
composer.json. Examiner systématiquement les fichierspackage.jsonet les scripts de build dans les dépendances, même dans les projets PHP. - Surveillance des workflows : Vérifier l’intégrité des fichiers
.github/workflows/pour détecter toute exécution de binaire suspecte ou non autorisée lors des processus d’intégration continue (CI). - Isolation : Utiliser des outils d’analyse de la chaîne d’approvisionnement logicielle pour détecter les comportements suspects lors de l’installation des paquets (tels que les accès réseau ou les écritures dans
/tmp). - Réaction : Si l’un des huit paquets listés était utilisé, révoquer les accès et auditer les systèmes pour détecter toute persistance de l’exécutable
/tmp/.sshd.
