
Supabase Audit Rls
Tests your Supabase Row Level Security policies for common bypass vulnerabilities and misconfigurations. It checks whether RLS is enabled on tables, attempts unauthenticated access with the anon key, tries cross-user data access, and probes for filter bypasses and join exploitation. You get a clear report showing which tables have no RLS protection at all (P0), which have overly permissive policies, and which are properly locked down. The output includes immediate SQL fixes for each finding. One thing to note: this skill is explicit about writing findings progressively to context files as it goes, not batching everything at the end, which makes sense if you're auditing a large project and don't want to lose results mid-run.
- skills.sh installs
- 1.2K
- GitHub stars
- 75
- last updated
- Aug 21, 2026
Install
$ npx -y skills add yoanbernabeu/supabase-pentest-skills --skill supabase-audit-rls --agent claude-codeInstalls into .claude/skills of the current project.
Files
RLS Policy Audit
🔴 CRITICAL: PROGRESSIVE FILE UPDATES REQUIRED
You MUST write to context files AS YOU GO, not just at the end.
- Write to
.sb-pentest-context.jsonIMMEDIATELY after each finding- Log to
.sb-pentest-audit.logBEFORE and AFTER each test- DO NOT wait until the skill completes to update files
- If the skill crashes or is interrupted, all prior findings must already be saved
This is not optional. Failure to write progressively is a critical error.
This skill tests Row Level Security (RLS) policies for common vulnerabilities and misconfigurations.
When to Use This Skill
- After discovering data exposure in tables
- To verify RLS policies are correctly implemented
- To test for common RLS bypass techniques
- As part of a comprehensive security audit
Prerequisites
- Tables listed
- Anon key available
- Preferably also test with an authenticated user token
Understanding RLS
Row Level Security in Supabase/PostgreSQL:
-- Enable RLS on a table
ALTER TABLE posts ENABLE ROW LEVEL SECURITY;
-- Create a policy
CREATE POLICY "Users see own posts"
ON posts FOR SELECT
USING (auth.uid() = author_id);
Sponsors
Details
- Repository
- github.com/yoanbernabeu/supabase-pentest-skills
- Categories
- Backend & APIs, Testing & QA, Security, Databases
- First seen
- Jun 3, 2026
More from yoanbernabeu/supabase-pentest-skills
All 23- Supabase Audit Functions1.1K
- Supabase Pentest725
- Supabase Audit Auth Config576
- Supabase Audit Rpc551
- Supabase Audit Realtime544
- Supabase Help525
- Supabase Report516
- Supabase Audit Tables Read511
- Supabase Audit Buckets Public509
- Supabase Audit Auth Users506
- Supabase Audit Tables List504
- Supabase Extract Anon Key501
- Supabase Detect500
- Supabase Extract Service Key500
- Supabase Extract Db String499
- Supabase Audit Buckets List498
- Supabase Audit Buckets Read497
- Supabase Audit Auth Signup495
- Supabase Report Compare491
- Supabase Extract Jwt487
- Supabase Extract Url487
- Supabase Audit Authenticated446