IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Un jeton d'accès personnel appartenant au directeur de la Python Software Foundation a été exposé pendant plus d'un an
Il disposait de privilèges administratifs sur PyPI et les référentiels officiels Python

Le , par Stéphane le calme

610PARTAGES

7  0 
Un jeton d’accès personnel (PAT) appartenant au directeur de l’infrastructure de la Python Software Foundation (PSF) a été exposé pendant plus d’un an. Ce jeton avait des privilèges administratifs pour les référentiels officiels du langage de programmation Python et de l’index des packages Python (PyPI). Malheureusement, il a été accidentellement inclus dans un fichier binaire compilé publié sur Docker Hub.

L'équipe de recherche en sécurité de JFrog a récemment découvert et signalé une fuite de jeton d'accès avec un accès administrateur aux dépôts GitHub de Python, PyPI et Python Software Foundation, qui a été divulguée dans un conteneur Docker public hébergé sur Docker Hub.

En tant que service communautaire, l'équipe de recherche en sécurité de JFrog analyse en permanence les dépôts publics tels que Docker Hub, NPM et PyPI afin d'identifier les paquets malveillants et les fuites de secrets. L'équipe signale toute découverte aux responsables concernés avant que les attaquants ne puissent en tirer parti.

« Bien que nous rencontrions de nombreux secrets qui sont divulgués de la même manière, ce cas est exceptionnel car il est difficile de surestimer les conséquences potentielles s'ils étaient tombés entre de mauvaises mains - il serait possible d'injecter du code malveillant dans les paquets PyPI (imaginez que vous remplaciez tous les paquets Python par des paquets malveillants), et même dans le langage Python lui-même », ont écrit dans un rapport les chercheurs de l'entreprise de sécurité JFrog, qui ont trouvé et signalé le jeton.

L'équipe de recherche en sécurité de JFrog a identifié la fuite et l'a immédiatement signalée à l'équipe de sécurité de PyPI, qui a révoqué le jeton en 17 minutes à peine !

L'incident montre que l'élimination des jetons d'accès du code source uniquement, que certains outils de développement effectuent automatiquement, ne suffit pas à prévenir les failles de sécurité potentielles. Des informations d'identification sensibles peuvent également être incluses dans des variables d'environnement, des fichiers de configuration et même des artefacts binaires à la suite de processus de construction automatisés et d'erreurs commises par les développeurs.


Le jeton d'authentification a été trouvé dans un conteneur Docker, dans un fichier Python compilé - __pycache__/build.cpython-311.pyc

Qu'est-ce qui aurait pu se passer ?

Les conséquences de la découverte de cette fuite de jeton pourraient être extrêmement graves. Le détenteur d'un tel jeton aurait eu un accès administrateur à tous les dépôts de Python, de PyPI et de la Python Software Foundation, ce qui aurait permis de mener une attaque de la chaîne d'approvisionnement à très grande échelle.

Différentes formes d'attaques de la chaîne d'approvisionnement étaient possibles dans ce scénario. L'une d'entre elles consisterait à dissimuler un code malveillant dans CPython, qui est un dépôt de certaines des bibliothèques de base du langage de programmation Python, compilées à partir d'un code C. En raison de la popularité de Python, l'insertion d'un code malveillant qui finirait par se retrouver dans les éléments distribuables de Python pourrait signifier la propagation de votre porte dérobée à des dizaines de millions de machines dans le monde entier !


Vecteur d'attaque de la chaîne d'approvisionnement du langage Python

Un autre scénario possible serait l'insertion d'un code malveillant dans le code Warehouse de PyPI, qui est utilisé pour gérer le gestionnaire de paquets PyPI. Imaginons qu'un attaquant insère un code qui lui donne une porte dérobée vers le stockage de PyPI, lui permettant de manipuler des paquets PyPI très populaires, en y cachant du code malveillant ou en les remplaçant complètement. Bien qu'il ne s'agisse pas de la manière la plus sophistiquée de mener une attaque qui resterait longtemps indétectée, il s'agit certainement d'un scénario effrayant.


Vecteur d'attaque de la chaîne d'approvisionnement PyPI

La fuite du jeton Python est le résultat de la paresse

Ee Durbin, administrateur de PyPI et directeur de l'infrastructure...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !