Query the database straight past your app
Supabase · the anon key is public
Supabase auto-publishes every table at /rest/v1/, and the anon key ships inside your browser bundle. Your application code is never in this request path. One loose row-level-security policy and the whole table pours out.
Try it on your own app
# the anon key sits in your site's JavaScript, anyone can read it
curl "https://<ref>.supabase.co/rest/v1/profiles?select=*" \
-H "apikey: <anon-key>"Signature WAF & your appBreached
Returns every row. It is a valid REST call with a valid key, so a signature WAF sees nothing wrong, and there is no application code in the path to add an access check.
Autogon positive securityBlocked
Your app only ever reads this table one row at a time for the signed-in user. A select of the whole table with no row filter is a shape it has never produced, so it is blocked before the rows leave.