Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

firebase-security-rules-auditor — Claude Code skill

Audits Firebase rules for data leaks, privilege escalation, and validation gaps. Use it when reviewing Firestore or Cloud Storage access.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add firebase/agent-skills --skill firebase-security-rules-auditor -a claude-code
Open on GitHub

What firebase-security-rules-auditor does

This skill audits Firebase Security Rules for Firestore and Cloud Storage. It looks for data leaks, privilege escalation, role bypasses, create-versus-update inconsistencies, resource exhaustion, weak type checks, and flawed ownership checks involving hasOnly() or diff(). The result follows a JSON structure with a score from 1 to 5, an overall summary, and findings with severity and recommendations.

The audit takes a red-team view: the agent tries to find an operation sequence that bypasses a restriction. It checks where authority comes from, whether the rules match the app's business logic, whether strings and arrays have size limits, and whether field restrictions are paired with ownership checks. A field allowlist does not identify the person making the change. That means a rule using hasOnly() or diff() still needs an ownership condition such as resource.data.uid == request.auth.uid when only the document owner should edit it. This skill does not cover Firebase CLI, Auth, Crashlytics, Remote Config, or database queries.

What it helps with

  • find privilege escalation paths in Firebase rules
  • compare create and update validation
  • detect role and ownership bypasses
  • check string, array, and type constraints
  • score Firestore and Cloud Storage rules against an audit checklist

Example prompts for the agent

  • Audit these Firebase Security Rules for create/update bypasses, role escalation, and ownership flaws.
  • Run a red-team review of the Firestore rules and return JSON findings with severity and recommendations.
  • Check the Cloud Storage rules for resource exhaustion, type safety, and unsafe field-level access.

How to install firebase-security-rules-auditor

1Skills CLI (Vercel)

npx skills add firebase/agent-skills --skill firebase-security-rules-auditor -a claude-code

2Manually: put the files in place

~/.claude/skills/firebase-security-rules-auditor/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/firebase-security-rules-auditor/

From the same set10

The whole set →
firebase-hosting-basics Google LLC Deploys static sites and SPAs to Firebase Hosting CDN with SSL, preview channels, and custom domains. Claude Code CX Codex Cursor +1 169,800installs firebase-app-hosting-basics Google LLC Deploy and manage SSR web apps built with Next.js or Angular on Firebase App Hosting. Use it for configuration, secrets, and deployment workflows. Claude Code CX Codex Cursor +1 169,200installs firebase-data-connect Google LLC Builds and configures Firebase SQL Connect backends on PostgreSQL with GraphQL schemas and generated SDKs. Useful when adding relational data to Firebase projects. Claude Code CX Codex Cursor +1 168,300installs firebase-ai-logic-basics Google LLC Integrates Firebase AI Logic into Android, iOS, Web, and Flutter client apps. Helps configure direct Gemini API calls, streaming, and multimodal inputs. Claude Code CX Codex Cursor +1 135,300installs firebase-firestore Google LLC This skill helps configure Cloud Firestore, plan data models, and write SDK queries. Use it when creating a database or adding Firestore to an app. Claude Code CX Codex Cursor +1 134,900installs firebase-crashlytics Google LLC A skill for Firebase Crashlytics in Claude Code, Cursor, and other AI coding platforms. Collects crash reports from Android and iOS apps, lets you read data through the Firebase CLI MCP server. Claude Code CX Codex Cursor +1 131,200installs xcode-project-setup Google LLC This skill adds Swift Packages and links files in Xcode projects. Use it when an iOS app needs dependencies such as Firebase or Alamofire. Claude Code CX Codex Cursor +1 130,300installs firebase-remote-config-basics Google LLC Manages Firebase Remote Config templates, loading strategies, and feature flags for Android and iOS. Helps tweak app behavior without pushing a release to app stores. Claude Code CX Codex Cursor +1 120,800installs

Similar

github-actions-templates Seth Hobson This skill creates GitHub Actions workflows for testing, builds, and deployments. Use it when a project needs CI/CD or reusable workflow templates. Claude Code CX Codex Cursor 17,420installs attack-tree-construction Seth Hobson Builds attack trees to map threat paths, spot defense gaps, and explain security risks. Useful for penetration test planning and architecture reviews. Claude Code CX Codex Cursor 17,309installs google-cloud-global-frontend-configuration official google This skill guides design and deployment of a Google Cloud global external Application Load Balancer. Use it for CDN, WAF, and Service Extensions setup. Claude Code Gemini CLI CX Codex 5,300installs cloud-sync thedotmack Syncs your claude-mem database with cmem.ai Pro cloud storage. Checks sync status, manages the connection, and uploads observation narratives to the server. Claude Code CX Codex Cursor +1 2,100installs google-cloud-solution-n-tier-serverless-web-app official google Design secure n-tier serverless apps and microservices on Google Cloud with architecture guidance, Terraform, security checks, and deployment help. Claude Code Gemini CLI CX Codex 5,000installs gke-workload-security official google This skill audits and configures workload security in GKE namespaces and applications. Use it for network policies, pod isolation, security labels, and secret mounts. Claude Code Gemini CLI CX Codex 5,000installs git-guardrails-claude-code Matt Pocock This skill adds a Claude Code hook that stops risky Git commands before they run. Use it when an agent must not push or discard working-tree changes. Claude Code 499,069installs ponytail-review DietrichGebert ponytail-review reviews a change beyond the diff, checking connected code, bugs, risks, load, tests, speed, and unnecessary code. Use it for PRs and commits. Claude Code CX Codex Cursor +1 56,300installs

Questions about firebase-security-rules-auditor

How do I install firebase-security-rules-auditor in Claude Code?

Run npx skills add firebase/agent-skills --skill firebase-security-rules-auditor -a claude-code, then run npx skills add firebase/agent-skills --skill firebase-security-rules-auditor -a claude-code again. The skill file is available at ~/.claude/skills/firebase-security-rules-auditor/SKILL.md.

What does firebase-security-rules-auditor do?

It reviews Firebase Security Rules for Firestore and Cloud Storage. The audit covers leaks, privilege escalation, role bypasses, create/update gaps, type validation, resource limits, and ownership checks.

Why are hasOnly() and diff() not enough to secure a document?

They restrict which fields may change, but they do not establish who is making the change. Add an ownership check such as resource.data.uid == request.auth.uid when edits must be limited to the document owner.

Source text

SKILL.md · Apache-2.0
---
name: firebase-security-rules-auditor
description: >-
  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.
metadata:
  author: Google LLC
  category: CloudSecurity
---

# 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:

- 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:

```json
{
  "score": 1,
  "summary": "overall assessment",
  "findings": [
    {
      "check": "checklist item",
      "severity": "critical|major|moderate|minor",
      "issue": "description",
      "recommendation": "fix"
    }
  ]
}
```

© Google LLC · Apache-2.0 · firebase/agent-skills

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor