Firebase Security Rules Auditor
Firebase (Google)OfficialCreated by Google LLCDistributed by Firebase (Google)
- Skill
- Review and audit
- Security
- Apache-2.0
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The Firebase Security Rules Auditor acts as a senior security consultant, systematically evaluating Firestore and Cloud Storage rulesets. It employs a red-team methodology to stress-test access controls, data validation, and ownership logic. By checking against a structured checklist—including update bypasses, resource exhaustion risks, and type safety—it provides a quantitative security score and actionable remediation steps for developers.
What it does
- Evaluates Firestore and Cloud Storage rules for privilege escalation and unauthorized access.
- Identifies inconsistencies between create and update operations that could lead to data corruption.
- Detects potential resource exhaustion vulnerabilities such as missing size or length limits.
- Verifies the integrity of ownership checks and field-level security implementations.
- Provides a structured security score from 1 (Critical) to 5 (Secure) for the ruleset.
- Generates a detailed JSON report containing specific findings and recommended fixes.
When to use it
- During the code review process for new Firebase security rules.
- When conducting a red-team assessment of existing database access controls.
- To validate that business logic requirements are correctly enforced by security rules.
- When auditing rules for potential data integrity or privilege escalation vulnerabilities.
Advantages
- Standardizes the security review process for Firebase projects.
- Focuses on common, high-impact vulnerabilities like update bypasses and role escalation.
- Provides clear, actionable recommendations for hardening security configurations.
- Uses a consistent scoring system to track security posture over time.
Usage examples
- “Audit my Firestore security rules for potential privilege escalation and update bypasses.”
- The agent analyzes the rules, identifies if users can modify sensitive fields like 'role' during updates, and returns a JSON report with a severity score and remediation steps.
- “Review my Cloud Storage rules for resource exhaustion risks.”
- The agent checks for missing string length or array size limits and reports any findings that could lead to potential DoS vulnerabilities.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/firebase/firebase-security-rules-auditor/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip firebase-security-rules-auditor.zip -d .agents/skills
Documentation by Google LLC
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:
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)?
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.
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).
Storage Abuse: Are there string length or array size limits? If not, label it as a "Resource Exhaustion/DoS" risk.
Type Safety: Are fields checked with 'is string', 'is int', or 'is timestamp'?
Field-Level vs. Identity-Level Security: Be careful with rules that use
hasOnly()ordiff(). 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:
email_verified is also checked (request.auth.token.email_verified == 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,
"summary": "overall assessment",
"findings": [
{
"check": "checklist item",
"severity": "critical|major|moderate|minor",
"issue": "description",
"recommendation": "fix"
}
]
}Files
- ATTRIBUTION.mdAdded by AutoGineer1005 B
- LICENSELicence file added by AutoGineer11.1 KiB
- SKILL.md3.8 KiB
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Google LLC
- Publisher
- Firebase (Google) (Official)
- Distributed by
- Firebase (Google)
- Source
- firebase/agent-skills · skills/firebase-security-rules-auditor · commit b76be96
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Google LLC or Firebase (Google).
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download firebase-security-rules-auditor.zip