Nouvelles mesures de sécurité pour Composer et Packagist
L'équipe derrière le gestionnaire de dépendances PHP Composer et le registre de paquets Packagist.org a publié une mise à jour détaillée de ses travaux en cours pour sécuriser la chaîne d'approvisionnement logicielle. Cette initiative intervient après une augmentation notable des attaques ces dernières semaines, dont certaines ont touché l'écosystème PHP par le biais de comptes GitHub compromis et de jetons d'accès volés, permettant à des attaquants de publier de nouvelles étiquettes sur des paquets auxquels ils n'avaient pas légitimement accès. Deux incidents majeurs sont cités : celui impliquant le paquet laravel-lang le 22 mai et celui visant intercom/intercom-php le 30 avril.
Dispositifs déjà en place
Plusieurs mesures sont déjà opérationnelles. La première est l'intégration dans Packagist.org et les métadonnées de paquets consommées par Composer des résultats de détection de malwares fournis par Aikido. Cette fonctionnalité, active depuis mars 2026, signale les versions malveillantes directement dans l'interface utilisateur et les métadonnées. En complément, l'équipe de Packagist assure une réponse rapide aux incidents, retirant les paquets ou versions concernés en quelques minutes après la détection.
Un journal de transparence public a également été mis en place. Ce journal enregistre les événements liés à la sécurité, tels que les changements de propriétaire de paquets, les ajouts ou suppressions de mainteneurs, les modifications utilisateur et les changements de références de versions. Ce journal, dont le développement a été financé par l'Agence allemande pour les technologies souveraines, s'est révélé directement utile lors des récentes attaques. Il a permis d'identifier exactement les modifications apportées à des étiquettes git et de reconstruire les chronologies précises de chaque incident, un élément clé des attaques récentes.
Fonctionnalités à venir cette semaine
Plusieurs nouveautés majeures sont déployées cette semaine. La version 2.10 de Composer introduit un cadre unifié de politiques de dépendances couvrant les versions signalées comme malwares, les avis de vulnérabilité et les paquets abandonnés.
Packagist.org met également en œuvre l'immuabilité des versions stables : les versions étiquetées ne peuvent plus être réécrites silencieusement par un re-étiquetage dans les dépôts git.
De nouvelles fonctionnalités de sécurité pour la chaîne d'approvisionnement sont aussi déployées dans Private Packagist, permettant un contrôle à l'échelle de l'organisation. Enfin, le comportement de téléchargement de composer install devient plus prévisible avec l'abandon des solutions de repli sur les sources.
Prochaines étapes : mois à venir
Plusieurs évolutions sont programmées pour les prochaines semaines et mois. Composer intégrera une politique de délai de publication minimal (période de refroidissement) pour les dépendances. Des outils d'administration améliorés sur Packagist.org sont également prévus, incluant des surcharges manuelles du flux de malwares, la suppression de l'affichage pour les anciens clients Composer, et le gel des paquets en cas de compromission active de compte.
Les événements d'authentification multifacteur (MFA) seront rendus publics dans le journal de transparence, et le statut MFA des mainteneurs sera visible sur leurs profils. Enfin, un système de propriété organisationnelle des paquets remplacera les comptes d'entreprise partagés par une gestion multi-utilisateurs avec des options de configuration par espace de noms.
Orientation à long terme
L'équipe indique plusieurs axes de travail de long terme. L'authentification multifacteur (MFA) deviendra obligatoire sur Packagist.org, avec des exigences plus strictes au niveau des organisations. Un processus de publication par étapes adossé à la norme FIDO2 sera requis pour les paquets à large base d'utilisateurs. Packagist.org hébergera directement des artefacts de build immuables, avec une provenance de build selon les normes SLSA et des attestations Sigstore vérifiées côté client Composer.
Enfin, l'objectif est d'amener la pile Composer et Packagist à se conformer aux principes du groupe de travail "Securing Software Repositories" de l'OpenSSF, notamment le niveau d'autorisation L3, et au brouillon de travail SLSA pour le suivi des dépendances aux niveaux L3 et L4.