Skip to content

feat(cloud-security): add Vertex AI as a GCP Cloud Tests service#3038

Merged
tofikwest merged 2 commits into
mainfrom
tofik/gcp-vertex-ai-cloud-tests
Jun 4, 2026
Merged

feat(cloud-security): add Vertex AI as a GCP Cloud Tests service#3038
tofikwest merged 2 commits into
mainfrom
tofik/gcp-vertex-ai-cloud-tests

Conversation

@tofikwest
Copy link
Copy Markdown
Contributor

@tofikwest tofikwest commented Jun 4, 2026

Summary

Adds Vertex AI as a first-class service in GCP Cloud Tests. Today, GCP Cloud Tests only surface findings from Google's Security Command Center (SCC), and any finding we don't explicitly map falls into a generic "Security Command Center" bucket. This PR groups GCP Vertex AI / Workbench findings under a dedicated "Vertex AI" service.

Requested by a customer ("heavy Gemini users") who asked whether Vertex AI is covered.

What changed

  • gcp-security.service.ts
    • SERVICE_NAMES: add vertex-ai → "Vertex AI".
    • GCP_API_TO_SERVICE: detect vertex-ai from aiplatform.googleapis.com / notebooks.googleapis.com — required so its findings pass the enabled-services filter (the scan drops findings whose service isn't in the enabled set).
    • resolveGcpServiceId(category, resourceType, resourceName): group by the resource-type host (e.g. aiplatform.googleapis.com/*) before the SCC category. Google names AI detector categories inconsistently across resources (Dataset/Model/Endpoint/Workbench; CMEK/access/policy), so resource type is the robust, authoritative signal. Falls back to the category map, then the SCC bucket — nothing is ever dropped.
  • integration-platform GCP manifest: add the Vertex AI entry to the Services-tab catalog, with a description that states it requires SCC Premium / Enterprise.
  • ServiceCard.tsx: Vertex AI icon.
  • Tests: resolveGcpServiceId resource-type precedence + fallbacks.

Behavior / caveats (honest)

  • Detection-gated: orgs that don't use Vertex AI never see it (the aiplatform API isn't enabled → not detected).
  • SCC tier matters: Vertex AI is only scanned by SCC on Premium / Enterprise. A Vertex-AI org on the free Standard tier will see the service with no findings — the card description states the tier requirement so it isn't mysterious.
  • Gemini API / AI Studio (generativelanguage) is a separate product not covered by SCC on any tier — out of scope.
  • Not yet verified against a live Vertex AI finding (no test org / expired token). The mapping is built on the stable SCC resource.type field rather than guessed category strings, so it's defensive — but a real finding is the final proof.

Tests

  • gcp-security.service.spec.ts: 6 new cases for resolveGcpServiceId (incl. resource-type precedence over category, and fallbacks). Full GCP spec green; changed files typecheck clean.

🤖 Generated with Claude Code


Summary by cubic

Adds Vertex AI as a first-class GCP Cloud Tests service so Vertex AI and Workbench findings are grouped under “Vertex AI” instead of the generic Security Command Center bucket.

  • New Features
    • Added vertex-ai service; detect aiplatform.googleapis.com and notebooks.googleapis.com.
    • Implemented and exported resolveGcpServiceId to prefer resource-type host over SCC category; falls back to category, then Security Command Center. Also matches on resourceName if resource.type is missing.
    • Added catalog entry noting it requires SCC Premium or Enterprise, and a Vertex AI icon in ServiceCard.tsx.
    • Added tests for resource-type precedence, resourceName fallback, and non-AI fallbacks.
    • Behavior: only visible if Vertex AI APIs are enabled; SCC Standard may show the service with no findings.

Written for commit 84fdac5. Summary will update on new commits.

Review in cubic

Surfaces GCP Vertex AI / Workbench security findings under a dedicated
"Vertex AI" service instead of the generic "Security Command Center" bucket.

- gcp-security.service.ts: add `vertex-ai` to SERVICE_NAMES; detect it from
  `aiplatform.googleapis.com` / `notebooks.googleapis.com` (GCP_API_TO_SERVICE)
  so its findings pass the enabled-services filter; and group findings by
  resource-type host (resolveGcpServiceId) — checking the authoritative
  resource type before the SCC category, since Google names AI detector
  categories inconsistently. Falls back to the category map, then the SCC
  bucket, so no finding is ever dropped.
- integration-platform GCP manifest: add the Vertex AI service entry (the
  Services-tab catalog), with a description noting it requires SCC Premium /
  Enterprise.
- ServiceCard: Vertex AI icon.
- Tests: resolveGcpServiceId resource-type precedence + fallbacks.

Notes:
- Detection-gated: invisible to orgs not using Vertex AI.
- A Vertex-AI org on SCC Standard will see the service with no findings (SCC
  doesn't scan Vertex AI on Standard) — the card description states the tier
  requirement.
- Not yet verified against a live Vertex AI finding (no test org); mapping is
  built defensively on resource type, which is the stable SCC field.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
app Ready Ready Preview, Comment Jun 4, 2026 11:30pm
comp-framework-editor Ready Ready Preview, Comment Jun 4, 2026 11:30pm
portal Ready Ready Preview, Comment Jun 4, 2026 11:30pm

Request Review

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 4 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Re-trigger cubic

@tofikwest tofikwest merged commit 3c09b43 into main Jun 4, 2026
11 checks passed
@tofikwest tofikwest deleted the tofik/gcp-vertex-ai-cloud-tests branch June 4, 2026 23:33
@claudfuen
Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.71.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants