GCP - Artifact Registry Persistence
Registre d'Artifacts
Pour plus d'informations sur le Registre d'Artifacts, consultez :
GCP - Artifact Registry EnumConfusion de Dépendances
Que se passe-t-il si des dépôts distants et standards sont mélangés dans un virtuel et qu'un package existe dans les deux ?
Celui avec la priorité la plus élevée définie dans le dépôt virtuel est utilisé
Si la priorité est la même :
Si la version est la même, le nom de la politique alphabétiquement premier dans le dépôt virtuel est utilisé
Sinon, la version la plus élevée est utilisée
Par conséquent, il est possible d'exploiter une version plus élevée (confusion de dépendances) dans un registre de packages public si le dépôt distant a une priorité plus élevée ou identique
Cette technique peut être utile pour la persistance et l'accès non authentifié car pour l'exploiter, il suffit de connaître le nom d'une bibliothèque stockée dans le Registre d'Artifacts et de créer cette même bibliothèque dans le dépôt public (PyPi par exemple) avec une version supérieure.
Pour la persistance, voici les étapes à suivre :
Exigences : Un dépôt virtuel doit exister et être utilisé, un package interne avec un nom qui n'existe pas dans le dépôt public doit être utilisé.
Créez un dépôt distant s'il n'existe pas
Ajoutez le dépôt distant au dépôt virtuel
Modifiez les politiques du registre virtuel pour donner une priorité plus élevée (ou identique) au dépôt distant. Exécutez quelque chose comme :
Téléchargez le package légitime, ajoutez votre code malveillant et enregistrez-le dans le dépôt public avec la même version. Chaque fois qu'un développeur l'installe, il installera le vôtre !
Pour plus d'informations sur la confusion de dépendances, consultez :
Last updated