З цим дозволом атакувальник може завантажувати нові версії артефактів з шкідливим кодом, наприклад, образи 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>
Було перевірено, що можливо завантажити новий шкідливий docker образ з тією самою назвою та тегом, щоб старий втратив тег, і наступного разу, коли цей образ з тим тегом буде завантажений, буде завантажено шкідливий.
Завантаження бібліотеки Python
Почніть з створення бібліотеки для завантаження (якщо ви можете завантажити останню версію з реєстру, ви можете уникнути цього кроку):
Налаштуйте структуру вашого проекту:
Створіть новий каталог для вашої бібліотеки, наприклад, hello_world_library.
У цьому каталозі створіть ще один каталог з назвою вашого пакету, наприклад, hello_world.
У каталозі вашого пакету створіть файл __init__.py. Цей файл може бути порожнім або містити ініціалізації для вашого пакету.
Неможливо завантажити бібліотеку Python з тією ж версією, що вже присутня, але можна завантажити більші версії (або додати додатковий .0 в кінці версії, якщо це працює - не в Python, однак), або видалити останню версію та завантажити нову з (потрібно artifactregistry.versions.delete):
З цим дозволом ви можете завантажувати артефакти та шукати чутливу інформацію та вразливості.
Завантажте 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>