Firebase Firestore Security Audit - Find if-true Leaks Free
Pricing
Pay per usage
Firebase Firestore Security Audit - Find if-true Leaks Free
Static analyzer for firestore.rules + live anonymous probe. Detects 'if true' wide-open rules, expired test-mode, auth-only patterns, open storage. HTML report with paste-ready fix snippets. Free demo mode if you don't have rules handy.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Renzo Madueno
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 minutes ago
Last modified
Categories
Share
Firebase Firestore Security Auditor
If your firestore.rules has if true, expired test-mode, or auth-only-no-ownership patterns, anyone with your project ID can read your users' data right now. This actor finds those leaks in 30 seconds and tells you exactly which rules to fix.
Recent census: I scanned 35 random Firebase projects from public GitHub repos. 23% are leaking user data anonymously to a plain
curlfrom any IP. Your project ID is bundled infirebase-config.jsโ it's effectively public the moment you ship.
What it detects (7 patterns)
- ๐จ
match /{document=**} { allow read, write: if true; }โ the classic catch-all (CRITICAL) - ๐จ Bare
if trueliterals on any match block (CRITICAL) - โ ๏ธ
if request.auth != nullwithout ownership check (HIGH) โ lets ANY logged-in user read EVERY user's data - โ ๏ธ Test-mode timestamp rules with
timestamp.date(2099, 1, 1)or future date (HIGH) โ wide open until 2099 - โ ๏ธ Catch-all read open + write closed (MEDIUM) โ fine for product catalogs, fatal for
/payments - ๐ฆ Storage rules with open read on user uploads (HIGH)
- ๐ก Missing explicit default-deny rule (INFO)
Each finding ships with a paste-ready fix snippet you drop straight into firestore.rules.
How to run
You can run with EITHER one of these inputs:
projectIdโ sends an anonymous GET to your Firestore REST endpoint to confirm what's leaking liverulesContentโ paste the contents of yourfirestore.rulesfile for static analysis
Run with both for the complete picture. Both are optional โ if you provide neither, the actor runs a DEMO against a known-bad rules fixture so you can see what the report looks like.
What you get
Two outputs land in the run's storage:
REPORTin the Key-Value Store: a self-contained HTML page with letter grade (A+ to F), severity charts, per-finding fix snippets with copy buttons, and an "apply all fixes" bundle at the bottom. Open in any browser, forward to your team.- Dataset rows: one structured row per finding for piping into your own pipeline.
Sample finding (from the demo run)
[CRITICAL] Wide-open catch-all ruleTarget: match /{document=**}โ CONFIRMED LEAK โ anonymous Firestore REST returned 47 documents (12,453 bytes)Paths visible: users/abc123, users/def456, ...Fix snippet (paste into firestore.rules):match /{document=**} {allow read, write: if false;}match /users/{uid} {allow read: if request.auth != null && request.auth.uid == uid;allow write: if request.auth != null && request.auth.uid == uid;}
Want a written report + Q&A support?
Free actor โ you find leaks. $29 lite tier (top 3 fixes + written summary) or $99 full audit (every match block + 30-day Q&A + paste-ready bundle, 24h delivery). The CTA links inside the HTML report take you to Stripe.
Free in-browser scanner (no install, no actor): https://perufitlife.github.io/firebase-security-skill/scan.html
Source code
All MIT licensed:
- CLI: https://github.com/Perufitlife/firebase-security-skill
- MCP server (Claude Code, Cursor, Cline): https://github.com/Perufitlife/firebase-security-mcp
Sister auditors (same family)
If you also use other BaaS products:
- Supabase โ https://apify.com/renzomacar/supabase-security-auditor
- PocketBase โ https://apify.com/renzomacar/pocketbase-security-auditor
- Appwrite โ https://apify.com/renzomacar/appwrite-security-auditor
- Hasura/Nhost โ https://apify.com/renzomacar/nhost-security-auditor
All open source: https://github.com/Perufitlife