What happened
Wiz researchers extracted a hardcoded Supabase API key from Moltbook's production Next.js static JavaScript bundle and demonstrated full unauthenticated read/write access to the production database, including agent tokens, email addresses, and private messages.
Why it matters
1.5 million agent API authentication tokens and 35,000 email addresses exposed to any external party. Full write access to agent session and identity records enabled unrestricted agent hijacking. Permiso separately documented active bot-to-bot prompt injection campaigns: agents deleting accounts, running crypto pump schemes, and spreading jailbreak content through the agent social graph.
Missing authorization check
API credentials must never be embedded in client-side JavaScript. Supabase Row Level Security (RLS) was not configured, making the public API key equivalent to a root database credential. Write operations against agent identity and session records should require authenticated, signed authorization.
Would PP block it?
If a hijacked agent attempted a deploy, production data mutation, or any PP-gated action, the enforcement layer would block it: no valid receipt, no action. This limits the consequential blast radius of a compromised agent. PP does not address the Supabase misconfiguration or prevent database-level reads. Full coverage requires: (1) secure credential management (no secrets in client-side JS), and (2) PP receipts for any consequential agent action downstream.