GCP - Vertex AI Enum
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Vertex AI
Vertex AI é a plataforma unificada de machine learning do Google Cloud para construir, implantar e gerenciar modelos de IA em escala. Combina vários serviços de AI e ML em uma única plataforma integrada, permitindo que cientistas de dados e engenheiros de ML:
- Treinar modelos customizados usando AutoML ou treinamento customizado
- Implantar modelos em endpoints escaláveis para previsões
- Gerenciar o ciclo de vida de ML da experimentação até a produção
- Acessar modelos pré-treinados do Model Garden
- Monitorar e otimizar o desempenho dos modelos
Componentes principais
Modelos
Os modelos do Vertex AI representam modelos de machine learning treinados que podem ser implantados em endpoints para servir previsões. Os modelos podem ser:
- Enviados a partir de containers customizados ou artefatos de modelo
- Criados via AutoML
- Importados do Model Garden (modelos pré-treinados)
- Versionados, com múltiplas versões por modelo
Cada modelo possui metadados incluindo seu framework, URI da imagem do container, localização dos artefatos e configuração de serving.
Endpoints
Endpoints são recursos que hospedam modelos implantados e servem previsões online. Principais características:
- Podem hospedar múltiplos modelos implantados (com divisão de tráfego)
- Fornecem endpoints HTTPS para previsões em tempo real
- Suportam autoscaling com base no tráfego
- Podem usar acesso privado ou público
- Suportam A/B testing através de divisão de tráfego
Custom Jobs
Custom jobs permitem executar código de treinamento customizado usando seus próprios containers ou pacotes Python. Recursos incluem:
- Suporte para treinamento distribuído com múltiplos worker pools
- Tipos de máquina e aceleradores (GPUs/TPUs) configuráveis
- Anexação de service account para acessar outros recursos do GCP
- Integração com Vertex AI Tensorboard para visualização
- Opções de conectividade VPC
Hyperparameter Tuning Jobs
Esses jobs fazem busca automática por hiperparâmetros ótimos executando múltiplos experimentos de treinamento com diferentes combinações de parâmetros.
Model Garden
O Model Garden fornece acesso a:
- Modelos pré-treinados do Google
- Modelos open-source (incluindo Hugging Face)
- Modelos de terceiros
- Capacidades de deploy com um clique
Tensorboards
Tensorboards fornecem visualização e monitoramento para experimentos de ML, acompanhando métricas, gráficos do modelo e progresso do treinamento.
Service Accounts & Permissions
Por padrão, os serviços do Vertex AI usam a Compute Engine default service account (PROJECT_NUMBER-compute@developer.gserviceaccount.com), que possui permissões de Editor no projeto. No entanto, você pode especificar service accounts customizadas ao:
- Criar custom jobs
- Fazer upload de modelos
- Implantar modelos em endpoints
Essa service account é usada para:
- Acessar dados de treinamento no Cloud Storage
- Escrever logs no Cloud Logging
- Acessar secrets no Secret Manager
- Interagir com outros serviços do GCP
Data Storage
- Artefatos de modelo são armazenados em buckets do Cloud Storage
- Dados de treinamento tipicamente residem no Cloud Storage ou BigQuery
- Imagens de container são armazenadas em Artifact Registry ou Container Registry
- Logs são enviados para Cloud Logging
- Métricas são enviadas para Cloud Monitoring
Encryption
Por padrão, o Vertex AI usa chaves de criptografia gerenciadas pelo Google. Você também pode configurar:
- Customer-managed encryption keys (CMEK) via Cloud KMS
- A criptografia aplica-se a artefatos de modelo, dados de treinamento e endpoints
Networking
Os recursos do Vertex AI podem ser configurados para:
- Acesso pela internet público (padrão)
- VPC peering para acesso privado
- Private Service Connect para conectividade segura
- Suporte a Shared VPC
Enumeração
# 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
Coleta de Informações do Modelo
# 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)"
Detalhes do Endpoint
# 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)"
Informações do Custom Job
# 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)"
Controle de Acesso
# 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"
Armazenamento e Artefatos
# 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
Na página a seguir, você pode verificar como abuse Vertex AI permissions to escalate privileges:
Referências
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
HackTricks Cloud

