L’Index des packages Python (PyPI) a annoncé l’introduction de « Project Archival », un nouveau système qui permet aux éditeurs d’archiver leurs projets, indiquant aux utilisateurs qu’aucune mise à jour n’est à prévoir.

Les projets seront toujours hébergés sur PyPI, et les utilisateurs pourront toujours les télécharger, mais ils verront un avertissement sur l’état de la maintenance, pour les aider à prendre des décisions éclairées sur leurs dépendances.

La nouvelle fonctionnalité vise à améliorer la sécurité de la chaîne d’approvisionnement, car le détournement de comptes de développeurs et la diffusion de mises à jour malveillantes vers des projets largement utilisés mais abandonnés sont un scénario courant dans l’espace open source.

En plus de réduire les risques pour les utilisateurs, cela réduit également les demandes d’assistance des utilisateurs en assurant une communication claire sur l’état du cycle de vie du projet.

Bannière d’avertissement sur le projet archivé

Comment fonctionne l’archivage de projet
Selon un blog plus détaillé de TrailofBits, le développeur du nouveau système d’archivage de projets de PyPI, la fonctionnalité fournit un statut contrôlé par le mainteneur qui permet aux propriétaires de projets de marquer leurs projets comme archivés, pour signaler aux utilisateurs qu’il n’y aura plus de mises à jour, de correctifs ou de maintenance.

PyPI recommande aux responsables de publier une version finale avant d’archiver un projet pour inclure des détails et des explications sur la raison de l’archivage d’un projet, bien que cela ne soit pas obligatoire.

Les mainteneurs peuvent désarchiver leur projet à tout moment dans le futur s’ils choisissent de reprendre le travail dessus.

Sous le capot, le nouveau système utilise un modèle LifecycleStatus, développé à l’origine pour la quarantaine de projets, qui comprend une machine à états qui permet des transitions entre différents statuts.

Une fois que le propriétaire du projet clique sur l’option « Archiver le projet » sur la page des paramètres de PyPI, la plateforme met automatiquement à jour ses métadonnées pour refléter le nouveau statut.

TrailofBits indique qu’il est prévu d’ajouter d’autres statuts de projet tels que « obsolète », « fonctionnalité terminée » et « non maintenu », donnant aux utilisateurs une idée plus claire de l’état du projet.

Nouvelle option dans les paramètres du projet

La bannière d’avertissement est destinée à informer les développeurs qu’ils doivent rechercher des dépendances alternatives activement maintenues au lieu de continuer à s’appuyer sur des projets obsolètes et potentiellement non sécurisés.

En dehors de cela, il arrive souvent que des attaquants ciblent des packages abandonnés, s’emparent de projets non maintenus et injectent du code malveillant via une mise à jour qui peut survenir plusieurs années après la dernière.

Dans d’autres cas, les responsables choisissent de supprimer leurs projets lorsqu’ils envisagent d’arrêter le développement, ce qui conduit à des scénarios tels que les attaques de « Détournement de relance ». Donner à ces responsables une option d’archivage est bien meilleur du point de vue de la sécurité.

En fin de compte, en raison de la nature de l’open source, de nombreux projets sont abandonnés sans préavis, laissant les utilisateurs deviner s’ils sont toujours maintenus.

Le nouveau système devrait améliorer la transparence de la maintenance des projets open source, en éliminant les conjectures et en fournissant un signal explicite sur l’état d’avancement d’un projet.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *