Με αυτήν την άδεια, ένας επιτιθέμενος μπορεί να ανεβάσει νέες εκδόσεις των τεκμηρίων με κακόβουλο κώδικα όπως εικόνες 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 image με το ίδιο όνομα και ετικέτα με αυτό που ήδη υπάρχει, έτσι το παλιό θα χάσει την ετικέτα και την επόμενη φορά που θα γίνει λήψη της εικόνας με αυτήν την ετικέτα θα γίνει λήψη της κακόβουλης.
Ανεβάστε μια βιβλιοθήκη Python
Ξεκινήστε δημιουργώντας τη βιβλιοθήκη που θέλετε να ανεβάσετε (αν μπορείτε να κατεβάσετε την τελευταία έκδοση από το αποθετήριο, μπορείτε να αποφύγετε αυτό το βήμα):
Δημιουργήστε τη δομή του έργου σας:
Δημιουργήστε ένα νέο φάκελο για τη βιβλιοθήκη σας, π.χ. hello_world_library.
Μέσα σε αυτόν τον φάκελο, δημιουργήστε έναν άλλο φάκελο με το όνομα του πακέτου σας, π.χ. hello_world.
Μέσα στον φάκελο του πακέτου σας, δημιουργήστε ένα αρχείο __init__.py. Αυτό το αρχείο μπορεί να είναι κενό ή μπορεί να περιέχει αρχικοποιήσεις για το πακέτο σας.
Δεν είναι δυνατόν να ανεβάσετε μια βιβλιοθήκη Python με την ίδια έκδοση με αυτή που ήδη υπάρχει, αλλά είναι δυνατόν να ανεβάσετε μεγαλύτερες εκδόσεις (ή να προσθέσετε ένα επιπλέον .0 στο τέλος της έκδοσης αν αυτό λειτουργεί - όχι στην Python όμως -), ή να διαγράψετε την τελευταία έκδοση και να ανεβάσετε μια νέα (χρειάζεται artifactregistry.versions.delete):
Με αυτήν την άδεια μπορείτε να κατεβάσετε τα artifacts και να αναζητήσετε ευαίσθητες πληροφορίες και ευπάθειες.
Κατεβάστε ένα Docker image:
# 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>
Τι συμβαίνει αν ένα απομακρυσμένο και ένα τυπικό αποθετήριο αναμειγνύονται σε ένα εικονικό και υπάρχει ένα πακέτο και στα δύο; Ελέγξτε αυτήν τη σελίδα: