Skip to content

One Click, Six Services: Abusing The Dangerous Multi-service Orchestration Pattern

Liv Matan

Cloudfwd:cloudsec North America20 minAdvancedOpen on YouTube ↗

Liv Matan investigates One Click, Six Services: Abusing The Dangerous Multi-service Orchestration Pattern.

Summary

Hidden Cloud Dependencies

Tenable researcher Liv Matan explains how creating one GCP Cloud Function silently provisions storage buckets, Artifact Registry, Cloud Build, Cloud Run, and Eventarc triggers. This Jenga-like orchestration expands the attack surface beyond what operators see in the console.

Service Agents and Privilege Paths

Behind-the-scenes work runs under Google-managed service agents analogous to AWS service-linked roles or Azure managed identities. Second-generation Cloud Functions add complexity by combining Cloud Run and Eventarc, creating cross-service privilege-escalation opportunities such as Cloud Run access to container images.

Confused Function Vulnerability

Matan details a bounty-awarded flaw where permission to update a Cloud Function lets an attacker inject a malicious npm dependency into package.json. During deployment, Cloud Build installs it under the default Cloud Build service account, whose broad permissions can be stolen via IMDS credential exfiltration.

Defender Takeaways

GCP's mitigation lets customers choose custom service accounts for build and runtime, deprecates the legacy default Cloud Build account, and adds organization policies. Matan warns defaults remain dangerous and minimum permissions for deployment still leave residual risk across all major cloud providers.

Related talks