GCP - Artifact Registry Persistence
Registro de Artefactos
Para obtener más información sobre el Registro de Artefactos, consulta:
pageGCP - Artifact Registry EnumConfusión de Dependencias
¿Qué sucede si se mezclan repositorios remotos y estándar en uno virtual y un paquete existe en ambos?
Se utiliza el que tiene la prioridad más alta establecida en el repositorio virtual
Si la prioridad es la misma:
Si la versión es la misma, se utiliza el nombre de política alfabéticamente primero en el repositorio virtual
Si no, se utiliza la versión más alta
Por lo tanto, es posible abusar de una versión más alta (confusión de dependencias) en un registro de paquetes público si el repositorio remoto tiene una prioridad más alta o igual
Esta técnica puede ser útil para persistencia y acceso no autenticado, ya que para abusar de ella solo se necesita conocer el nombre de una biblioteca almacenada en el Registro de Artefactos y crear esa misma biblioteca en el repositorio público (PyPi por ejemplo) con una versión más alta.
Para la persistencia, estos son los pasos que debes seguir:
Requisitos: Debe existir un repositorio virtual y ser utilizado, se debe usar un paquete interno con un nombre que no exista en el repositorio público.
Crea un repositorio remoto si no existe
Agrega el repositorio remoto al repositorio virtual
Edita las políticas del registro virtual para dar una prioridad más alta (o igual) al repositorio remoto. Ejecuta algo como:
Descarga el paquete legítimo, agrega tu código malicioso y regístralo en el repositorio público con la misma versión. ¡Cada vez que un desarrollador lo instale, instalará el tuyo!
Para obtener más información sobre la confusión de dependencias, consulta:
Última actualización