GCP - Vertex AI Enum
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Vertex AI
Vertex AI ist die einheitliche Machine-Learning-Plattform von Google Cloud zum Erstellen, Bereitstellen und Verwalten von AI-Modellen in großem Maßstab. Sie kombiniert verschiedene AI- und ML-Dienste zu einer einzigen, integrierten Plattform und ermöglicht Data Scientists und ML-Ingenieuren:
- Eigene Modelle mit AutoML oder benutzerdefiniertem Training zu trainieren
- Modelle an skalierbare Endpunkte für Predictions zu deployen
- Den ML-Lifecycle von Experimenten bis zur Produktion zu verwalten
- Auf vortrainierte Modelle aus dem Model Garden zuzugreifen
- Modellleistung zu überwachen und zu optimieren
Wichtige Komponenten
Modelle
Vertex AI Modelle repräsentieren trainierte Machine-Learning-Modelle, die auf Endpunkten für Predictions bereitgestellt werden können. Modelle können:
- Aus benutzerdefinierten Containern oder Modell-Artefakten hochgeladen werden
- Durch AutoML-Training erstellt werden
- Aus dem Model Garden (vortrainierte Modelle) importiert werden
- Mit mehreren Versionen pro Modell versioniert werden
Jedes Modell besitzt Metadaten, einschließlich Framework, Container-Image-URI, Speicherort der Artefakte und Serving-Konfiguration.
Endpunkte
Endpoints sind Ressourcen, die bereitgestellte Modelle hosten und Online-Predictions ausliefern. Wichtige Merkmale:
- Können mehrere bereitgestellte Modelle hosten (mit Traffic-Splitting)
- Bieten HTTPS-Endpunkte für Echtzeit-Predictions
- Unterstützen Autoscaling basierend auf Traffic
- Können privaten oder öffentlichen Zugriff nutzen
- Unterstützen A/B-Tests durch Traffic-Splitting
Custom Jobs
Custom Jobs erlauben es, eigenen Trainingscode mit eigenen Containern oder Python-Paketen auszuführen. Funktionen umfassen:
- Unterstützung für verteiltes Training mit mehreren Worker-Pools
- Konfigurierbare Maschinentypen und Beschleuniger (GPUs/TPUs)
- Anbindung eines service accounts zum Zugriff auf andere GCP-Ressourcen
- Integration mit Vertex AI Tensorboard zur Visualisierung
- Optionen für VPC-Konnektivität
Hyperparameter Tuning Jobs
Diese Jobs durchsuchen automatisch optimale Hyperparameter, indem mehrere Trainingstrials mit unterschiedlichen Parameterkombinationen ausgeführt werden.
Model Garden
Model Garden bietet Zugriff auf:
- Vortrainierte Google-Modelle
- Open-Source-Modelle (inkl. Hugging Face)
- Drittanbieter-Modelle
- One-Click-Deployment-Funktionen
Tensorboards
Tensorboards bieten Visualisierung und Überwachung für ML-Experimente, verfolgen Metriken, Modellgraphen und Trainingsfortschritt.
Service Accounts & Permissions
Standardmäßig verwendet Vertex AI den Compute Engine default service account (PROJECT_NUMBER-compute@developer.gserviceaccount.com), der Editor-Berechtigungen im Projekt hat. Sie können jedoch benutzerdefinierte service accounts angeben beim:
- Erstellen von custom jobs
- Hochladen von Modellen
- Bereitstellen von Modellen an Endpunkte
Dieser service account wird verwendet, um:
- Auf Trainingsdaten in Cloud Storage zuzugreifen
- Logs an Cloud Logging zu schreiben
- Auf Secrets aus Secret Manager zuzugreifen
- Mit anderen GCP-Diensten zu interagieren
Datenspeicherung
- Modell-Artefakte werden in Cloud Storage Buckets gespeichert
- Trainingsdaten liegen typischerweise in Cloud Storage oder BigQuery
- Container-Images werden in Artifact Registry oder Container Registry gespeichert
- Logs werden an Cloud Logging gesendet
- Metriken werden an Cloud Monitoring gesendet
Verschlüsselung
Standardmäßig verwendet Vertex AI Google-managed Encryption Keys. Sie können auch konfigurieren:
- Customer-managed encryption keys (CMEK) aus Cloud KMS
- Verschlüsselung gilt für Modell-Artefakte, Trainingsdaten und Endpunkte
Networking
Vertex AI-Ressourcen können konfiguriert werden für:
- Öffentlichen Internetzugang (Standard)
- VPC Peering für privaten Zugriff
- Private Service Connect für sichere Konnektivität
- Shared VPC-Unterstützung
Aufzählung
# List models
gcloud ai models list --region=<region>
gcloud ai models describe <model-id> --region=<region>
gcloud ai models list-version <model-id> --region=<region>
# List endpoints
gcloud ai endpoints list --region=<region>
gcloud ai endpoints describe <endpoint-id> --region=<region>
gcloud ai endpoints list --list-model-garden-endpoints-only --region=<region>
# List custom jobs
gcloud ai custom-jobs list --region=<region>
gcloud ai custom-jobs describe <job-id> --region=<region>
# Stream logs from a running job
gcloud ai custom-jobs stream-logs <job-id> --region=<region>
# List hyperparameter tuning jobs
gcloud ai hp-tuning-jobs list --region=<region>
gcloud ai hp-tuning-jobs describe <job-id> --region=<region>
# List model monitoring jobs
gcloud ai model-monitoring-jobs list --region=<region>
gcloud ai model-monitoring-jobs describe <job-id> --region=<region>
# List Tensorboards
gcloud ai tensorboards list --region=<region>
gcloud ai tensorboards describe <tensorboard-id> --region=<region>
# List indexes (for vector search)
gcloud ai indexes list --region=<region>
gcloud ai indexes describe <index-id> --region=<region>
# List index endpoints
gcloud ai index-endpoints list --region=<region>
gcloud ai index-endpoints describe <index-endpoint-id> --region=<region>
# Get operations (long-running operations status)
gcloud ai operations describe <operation-id> --region=<region>
# Test endpoint predictions (if you have access)
gcloud ai endpoints predict <endpoint-id> \
--region=<region> \
--json-request=request.json
# Make direct predictions (newer API)
gcloud ai endpoints direct-predict <endpoint-id> \
--region=<region> \
--json-request=request.json
Modell-Informationssammlung
# Get detailed model information including versions
gcloud ai models describe <model-id> --region=<region>
# Check specific model version
gcloud ai models describe <model-id>@<version> --region=<region>
# List all versions of a model
gcloud ai models list-version <model-id> --region=<region>
# Get model artifact location (usually a GCS bucket)
gcloud ai models describe <model-id> --region=<region> --format="value(artifactUri)"
# Get container image URI
gcloud ai models describe <model-id> --region=<region> --format="value(containerSpec.imageUri)"
Endpunktdetails
# Get endpoint details including deployed models
gcloud ai endpoints describe <endpoint-id> --region=<region>
# Get endpoint URL
gcloud ai endpoints describe <endpoint-id> --region=<region> --format="value(deployedModels[0].displayName)"
# Get service account used by endpoint
gcloud ai endpoints describe <endpoint-id> --region=<region> --format="value(deployedModels[0].serviceAccount)"
# Check traffic split between models
gcloud ai endpoints describe <endpoint-id> --region=<region> --format="value(trafficSplit)"
Informationen zu Custom Jobs
# Get job details including command, args, and service account
gcloud ai custom-jobs describe <job-id> --region=<region>
# Get service account used by job
gcloud ai custom-jobs describe <job-id> --region=<region> --format="value(jobSpec.workerPoolSpecs[0].serviceAccount)"
# Get container image used
gcloud ai custom-jobs describe <job-id> --region=<region> --format="value(jobSpec.workerPoolSpecs[0].containerSpec.imageUri)"
# Check environment variables (may contain secrets)
gcloud ai custom-jobs describe <job-id> --region=<region> --format="value(jobSpec.workerPoolSpecs[0].containerSpec.env)"
# Get network configuration
gcloud ai custom-jobs describe <job-id> --region=<region> --format="value(jobSpec.network)"
Zugriffskontrolle
# Note: IAM policies for individual Vertex AI resources are managed at the project level
# Check project-level permissions
gcloud projects get-iam-policy <project-id>
# Check service account permissions
gcloud iam service-accounts get-iam-policy <service-account-email>
# Check if endpoints allow unauthenticated access
# This is controlled by IAM bindings on the endpoint
gcloud projects get-iam-policy <project-id> \
--flatten="bindings[].members" \
--filter="bindings.role:aiplatform.user"
Speicher und Artefakte
# Models and training jobs often store artifacts in GCS
# List buckets that might contain model artifacts
gsutil ls
# Common artifact locations:
# gs://<project>-aiplatform-<region>/
# gs://<project>-vertex-ai/
# gs://<custom-bucket>/vertex-ai/
# Download model artifacts if accessible
gsutil -m cp -r gs://<bucket>/path/to/artifacts ./artifacts/
# Check for notebooks in AI Platform Notebooks
gcloud notebooks instances list --location=<location>
gcloud notebooks instances describe <instance-name> --location=<location>
Model Garden
# List Model Garden endpoints
gcloud ai endpoints list --list-model-garden-endpoints-only --region=<region>
# Model Garden models are often deployed with default configurations
# Check for publicly accessible endpoints
Privilege Escalation
Auf der folgenden Seite kannst du nachsehen, wie man abuse Vertex AI permissions to escalate privileges:
Referenzen
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks Cloud

