GCP - Vertex AI Enum
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Vertex AI
Vertex AI — це Google Cloud’s уніфікована платформа для машинного навчання для побудови, розгортання та керування AI-моделями в масштабі. Вона об’єднує різні AI та ML сервіси в єдину інтегровану платформу, що дозволяє дата-сайентистам та ML-інженерам:
- Навчати кастомні моделі за допомогою AutoML або власного тренування
- Розгортати моделі на масштабовані endpoints для прогнозів
- Керувати життєвим циклом ML від експериментів до продакшену
- Отримувати доступ до попередньо натренованих моделей з Model Garden
- Моніторити та оптимізувати продуктивність моделей
Ключові компоненти
Моделі
Vertex AI моделі представляють навчені моделі машинного навчання, які можна розгорнути на endpoints для надання прогнозів. Моделі можуть бути:
- Завантажені з кастомних контейнерів або артефактів моделі
- Створені через AutoML тренування
- Імпортовані з Model Garden (попередньо натреновані моделі)
- Версіоновані з декількома версіями на модель
Кожна модель має метадані, включаючи фреймворк, URI контейнерного образу, розташування артефактів та конфігурацію сервінгу.
Кінцеві точки
Кінцеві точки — це ресурси, що хостять розгорнуті моделі та надають онлайн-прогнози. Ключові можливості:
- Можуть хостити кілька розгорнутих моделей (з розподілом трафіку)
- Надають HTTPS endpoints для реальних прогнозів
- Підтримують автоматичне масштабування залежно від трафіку
- Можуть використовувати приватний або публічний доступ
- Підтримують A/B testing через розподіл трафіку
Користувацькі завдання
Custom jobs дозволяють запускати власний код для навчання, використовуючи ваші контейнери або Python-пакети. Функції включають:
- Підтримку розподіленого навчання з кількома worker-пулами
- Налаштовувані типи машин та акселеретори (GPUs/TPUs)
- Service account для доступу до інших GCP ресурсів
- Інтеграцію з Vertex AI Tensorboard для візуалізації
- Опції VPC connectivity
Завдання підбору гіперпараметрів
Ці завдання автоматично шукають оптимальні гіперпараметри, запускаючи кілька тренувальних проб з різними комбінаціями параметрів.
Model Garden
Model Garden надає доступ до:
- Попередньо натренованих Google моделей
- Відкритих моделей (включаючи Hugging Face)
- Моделей третіх сторін
- Можливості розгортання в один клік
Tensorboards
Tensorboards забезпечують візуалізацію та моніторинг експериментів ML, відстеження метрик, графів моделей і прогресу навчання.
Облікові записи сервісів та дозволи
За замовчуванням сервіси Vertex AI використовують Compute Engine default service account (PROJECT_NUMBER-compute@developer.gserviceaccount.com), який має Editor права в проєкті. Однак ви можете вказувати власні облікові записи сервісів при:
- Створенні custom jobs
- Завантаженні моделей
- Розгортанні моделей на endpoints
Цей service account використовується для:
- Доступу до тренувальних даних у Cloud Storage
- Запису логів у Cloud Logging
- Доступу до секретів з Secret Manager
- Взаємодії з іншими GCP сервісами
Зберігання даних
- Артефакти моделей зберігаються в бакетах Cloud Storage
- Тренувальні дані зазвичай розміщені в Cloud Storage або BigQuery
- Контейнерні образи зберігаються в Artifact Registry або Container Registry
- Логи відправляються в Cloud Logging
- Метрики відправляються в Cloud Monitoring
Шифрування
За замовчуванням Vertex AI використовує Google-managed encryption keys. Ви також можете налаштувати:
- Customer-managed encryption keys (CMEK) з Cloud KMS
- Шифрування застосовується до артефактів моделі, тренувальних даних та endpoints
Мережа
Ресурси Vertex AI можна налаштувати для:
- Публічного доступу в інтернет (за замовчуванням)
- VPC peering для приватного доступу
- Private Service Connect для захищеного підключення
- Підтримки Shared VPC
Перерахування
# 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
Збір інформації про модель
# 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)"
Деталі 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)"
Інформація про 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)"
Контроль доступу
# 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"
Зберігання та артефакти
# 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
Підвищення привілеїв
На наступній сторінці ви можете перевірити, як зловживати дозволами Vertex AI для підвищення привілеїв:
Посилання
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
HackTricks Cloud

