Reference detail

Apps with a Google Cloud Storage bucket

Android apps with a recorded Google Cloud Storage reference. Current access is not established by a reference.

Mapped findings are review signals. Interpret each app’s build, scan date and coverage before drawing a conclusion. Historical verification describes only its recorded scan time.

What this finding means

A Google Cloud Storage bucket serves the same role an S3 bucket does, but its permission model is not the same, and assuming otherwise is how buckets end up public.

We have recorded a Cloud Storage reference in 255 apps.

IAM bindings, not bucket policies

GCS access is granted through IAM, and the exposure almost always takes one form: a role bound to the member allUsers or allAuthenticatedUsers. allUsers means anyone on the internet. allAuthenticatedUsers is the more dangerous of the two, because it reads like a restriction while in fact admitting anyone holding any Google account.

Legacy ACLs exist alongside IAM and are the second source of surprises, since an object can carry an ACL its bucket's IAM policy does not describe. Uniform bucket-level access turns ACLs off and makes the IAM policy the single answer, which is why enabling it is the most useful change for most buckets.

Roles are also coarser than people expect. Storage Object Viewer on a bucket grants listing as well as reading, so a binding meant to let the public fetch one known asset hands over the index too.

How to fix it

  • Enable uniform bucket-level access so IAM alone decides access.
  • Search every bucket's IAM policy for allUsers and allAuthenticatedUsers, and remove both unless the bucket is deliberately a public web asset.
  • Prefer signed URLs with a short expiry for user-specific objects over any public role.
  • Turn on the public access prevention constraint at the organisation level so a public binding cannot be added by accident.
  • Check bucket-level and object-level permissions separately if you have not yet moved to uniform access.

How we detect it, and what it cannot tell you

The bucket host and name are matched in the APK and recorded in redacted form. A reference is low severity.

A finding escalates only when an anonymous listing request confirmed the bucket answers one, with a stored record of that check. We request no objects and store no contents, so the finding establishes that the bucket responded to a caller holding no credentials — a configuration its owner chose.

Mapped checks & review guidance (1)

Google Cloud Storage reference

Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open.

Browse this category

Apps with mapped findings

Reset

255 matching apps · Counts below include only this page’s mapped finding types.

Chai: Chat AI Platform

com.Beauchamp.Messenger.externalBuild 0.4.417 · 2026-09-18 12:40 UTC

1 matching category · 8 matching occurrences

F · 28/100Static analysis complete

Bodybuilding Warehouse

co.tapcart.app.id_1n6OtpCT2mBuild 15 · 2026-09-11 05:21 UTC

1 matching category · 1 matching occurrence

A · 95/100Static analysis complete

CAD Editor-DWG Viewer &Convert

net.cadeditor.appBuild 0.3.0 · 2026-09-07 13:47 UTC

1 matching category · 1 matching occurrence

A · 97/100Historical · coverage unknown

Tango: Live Stream, Video Chat

com.sgiggle.productionBuild 9.75.7 · 2026-09-04 11:03 UTC

1 matching category · 3 matching occurrences

F · 15/100Historical · coverage unknown

Parkway Schools

net.parentlink.pkwyBuild 5.6.28000 · 2026-09-02 12:45 UTC

1 matching category · 1 matching occurrence

B · 80/100Historical · coverage unknown