GCP - Artifact Registry Persistence
Rejestr artefaktów
Aby uzyskać więcej informacji na temat Rejestru Artefaktów, sprawdź:
GCP - Artifact Registry EnumKonfuzja zależności
Co się stanie, jeśli zdalne i standardowe repozytoria są wymieszane wirtualnie i pakiet istnieje w obu?
Używane jest to, które ma najwyższy priorytet ustawiony w repozytorium wirtualnym
Jeśli priorytet jest taki sam:
Jeśli wersja jest taka sama, używana jest nazwa polityki alfabetycznie pierwsza w repozytorium wirtualnym
Jeśli nie, używana jest najwyższa wersja
Dlatego możliwe jest wykorzystanie najwyższej wersji (konfuzja zależności) w publicznym rejestrze pakietów, jeśli zdalne repozytorium ma wyższy lub taki sam priorytet
Ta technika może być przydatna do trwałości i dostępu bez uwierzytelnienia, ponieważ aby ją wykorzystać, wystarczy znać nazwę biblioteki przechowywanej w Rejestrze Artefaktów i utworzyć tę samą bibliotekę w publicznym repozytorium (np. PyPi dla pythona na przykład) z wyższą wersją.
Aby uzyskać trwałość, należy postępować zgodnie z poniższymi krokami:
Wymagania: Musi istnieć repozytorium wirtualne i być używane, musi być używany wewnętrzny pakiet o nazwie, która nie istnieje w repozytorium publicznym.
Utwórz repozytorium zdalne, jeśli nie istnieje
Dodaj repozytorium zdalne do repozytorium wirtualnego
Edytuj polityki rejestru wirtualnego, aby nadać wyższy priorytet (lub taki sam) repozytorium zdalnemu. Uruchom coś w stylu:
Pobierz legalny pakiet, dodaj złośliwy kod i zarejestruj go w repozytorium publicznym z tą samą wersją. Za każdym razem, gdy deweloper go zainstaluje, zainstaluje twój!
Aby uzyskać więcej informacji na temat konfuzji zależności, sprawdź:
Last updated