$ gcphelpit checks

gcphelpit check catalog

Every built-in check gcphelpit runs: its ID, severity, the issue it flags, a plain-English fix, and an authoritative Google Cloud reference. 16 checks across 4 categories.

What is gcphelpit?

gcphelpit is a free, open-source Python CLI that scans a JSON snapshot of a Google Cloud project for security, IAM, cost, and reliability issues in one pass, and each finding comes with a plain-English fix. It is mock-first: it reads an exported snapshot, so it runs with no live cloud access or credentials. See the tool page to install and run it, or how it compares to other GCP scanners.

Run gcphelpit checks to list these from the CLI. Every check maps to a stable ID (e.g. SEC001) that appears in scan output, so a finding is easy to look up here. Many checks align with the CIS Google Cloud Platform Foundation Benchmark.

🔒 Security checks

IDSeverityWhat it flagsHow to fixReference
SEC001HIGH Cloud Storage bucket is publicly accessible Remove allUsers/allAuthenticatedUsers from the bucket IAM policy and turn on public access prevention. Bucket access control
SEC002MEDIUM Bucket has uniform bucket-level access disabled Enable uniform bucket-level access so legacy ACLs can't grant unintended access. Uniform bucket-level access
SEC003HIGH Firewall rule opens a sensitive port to the internet Restrict the source range from 0.0.0.0/0 to known IPs; keep ports like 22/3389 off the public internet. VPC firewall rules
SEC004HIGH Cloud SQL instance has a public IP Disable the public IP and connect over Private IP or the Cloud SQL Auth Proxy. Configure private IP
SEC005MEDIUM Cloud SQL does not require SSL/TLS Require SSL/TLS for all connections to the instance. Configure SSL/TLS

👤 IAM checks

IDSeverityWhat it flagsHow to fixReference
IAM001HIGH Primitive role (owner/editor) granted to a user Replace owner/editor with a least-privilege predefined or custom role. Least privilege
IAM002HIGH Service account granted owner/editor at the project level Grant the service account only the specific roles it needs, not owner/editor. Service-account best practices
IAM003MEDIUM External (non-organization) member has access Remove external members, or restrict allowed domains with a domain-restriction org policy. Restrict domains
IAM004MEDIUM Service account has user-managed keys Delete user-managed keys; use workload identity or short-lived credentials instead. Manage SA keys

💸 Cost checks

IDSeverityWhat it flagsHow to fixReference
COST001LOW Unattached persistent disk Delete or snapshot the unattached disk so you stop paying for idle storage. Persistent disks
COST002LOW Reserved static IP address is unused Release the reserved static IP that isn't attached to any resource. Static external IPs
COST003LOW Instance stopped but disks still allocated Delete the stopped VM's disks (or the VM) if they're no longer needed. Stopped VMs still bill for disks. Instance life cycle
COST004MEDIUM No budget alert configured for the project Create a budget with alert thresholds so spend surprises are caught early. Create budgets

🛟 Reliability checks

IDSeverityWhat it flagsHow to fixReference
REL001HIGH Cloud SQL instance has no automated backups Enable automated backups (and point-in-time recovery) on the instance. Backups
REL002LOW Instance has deletion protection disabled Enable deletion protection on production instances to prevent accidental deletion. Deletion protection
REL003MEDIUM Cloud SQL instance is not highly available (single zone) Enable high availability (regional) so the database survives a zone outage. High availability
Every finding comes with the fix. gcphelpit reports the exact resource plus the recommendation above. Install gcphelpit and run gcphelpit scan, or see how it compares to Prowler, ScoutSuite & gcp-auditor.