ASD

Firebase Security Rules Auditor

Audita reglas de seguridad de Firebase (Firestore, Cloud Storage): vulnerabilidades, escalada de privilegios, bypasses de roles, inconsistencias create/update y falta de comprobaciones hasOnly() de ownership.

Oficial
Estrellas
406

en todo el repo

Actividad
62

0–100, la ruta de este skill

Actualizado
hace 7 días

último commit aquí

Commits
3

últimos 90 días

Contexto
962 tok

109 tok en reposo

Paquete
1 archivo

4 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

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

Se instala solo en este repositorio.

Qué hace

  • Audita reglas de seguridad de Firestore y Cloud Storage buscando vulnerabilidades, escalada de privilegios y bypasses de roles
  • Compara reglas de 'create' vs 'update' para detectar inconsistencias explotables
  • Verifica límites de tamaño, tipos de datos y comprobaciones hasOnly()/diff() con ownership
  • Devuelve un informe JSON con score 1-5, resumen y hallazgos con severidad y recomendación

Úsalo cuando

  • Al auditar o revisar reglas de seguridad de Firebase
  • Al ejecutar evaluaciones de red-team sobre las reglas
  • Al puntuar las reglas contra checklists de auditoría

No lo uses cuando

  • Para Firebase CLI (login, deploy)
  • Para Auth, Crashlytics o Remote Config
  • Para consultas a la base de datos

Qué lo activa

Di cualquiera de estas frases y el agente debería cargar este skill.

  • Audita mis reglas de seguridad de Firestore
  • Haz una evaluación red-team de mi security rules de Storage
  • Puntúa estas reglas de Firebase del 1 al 5 según el checklist
  • Revisa si mis reglas permiten escalada de privilegios

SKILL.md

En inglés

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)?
  2. 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.
  3. 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).
  4. Storage Abuse: Are there string length or array size limits? If not, label it as a "Resource Exhaustion/DoS" risk.
  5. Type Safety: Are fields checked with 'is string', 'is int', or 'is timestamp'?
  6. 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 == 'admin@example.com'), 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-5, "summary": "overall assessment", "findings": [ { "check": "checklist item", "severity": "critical|major|moderate|minor", "issue": "description", "recommendation": "fix" } ] }

Reproducido de firebase/agent-skills bajo licencia Apache-2.0. Leer esta página en markdown.

Archivos

1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

Detalles

Creador
firebase
Categoría
Seguridad
Licencia
Apache-2.0
Recursos incluidos
Solo SKILL.md
Código fuente
Ver SKILL.md

Etiquetas

Más de firebase/agent-skills

Este repo incluye 12 skills. Si instalas uno, normalmente ya tienes los demás.

Skill oficial para integrar Firebase AI Logic (Gemini API) en apps. Cubre configuración, inferencia multimodal, salida estructurada y seguridad.

Costo de contexto al activarse
2.3k tok
Tamaño del paquete
5 archivos
Última actualización
hace 7 días
Oficialdesarrollo apis

Configura la base de Firebase: instala/verifica la CLI, gestiona login (incl. --no-localhost), crea o selecciona proyectos y descarga los archivos de configuración de la app.

Costo de contexto al activarse
1.8k tok
Tamaño del paquete
20 archivos
Última actualización
hace 7 días
Oficialdevops infraestructura

Guía para configurar y usar Firebase Authentication. Úsala cuando la app necesite inicio de sesión de usuarios, gestión de usuarios o acceso seguro a datos mediante reglas de auth.

Costo de contexto al activarse
1k tok
Tamaño del paquete
6 archivos
Última actualización
hace 7 días
Oficialseguridad

Configura, gestiona, consulta y ajusta bases de datos Cloud Firestore (edición Standard/Enterprise): modelado de datos, reglas de seguridad, índices e integraciones SDK (Web, Python, iOS, Android, Flutter).

Costo de contexto al activarse
991 tok
Tamaño del paquete
17 archivos
Última actualización
hace 7 días
Oficialbases de datos

Despliega y configura el Firebase Hosting clásico para sitios estáticos, SPAs y microservicios: dominios, firebase.json, redirects, rewrites y canales de vista previa.

Costo de contexto al activarse
599 tok
Tamaño del paquete
3 archivos
Última actualización
hace 7 días
Oficialdevops infraestructura

Despliega y gestiona apps full-stack (Next.js, Angular) con SSR usando Firebase App Hosting: apphosting.yaml, bloques apphosting en firebase.json, secretos y CI/CD con GitHub.

Costo de contexto al activarse
670 tok
Tamaño del paquete
4 archivos
Última actualización
hace 7 días
Oficialdevops infraestructura

Skills relacionados

Guía el registro de aplicaciones en Microsoft Entra ID, la autenticación OAuth 2.0 y la integración con MSAL: permisos de API, service principals y ejemplos de autenticación.

Costo de contexto al activarse
2.1k tok
Tamaño del paquete
17 archivos
Última actualización
hace 16 días
Oficialseguridad

Controla un emulador o dispositivo Android desde Orca con el CLI `orca`: AVDs, taps, swipes, tecleo, botones físicos, rotación, apps, permisos, árbol de accesibilidad y logcat.

Costo de contexto al activarse
882 tok
Tamaño del paquete
1 archivo
Última actualización
hace 22 días
Oficialherramientas desarrollo

Controla un emulador/simulador móvil (iOS) desde Orca con la CLI `orca`: taps, gestos, tipeo, botones, cámara, permisos y árbol de accesibilidad, viendo la vista en vivo en Orca.

Costo de contexto al activarse
931 tok
Tamaño del paquete
1 archivo
Última actualización
hace 22 días
Oficialherramientas desarrollo