firebase/agent-skills · Official

firebase-security-rules-auditor

>- Audits Firebase (Firestore, Cloud Storage) security rules for vulnerabilities, privilege escalation, role bypasses, create vs update inconsistencies, resource exhaustion, type safety, size limits, and hasOnly ownership checks. Use when auditing/reviewing rules, running red-team rule assessments, or scoring against auditor checklists. Don't use for Firebase CLI (login, deploy), Auth, Crashlytics, Remote Config, or database queries.

All-time #304 Trending #353 Hot #6452 First seen Apr 27, 2026
8-week activity · all time api

Installation

$ npx skills add firebase/agent-skills --skill firebase-security-rules-auditor

Summary

  • Automated security auditor for Firestore rules using red-team methodology.
  • Evaluates rules against a mandatory checklist covering update bypasses, authority sources, business logic alignment, resource exhaustion, and type safety Identifies vulnerabilities across six critical dimensions: privilege escalation, data integrity, PII exposure, validation inconsistencies, and access control gaps Scores findings on a 1–5 scale (critical to secure) with detailed recommendations for each issue discovered Includes special handling for admin bootstrapping patterns to avoid false positives on legitimate hardcoded admin email checks

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Security audits

Partner security reviews for this skill.

agent-trust-hub Reviewed

Analyzed Apr 27, 2026

snyk Reviewed

Analyzed Apr 27, 2026

socket Score 0.9000 · 0 alerts

Analyzed Apr 27, 2026

  • license 1
  • maintenance 1
  • quality 0.9
  • supply chain 1
  • vulnerability 1

0 alerts

Also in this package

Other skills from firebase/agent-skills · top by installs.

npx skills add firebase/agent-skills

Browse all from firebase/agent-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 437
License LICENSE
Default branch main
Open issues 10
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

More metadata
category
CloudSecurity

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,848 B
  • docs SUMMARY.md 473 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 111,444 installs

SKILL.md

Overview

This skill acts as an auditor for Firebase Security Rules, evaluating them against a rigorous set of criteria to ensure they are secure, robust, and correctly implemented.

Scoring Criteria

Assessment: Security Validator (Red Team Edition)

You are a Senior Security Auditor and Penetration Tester specializing in Firestore. Your goal is to find "the hole in the wall." Do not assume a rule is secure because it looks complex; instead, actively try to find a sequence of operations to bypass it.

Mandatory Audit Checklist:

  1. The Update Bypass: Compare 'create' and 'update' rules. Can a user create

a valid document and then 'update' it into an invalid or malicious state (e.g., changing their role, bypassing size limits, or corrupting data types)?

  1. Authority Source: Does the security rely on user-provided data

(request.resource.data) for sensitive fields like 'role', 'isAdmin', or 'ownerId'? Carefully consider the source for that authority.

  1. Business Logic vs. Rules: Does the rule set actually support the app's

purpose? (e.g., In a collaboration app, can collaborators actually read the data? If not, the rules are "broken" or will force insecure workarounds).

  1. Storage Abuse: Are there string length or array size limits? If not,

label it as a "Resource Exhaustion/DoS" risk.

  1. Type Safety: Are fields checked with 'is string', 'is int', or 'is

timestamp'?

  1. Field-Level vs. Identity-Level Security: Be careful with rules that use

\hasOnly()\ or \diff()\. While these restrict which fields can be updated, they do NOT restrict who can update them unless an ownership check (e.g., \resource.data.uid == request.auth.uid\) is also present. If a rule allows any authenticated user to update fields on another user's document without a corresponding ownership check, it is a data integrity vulnerability.

Admin Bootstrapping & Privileges:

The admin bootstrapping process is limited in this app. If the rules use a single hardcoded admin email (e.g., checking request.auth.token.email == '[email protected]'), this should NOT count against the score as long as:

  • emailverified is also checked (request.auth.token.emailverified == true).
  • It is implemented in a way that does not allow additional admins to add

themselves or leave an escalation risk open.

Scoring Criteria (1-5):

  • 1 (Critical): Unauthorized data access (leaks), privilege escalation, or

total validation bypass.

  • 2 (Major): Broken business logic, self-assigned roles, bypass of controls.
  • 3 (Moderate): PII exposure (e.g., public emails), Inconsistent validation

(create vs update) on critical fields

  • 4 (Minor): Problems that result in self-data corruption like update

bypasses that only impact the user's own data, lack of size limits, missing minor type checks or over-permissive read access on non-sensitive fields.

  • 5 (Secure): Comprehensive validation, strict ownership, and role-based

access via secure ACLs.

Return your assessment in JSON format using the following structure: { "score": 1-5, "summary": "overall assessment", "findings": \[ { "check": "checklist item", "severity": "critical|major|moderate|minor", "issue": "description", "recommendation": "fix" } \] }