L'attaque de l'écosystème croisé qui a secoué Packagist : quand PHP et Node permettent des portes de retour en CI

Auteur: Publié 5 min de lectura 201 lecture

Les images de cet article ont été générées par intelligence artificielle. Notre méthode de publication

Une récente attaque coordonnée contre la chaîne d'approvisionnement a commis huit paquets publiés dans Paquetage, introduisant un code malveillant conçu pour télécharger et exécuter un binaire Linux hébergé dans une version GitHub. Ce qui rend cette campagne particulièrement inquiétante, c'est la technique du « placement cross-ecosystem » : les attaquants n'ont pas modifié le compositeur. fichier json (le point qu'ils examinent normalement les équipements qui analysent les dépendances PHP), mais le paquet. json qui accompagne les projets qui emballent les outils de construction JavaScript avec le code PHP, permettant aux scripts d'installation Node de fonctionner par inadvertance dans les installations ou les processus de construction.

L'installateur malveillant ajoute un script post-installation qui tente d'obtenir un exécutable à partir d'une URL de lancement de GitHub (publicement indiqué comme pointant vers une repo qui n'existe plus), l'enregistrer dans / tmp / .shd, lui donner les permissions d'exécution avec chmod et le lancer en arrière-plan. De plus, selon l'analyse, l'installateur tente de cacher son activité en désactivant la vérification TLS et en supprimant les erreurs. Cela crée une fenêtre d'exécution à distance pendant l'installation ou dans le travail CI qui peut entraîner le vol de secrets, pivoter dans des environnements de construction ou l'installation de portes arrière dans des infrastructures productives.

L'attaque de l'écosystème croisé qui a secoué Packagist : quand PHP et Node permettent des portes de retour en CI
Image générée avec IA.

Socket a signalé que les versions malveillantes ont déjà été retirées de Packagist, mais ses recherches ont trouvé des références de la même charge utile dans 777 fichiers dans GitHub, y compris au moins deux insertions dans GitHub Actions workflows. Cela suggère une portée potentiellement beaucoup plus grande : certains cas peuvent être compromis fourches, artefacts en double ou références cache, mais la présence de la charge utile dans les artefacts et les workflows montre que les attaquants ont utilisé plusieurs vecteurs d'exécution.

Les conséquences techniques sont claires: les projets qui emballent des unités multi-écosystèmes et exécutent des scripts pendant l'installation ou en CI sont des cibles de grande valeur. De nombreux outils et processus sont supposés sûrs parce qu'ils n'inspectent que les métadonnées de l'écosystème principal (p. ex. composer.json dans les projets PHP) et non les métadonnées des paquets inclus dans d'autres écosystèmes (package.json, package-lock.json, fil.lock), laissant une surface d'attaque exploitable.

Si votre projet peut être affecté (ou simplement comme une bonne hygiène), agissez immédiatement : d'abord, évitez de faire fonctionner des installations ou de construire dans des environnements avec des références sensibles jusqu'à ce que vous ayez vérifié les artefacts. Inspecte tout engagement récent dans les dépôts en amont et passe en revue l'historique de la publication. Si vous avez trouvé une version malveillante, révoquer toute clé ou jeton qui aurait pu être dans l'environnement pendant l'installation, parce que l'exécution à distance peut avoir exfiltré des secrets. Il publie une version propre et informe vos utilisateurs de manière transparente de la nécessité de mettre à jour.

Au niveau opérationnel, il implémente des contrôles qui réduisent le risque d'exécution de scripts non autorisés : il configure CI pour ne pas exécuter automatiquement les workflows de fourche, utilise les coureurs avec des permissions minimales et isolées, utilise l'option pour ignorer les scripts dans les installations automatisées (par exemple, npm ci --ignore-scripts ou le jeu de configuration de npm ignore-scripts true le cas échéant), et évite les téléchargements arbitraires dans le temps de construction à partir d'URL externes non validées. Il permet également une vérification stricte du TLS dans tous les processus automatisés et enregistre les appels sortants dans les bâtiments pour détecter les téléchargements suspects.

L'attaque de l'écosystème croisé qui a secoué Packagist : quand PHP et Node permettent des portes de retour en CI
Image générée avec IA.

Du point de vue de la gestion de la chaîne d'approvisionnement logicielle, elle adopte des pratiques de sécurité plus avancées : elle génère et consomme des SBOM, utilise des signatures d'appareils et la vérification des sources (p. ex. Sigstore) et applique la numérisation SCA, y compris l'analyse du paquet CI. json et les flux de travail, non seulement l'écosystème principal se manifeste. Les outils de sécurité et les plates-formes comme GitHub Actions nécessitent des politiques strictes pour l'exécution par des tiers; consultez la documentation de GitHub Actions sur la protection des flux de travail afin de réduire l'exécution de code peu fiable: Actions GitHub.

Pour la détection et la réponse, il intègre des scanners à la recherche de scripts postinstall suspects, des modèles de téléchargement binaire dans / tmp, ou des appels vers des domaines et des dépôts inhabituels. Les services et les fournisseurs externes spécialisés en SCA peuvent aider à identifier les versions malveillantes et les blocages dans les sources de paquets; en outre, le maintien des politiques d'approbation des communiqués et l'exigence d'examens humains avant la publication ou l'intégration de changements dans les unités critiques réduit la probabilité d'engagements non remarqués.

Cet incident rappelle que la sécurité de la chaîne d'approvisionnement exige une visibilité transversale : il ne suffit pas de vérifier un écosystème unique lorsque les projets mélangent langues et outils. Tenir à jour l'inventaire des unités, appliquer les contrôles d'installation et l'IC défensif, exiger la source signée des appareils et agir rapidement en cas de détection pour atténuer la fenêtre d'exposition. Pour mieux comprendre le tableau et les meilleures pratiques concernant les attaques de la chaîne d'approvisionnement, consulter les analyses et les guides pratiques comme ceux de Snyk sur ces menaces : Snyk - Attaques de la chaîne d'approvisionnement logicielle et examine régulièrement les sources officielles et les référentiels de sécurité pour les indicateurs d'engagement.

Couverture

Autres

Plus de nouvelles sur le même sujet.