22/04/2025

Actu Cybersécurité

Python : la plateforme PyPI renforce sa sécurité avec une fonction d’archivage de projet

PyPI renforce la sécurité et la transparence des projets Python avec une nouvelle fonctionnalité permettant aux développeurs d'indiquer qu'un projet ne sera plus mis à jour. Faisons le point.

Pour rappel, PyPI (Python Package Index) est le dépôt officiel des paquets Python, permettant aux développeurs de publier, partager et installer des bibliothèques Python facilement. Ils sont ensuite installés sur les machines grâce à l'utilisation de pip ou pipx.

PyPI : un indicateur clair pour les projets abandonnés

Grâce à la nouveauté nommée "Project Archival", les développeurs peuvent signaler qu’un projet ne bénéficiera plus de mises à jour, évitant ainsi toute ambiguïté pour les utilisateurs. Le projet bascule alors dans l'état archivé, nouveau sur cette plateforme. Les paquets archivés resteront disponibles en téléchargement, mais un avertissement affiché sur PyPI informera clairement du statut d’archivage.

L’objectif principal de cette nouveauté est d’améliorer la sécurité de la chaîne d’approvisionnement ! Elle vise à lutter contre plusieurs techniques :

  • Le détournement de comptes de développeurs (hijacking)
  • La diffusion de mises à jour malveillantes sur des projets largement utilisés mais abandonnés
  • Les attaques Revival Hijack, où un acteur malveillant recrée un projet correspondant à un projet abandonné et supprimé par le développeur

De plus, cette nouvelle option devrait réduire les demandes de support liées aux dépendances obsolètes, grâce à l'ajout d'une indication explicite sur le cycle de vie des projets.

Un archivage réversible et un cadre évolutif

Développé par TrailofBits, le système repose sur le modèle LifecycleStatus, utilisé auparavant pour la mise en quarantaine des projets. Une fois un projet marqué comme archivé via les paramètres PyPI, ses métadonnées sont mises à jour automatiquement. Cette bannière s'affichera sur les projets archivés :

Source : TrailofBits

PyPI recommande aux développeurs de publier une dernière version avec des explications, bien que cela ne soit pas obligatoire. Il s'agit là d'être transparent avec la communauté pour expliquer les raisons de l'abandon du projet.

Quoi qu'il en soit, l’archivage reste réversible : un projet peut être restauré à tout moment si son mainteneur décide de reprendre son développement. Par la suite, PyPI prévoit également d’introduire d’autres statuts comme "obsolète", "fonctionnalités complètes" ou "non maintenu", pour affiner l’information donnée aux utilisateurs.

Sur PyPI, les développeurs disposent désormais d'une véritable option pour préciser qu'un projet est abandonné : ce qui est fréquent dans l'univers open source. C'est une alternative plus sûre que la suppression pure et simple de leurs projets...

Qu'en pensez-vous ?

Source

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.