Con este permiso, un atacante podría cargar nuevas versiones de los artefactos con código malicioso como imágenes de Docker:
# Configure docker to use gcloud to authenticate with Artifact Registrygcloudauthconfigure-docker<location>-docker.pkg.dev# tag the image to upload itdockertag<local-img-name>:<local-tag><location>-docker.pkg.dev/<proj-name>/<repo-name>/<img-name>:<tag># Upload itdockerpush<location>-docker.pkg.dev/<proj-name>/<repo-name>/<img-name>:<tag>
Se verificó que es posible cargar una nueva imagen de docker maliciosa con el mismo nombre y etiqueta que la ya presente, por lo que la antigua perderá la etiqueta y la próxima vez que se descargue la imagen con esa etiqueta se descargará la maliciosa.
Cargar una biblioteca de Python
Comience creando la biblioteca para cargar (si puede descargar la última versión del registro, puede evitar este paso):
Configure la estructura de su proyecto:
Cree un nuevo directorio para su biblioteca, por ejemplo, hello_world_library.
Dentro de este directorio, cree otro directorio con el nombre de su paquete, por ejemplo, hello_world.
Dentro de su directorio de paquetes, cree un archivo __init__.py. Este archivo puede estar vacío o puede contener inicializaciones para su paquete.
No es posible cargar una biblioteca de Python con la misma versión que la que ya está presente, pero es posible cargar versiones superiores (o agregar un .0 adicional al final de la versión si eso funciona, no en Python sin embargo), o eliminar la última versión y cargar una nueva con (necesario artifactregistry.versions.delete):
Con este permiso puedes descargar artefactos y buscar información sensible y vulnerabilidades.
Descargar una imagen de Docker:
# Configure docker to use gcloud to authenticate with Artifact Registrygcloudauthconfigure-docker<location>-docker.pkg.dev# Dowload imagedockerpull<location>-docker.pkg.dev/<proj-name>/<repo-name>/<img-name>:<tag>