supabase-audit-rls

Audit Supabase Row Level Security policies for bypass vulnerabilities and misconfigurations.

62|3|Updated Jan 31, 2026
One-click install
npx skills add https://github.com/yoanbernabeu/supabase-pentest-skills --skill supabase-audit-rls
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: supabase-audit-rls
Source: https://github.com/yoanbernabeu/supabase-pentest-skills/tree/main/skills/audit-api/supabase-audit-rls
Command: npx skills add https://github.com/yoanbernabeu/supabase-pentest-skills --skill supabase-audit-rls

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill audits Row Level Security (RLS) policies on a Supabase project to identify bypass vulnerabilities and misconfigurations that could expose data.

Core Features & Use Cases

  • RLS policy verification: confirms RLS is enabled and correctly configured across tables.
  • Bypass scenario testing: evaluates unauthenticated access, cross-user access, and common bypass vectors.
  • Progressive reporting: provides structured context updates, audit logs, and actionable remediation guidance.

Quick Start

Install or load the supabase-audit-rls skill and run an audit against your target project. Provide access to the database and API keys, then monitor progressive context updates as findings are recorded.

Frequently Asked Questions about supabase-audit-rls

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit Supabase row level security policies for bypass vulnerabilities?

To audit Supabase row level security policies for bypass vulnerabilities, you need database access, an anon key, and an authenticated token to execute API and SQL tests. This verifies unauthenticated and cross-user access to identify misconfigurations that could expose data.

What is row level security bypass testing in Supabase?

Row level security bypass testing in Supabase is the process of verifying that RLS policies are active and correctly configured across tables. It evaluates unauthenticated access, cross-user access, and common bypass vectors to uncover policy gaps and prevent data exposure.

How to test unauthenticated and cross-user access in Supabase RLS policies?

To test unauthenticated and cross-user access in Supabase RLS policies, perform API or SQL tests against target tables using the anon key and authenticated tokens. This verifies that RLS protections are active and identifies policy gaps that allow unauthorized data access.

Do I need an anon key and authenticated token to verify Supabase RLS protections?

Yes, you need an anon key and an authenticated token to verify Supabase RLS protections. These credentials allow you to perform API and SQL tests that simulate unauthenticated and cross-user access scenarios to confirm RLS policies are correctly configured across tables.

What is the best way to validate RLS policy configurations across multiple Supabase tables?

The best way to validate RLS policy configurations across multiple Supabase tables is to run a structured security assessment that verifies RLS is enabled, tests unauthenticated and cross-user access, and records progressive context updates to provide actionable remediation guidance.

Why does Supabase RLS still allow data access even when policies are enabled?

Supabase RLS may still allow data access when policies are enabled due to misconfigurations or policy gaps that create bypass vulnerabilities. Testing unauthenticated and cross-user access reveals these bypass vectors so you can apply actionable remediation guidance.