Cyble Finds Live Secrets Exposed on 35 AI-Built Websites

Summary
Cyble scanned over 1.3 million newly registered domains and found private credentials exposed in public code on 35 of 22,306 identified AI-built sites, including OpenAI, Stripe, Slack, and database credentials.
Key points
- Cyble identified 22,306 AI-built sites among more than 1.3 million newly registered domains scanned over a month.
- Researchers found private credentials on 35 sites, excluding browser-safe keys and other strings that were not confirmed private secrets.
- Exposures included OpenAI API keys, a Slack webhook shared across 13 domains, a Stripe secret key reused across four domains, Supabase service-role tokens, AWS keys, and GitHub or Google OAuth credentials.
- The report says exposed credentials could enable account spending, Slack messages, payment-account access, database access, or cloud and source-control access; actual misuse was not reported.
- The researchers found cloned-site fleets could repeat the same secret across multiple domains, and observed the pattern on both Bubble and Next.js sites.
- Cyble recommends keeping secrets server-side, rotating keys exposed in client code, enforcing backend access controls, and monitoring public code and newly registered domains for exposed credentials.
Article Details
- Publisher
- Cyble
- Report Period
- One month; dates not disclosed.
- Scope
- Scan of newly registered domains to identify AI-built websites and private credentials exposed in public front-end code.
- Sample Size
- More than 1.3 million newly registered domains scanned; 22,306 AI-built sites identified.
- Key Statistics
- 35 of 22,306 AI-built sites had confirmed private-credential exposures.
- Five sites exposed 16 distinct live OpenAI API keys.
- A shared Slack webhook was found across a 13-domain fleet.
- A single Stripe secret key was reused across four domains under two brands.
- The reported exposure counts by credential type include 5 OpenAI API key sites, 13 shared Slack webhook sites, 6 Stripe secret key sites, 4 Supabase service-role JWT sites, 5 AWS access key sites, and 2 GitHub token or Google OAuth secret sites; a few sites appear in more than one row.
- Recommendations
- Keep secret keys in server-side functions or backend workflows, not client-accessible fields.
- Use browser-safe key variants and enforce access with Supabase row-level security, Firebase rules, and API key restrictions.
- Rotate keys that have been exposed in client-side code and treat them as compromised.
- Inspect shipped page source for sensitive values before publishing.
- Monitor public code and newly registered domains for organizational keys and webhooks; scope response to the full template fleet when a shared secret is found.
Vendors
Amazon Web ServicesAWS access key 5 Cloud account access, scope set by the paired secretBubbleThe 13-domain Slack fleet runs on Bubble, a no-code and AI app builder, as confirmed by Bubble’s x-bubble-perf response header and client markers.GitHubGitHub token / Google OAuth secret 2 Source-control or identity-provider accessGoogle2,172 sites carried Google API keys, which matter only if they are unrestricted.OpenAICyble scanned 1.3M+ newly registered domains and found AI-built sites leaking live secrets to the browser: OpenAI keys, Stripe keys, and database tokens.SlackA Slack webhook shared across a 13-domain fleet.StripeCyble scanned 1.3M+ newly registered domains and found AI-built sites leaking live secrets to the browser: OpenAI keys, Stripe keys, and database tokens.SupabaseFour AI-built sites exposed a Supabase service role JSON Web Token (JWT) on their front ends.
Products
BubbleThe 13-domain Slack fleet runs on Bubble, a no-code and AI app builder, as confirmed by Bubble’s x-bubble-perf response header and client markers.Firebase Realtime Database1,461 sites exposed a Supabase or Firebase backend address, which is a real exposure only when that backend’s rules are open.Next.jsThe Stripe cluster runs on a Next.js build instead, which shows that the pattern spans builders rather than tracing to a single platform.OpenAI APIFive AI-built sites carried live OpenAI API keys in their client-side code, sixteen distinct keys across them, and four of the five are confirmed AI-generated.Slack incoming webhookSlack incoming webhook: Post into the operator’s own Slack as if from inside.StripeCyble scanned 1.3M+ newly registered domains and found AI-built sites leaking live secrets to the browser: OpenAI keys, Stripe keys, and database tokens.SupabaseFour AI-built sites exposed a Supabase service role JSON Web Token (JWT) on their front ends.
