Skip to content

Finding

The storage bucket list answers without a sign in

A request with the browser key returned the names of {total} storage buckets: {buckets}. Names alone give a reader the shape of what you store.

Last updated September 20, 2026

This week · Needs a developer

Why AI-built apps get this

File storage is created the moment an app needs an upload, and the bucket is public because that is the setting that makes the first upload appear on the page. Nothing later goes back to close it, and every file added after that inherits the decision.

What it affects

A request with the browser key returned the names of {total} storage buckets: {buckets}. Names alone give a reader the shape of what you store.

What the evidence line looks like

the bucket listing answered the published browser key with 4 buckets, 2 of them public

Every finding on a result carries a line like this one: the request that was made and the answer that came back. You can run the same request yourself and get the same answer, which is the point.

The fix

Restrict the bucket listing to signed in callers, and keep only the buckets you meant to publish public.

Prompt for your coding agent

Restrict the storage bucket listing so it does not answer an anonymous request, and review which buckets are marked public.

A result gives you this prompt written for your builder, in its own dialect, and a batch prompt that carries every fix at once.

Incidents that involved this

  • Not verified

    First-quarter 2026 assessment of 200 apps

    183 of 200 vibe-coded apps, 91.5 percent, contained at least one vulnerability traceable to AI hallucination or missing security context.

  • Observed

    Moltbook records exposure

    An app exposed 4.75 million records, including 1.5 million API tokens and 35,000 email addresses.

  • Not verified

    Tea app, first breach

    An unprotected storage instance exposed tens of thousands of user images, including identity documents.

  • Not verified

    Tea app, second breach

    Three days after the first breach, over a million private messages were exposed through an API endpoint with no access control.

  • Observed

    Lovable-built apps, CVE-2025-48757

    Broken access control reported across 170 production applications built with Lovable.

Related terms

Run the free Launch Risk Check on your app

ShipReady is not a penetration test or a security certification. No automated check can prove an application is secure.

Last updated September 20, 2026