GCP Scanners
Cloudsploit's GCP detectors review your Google Cloud projects for security best practice violations across Compute Engine, Cloud Storage, GKE, BigQuery, Cloud SQL, IAM, and more.
Scanning GCP Project
Run a complete GCP security scan:
1cloudsploit scan gcp
List all GCP-specific detectors:
1cloudsploit detectors --provider gcp --list
Identity & Access
IAM Password Policy
GCP_IAM_PASSWORD_POLICYOrganization password policy strength
IAM 2-Step Verification
GCP_IAM_2SV2-Step verification enforced for users
IAM Admin Role Overuse
GCP_IAM_ADMIN_ROLE_OVERUSEToo many users have Owner/Editor roles
IAM Service Account Keys
GCP_IAM_SERVICE_ACCOUNT_KEYSService account keys older than 90 days
IAM External User Access
GCP_IAM_EXTERNAL_USER_ACCESSExternal (non-company) users with access
IAP Accessible Resources
GCP_IAP_ACCESSIBLEResources accessible without Identity-Aware Proxy
Storage
Cloud Storage Public Access
GCS_PUBLIC_ACCESSBucket allows allUsers or allAuthenticatedUsers
Cloud Storage Uniform Bucket Access
GCS_UNIFORM_BUCKET_ACCESSUniform bucket-level access not enabled
Cloud Storage Encryption
GCS_ENCRYPTIONCustomer-managed encryption keys not used
Cloud Storage Versioning
GCS_VERSIONINGObject versioning not enabled
Cloud Storage Logging
GCS_LOGGINGAccess logging not configured
Cloud Storage Retention Policy
GCS_RETENTION_POLICYNo retention policy (data deletion risk)
Compute
Compute Engine Public IP
GCE_PUBLIC_IPVM instance has external IP address
Compute Engine Disk Encryption
GCE_DISK_ENCRYPTIONPersistent disks not encrypted with CMEK
Compute Engine OS Patch Management
GCE_OS_PATCH_MANAGEMENTOS patch management not configured
Compute Engine Shielded VM
GCE_SHIELDED_VMShielded VM features not enabled
GKE Cluster Legacy ABAC
GKE_LEGACY_ABACLegacy ABAC enabled instead of RBAC
GKE Cluster Private Nodes
GKE_PRIVATE_NODESNodes have public IP addresses
GKE Cluster Master Authorized Networks
GKE_MASTER_AUTHORIZED_NETWORKSControl plane accessible from anywhere
Database
Cloud SQL Public IP
CLOUD_SQL_PUBLIC_IPCloud SQL instance has public IP
Cloud SQL Encryption
CLOUD_SQL_ENCRYPTIONCustomer-managed keys not configured
Cloud SQL Automated Backups
CLOUD_SQL_BACKUPSAutomated backups disabled or retention too short
Cloud SQL Binary Logging
CLOUD_SQL_BINARY_LOGGINGBinary logging disabled (point-in-time recovery)
BigQuery Dataset Public Access
BIGQUERY_PUBLIC_ACCESSDataset grants allUsers or allAuthenticatedUsers
Firestore Database
FIRESTORE_DATABASEFirestore security rules too permissive
Networking & Security
VPC Flow Logs
VPC_FLOW_LOGSVPC flow logs not enabled for subnet
Cloud CDN HTTPS Only
CLOUD_CDN_HTTPSHTTPS not enforced for Cloud CDN
Cloud Armor Security Policy
CLOUD_ARMOR_POLICYCloud Armor security policy missing
SSL Certificate Expiration
SSL_CERT_EXPIRATIONManaged SSL certificate expiring soon
DNS Security Policy
DNS_SECURITY_POLICYCloud DNS security policy not configured
Serverless & APIs
Cloud Function Public Access
CLOUD_FUNCTION_PUBLIC_ACCESSCloud Function allows unauthenticated invocations
Cloud Function Environment Variables Encrypted
CLOUD_FUNCTION_ENV_ENCRYPTEDSensitive env vars not encrypted with KMS
Cloud Run Public Access
CLOUD_RUN_PUBLIC_ACCESSCloud Run service allows unauthenticated access
API Gateway API Key Required
API_GATEWAY_API_KEYAPI Gateway does not require API key
Pub/Sub Topic IAM Policy
PUBSUB_TOPIC_IAM_POLICYPub/Sub topic has overly permissive IAM
Monitoring & Logging
Cloud Monitoring Dashboard
CLOUD_MONITORING_DASHBOARDNo monitoring dashboard for project
Cloud Logging Sink Exists
CLOUD_LOGGING_SINKNo log sinks configured for log export
Cloud Audit Logs Admin Activity
CLOUD_AUDIT_LOGS_ADMINAdmin activity audit logs not configured
Cloud Audit Logs Data Access
CLOUD_AUDIT_LOGS_DATAData access audit logs not configured
Error Reporting Enabled
ERROR_REPORTING_ENABLEDCloud Error Reporting not enabled
Project vs Organization Scans
GCP scans can target individual projects or entire organizations:
1# Scan specific project2cloudsploit scan gcp --project-id my-project-12334# Scan all projects in organization (requires org-level permissions)5cloudsploit scan gcp --organization-id 123456789012
Info
roles/orgviewer or custom role with resourcemanager.projects.list permission.