FixVibe

// docs / baas security / umbrella scanner

Escàner de configuracions errònies de BaaS: troba rutes de dades públiques abans que ho facin els usuaris

Els proveïdors Backend-as-a-Service — Supabase, Firebase, Clerk, Auth0, Appwrite, Convex — fallen la seguretat de la mateixa manera: la plataforma envia valors per defecte sensats, el desenvolupador (o l'eina de codificació amb IA) busca una drecera, i s'obre un camí públic entre un atacant no autenticat i les dades dels clients. Un escàner de configuracions errònies de BaaS és l'única eina que sondeja aquest camí des de fora com ho faria un atacant. Aquest article cartografia les cinc classes de configuració errònia recurrents, explica com funciona l'escaneig global de BaaS de FixVibe, compara els quatre proveïdors principals i contrasta l'escàner conscient de BaaS amb les eines DAST generals.

Per què les configuracions errònies de BaaS tenen una forma recurrent

Cada plataforma BaaS segueix la mateixa arquitectura: un backend gestionat amb un SDK client prim que hi parla des del navegador. El client de cara al navegador necessita alguna credencial — una clau anon, una clau publicable, un ID de projecte Firebase — per identificar-se al backend. Aquesta credencial és intencionalment pública; la seguretat de l'arquitectura recau en els controls d'accés a nivell de plataforma (RLS, regles, llistes d'autorització) fent la seva feina.

Les eines de codificació amb IA construeixen sobre aquesta arquitectura sense interioritzar la capa de controls de plataforma. Connecten el SDK client correctament, accepten les regles permissives per defecte de la plataforma (que existeixen per ser amables amb els tutorials) i publiquen. La forma recurrent és: credencial pública + regla permissiva per defecte + absència de sobreescriptura = exposició de dades. Les cinc classes de configuració errònia a continuació són totes variants d'aquesta forma.

Les cinc classes de configuració errònia recurrents

Apareixen en tots els proveïdors BaaS. Un escaneig complet cobreix les cinc contra cada proveïdor en ús:

Classe 1: Clau incorrecta al bundle del navegador

El navegador envia la clau secreta/d'administrador (Supabase service_role, clau privada del SDK Admin de Firebase, Clerk sk_*, client secret d'Auth0) en lloc de l'equivalent pública/anon. El navegador es converteix en un client d'administrador sense restriccions. Cobert per la comprovació de secrets en bundle de FixVibe.

Classe 2: Capa de control d'accés deshabilitada o permissiva

RLS està desactivat, les regles de Firebase són if true, la llista de callbacks d'Auth0 té comodins. La credencial al navegador és la correcta — però la frontera de nivell de plataforma que havia de restringir-la no fa la seva feina.

Classe 3: Lectures anònimes de recursos sensibles

Col·leccions de Firestore llegibles anònimament, contenidors d'emmagatzematge de Supabase llistats anònimament, API de gestió d'Auth0 accessible anònimament. L'escaneig pregunta: "sense credencials, què puc llegir?"

Classe 4: Artefactes de mode test a producció

Claus de prova (pk_test_*, sb_test_*) en un desplegament de producció; aplicacions Firebase en mode dev accessibles des del domini real; aplicacions Auth0 de tenant de prova amb configuracions més febles que producció. L'escaneig compara les claus en temps d'execució amb els prefixos de producció esperats.

Classe 5: Verificació de signatura de webhook absent

Els webhooks de Clerk, els webhooks de Stripe i els webhooks de Supabase signen tots els seus payloads. Un handler que no verifica la signatura és una primitiva d'escriptura a la base de dades per a qualsevol atacant que endevini l'URL. Detectat via forma de resposta — una petició no signada que rep un 200 significa que la verificació s'està saltant.

Com funciona l'escaneig global de BaaS de FixVibe

La fase de BaaS de FixVibe s'executa en tres etapes, cadascuna produint troballes diferents:

  1. <strong>Stage 1 — provider fingerprinting.</strong> The scanner crawls the deployed app, parses every JavaScript chunk, and identifies which BaaS providers the app uses. Each provider has a distinctive runtime signature: Supabase uses <code>*.supabase.co</code>; Firebase uses <code>firebase.initializeApp({ projectId: ... })</code>; Clerk uses <code>pk_*</code> keys with a known prefix; Auth0 uses <code>clientId</code> and <code>domain</code>. The scanner records which providers are present and extracts the project identifiers.
  2. Etapa 2 — sondejos específics del proveïdor. Per a cada proveïdor detectat, l'escàner executa la comprovació específica del proveïdor: baas.supabase-rls sondeja PostgREST; baas.firebase-rules sondeja Firestore + RTDB + Storage; baas.clerk-auth0 valida el prefix de les claus en bundle; la comprovació de secrets en bundle valida que cap credencial de nivell de servei s'hagi filtrat. Cada sondeig s'executa de manera independent — una troballa de Supabase no bloqueja l'escaneig de Firebase.
  3. Etapa 3 — correlació entre proveïdors. L'escàner creua referències entre troballes. Una clau de rol de servei de Supabase filtrada al costat d'un RLS absent és més greu que qualsevol de les dues troballes per separat — l'informe ho ressalta. Múltiples proveïdors d'identitat (Clerk + Auth0 + autenticació personalitzada) a la mateixa aplicació és una troballa estructural marcada per a revisió.

Cada sondeig és passiu: com a màxim una lectura anònima per recurs, amb la forma de resposta registrada però el contingut de files mai paginat ni emmagatzemat. Els sondejos d'escriptura i modificació estan restringits per la verificació de propietat de domini — mai s'executen contra objectius no verificats.

Què troba l'escàner per proveïdor

Cada proveïdor BaaS té una superfície diferent i una estratègia d'escaneig diferent. Això és el que cobreix:

Com es compara un escàner BaaS amb les eines DAST i SAST generals

Un escàner conscient de BaaS fa una feina específica que altres eines no fan. La comparació:

AspecteFixVibe (DAST conscient de BaaS)DAST general (Burp / ZAP)SAST / SCA (Snyk / Semgrep)
Cobertura de BaaSComprovacions natives per a Supabase, Firebase, Clerk, Auth0, AppwriteRastreig web genèric; sense sondejos específics de proveïdorAnàlisi estàtica només del repositori; sense validació en producció
Temps de configuracióURL → executar → resultats en 60 segonsHores: configura spider, autenticació, abastUn dia: integra al CI del repositori
Què demostraExposició en temps d'execució de producció amb evidència a nivell HTTPVulns web (XSS, SQLi); BaaS via configuració manualPatrons de codi que poden o no desplegar-se
Inspecció del bundle de JavaScriptDescodifica JWTs, fa coincidir prefixos de secrets, recorre chunksLimitada — només grep basat en cadenesSí, però només al repositori, no desplegat
Escaneig continuMensual / per desplegament via API + MCPManual; configura la programació tu mateixPer commit (bo per al codi, cec a temps d'execució)
Preu per a sol / equip petitPla gratuït; de pagament des de 19 $/mesBurp Pro 499 $/any; ZAP gratuït però molts falsos positiusSnyk gratuït / Semgrep gratuït; plans de pagament des de 25 $/desenvolupador

Abast honest: què no substitueix aquest escàner

Un escàner DAST conscient de BaaS és una eina enfocada, no un programa de seguretat complet. No:

  • Substitueix SAST o SCA. L'anàlisi estàtica troba CVEs de dependències (Snyk, Semgrep) i vulnerabilitats a nivell de codi (SonarQube) que un escàner DAST no pot. Executa'ls tots dos.
  • Substitueix les proves de penetració manuals. Un pentester humà troba defectes de lògica de negoci, casos límit d'autorització i vulnerabilitats encadenades que cap escàner pot. Contracta un pentester abans d'un llançament important o una auditoria de compliment.
  • Audita el teu codi o repositori a la cerca de secrets a l'historial de git. La comprovació de secrets en bundle cobreix el que està desplegat actualment, no el que s'ha confirmat històricament. Fes servir git-secrets o gitleaks per a la higiene del repositori.
  • Cobreix serveis de backend no-BaaS. Si la teva aplicació fa servir un backend personalitzat (Express, Rails, Django, FastAPI), FixVibe escaneja la seva superfície HTTP però no sondeja la base de dades ni la infraestructura darrere. Això és territori de DAST general + SAST.

Preguntes freqüents

Funciona l'escaneig global si la meva aplicació fa servir dos proveïdors BaaS (p. ex., Supabase + Clerk)?

Sí — la identificació del proveïdor i els sondejos per proveïdor són independents. L'escàner detecta tots dos, executa les dues suites de comprovacions i informa de correlacions entre proveïdors (p. ex., una plantilla JWT de Supabase des de Clerk que envia email com a claim al costat de RLS absent).

Com es diferencia això d'executar Burp Suite Pro contra la meva aplicació?

Burp és un workbench DAST general. De caixa, Burp no sap què és PostgREST, Firestore ni la ruta de callback d'Auth0 — has de configurar l'abast manualment, escriure extensions i interpretar respostes. FixVibe s'inclou amb sondejos de BaaS integrats i formats d'evidència amb forma de BaaS. Burp guanya en cobertura general d'aplicació web (XSS, SQLi, lògica de negoci); FixVibe guanya en troballes específiques de BaaS.

I App Check (Firebase) o attestation (Apple / Google)?

App Check fa que els escaneigs externs oportunistes retornin 403 a cada sondeig — el resultat correcte per a un bot maliciós. Un escaneig de FixVibe des d'un client no atestat es comporta de la mateixa manera. Si tens App Check habilitat i FixVibe encara informa de troballes, vol dir que les teves regles són obertes a clients atestats també, que és el risc real. App Check + regles correctes és el patró de defensa en profunditat.

Pot l'escàner verificar la meva correcció?

Sí — torna a executar després d'aplicar la correcció. Els IDs de comprovació (p. ex., baas.supabase-rls) són estables entre execucions, així que pots comparar troballes: una troballa que era open a l'execució 1 i absent a l'execució 2 és la prova que la correcció ha aterrat.

Següents passos

Executa un escaneig gratuït de FixVibe contra el teu URL de producció — les comprovacions de fase BaaS s'inclouen a tots els plans, inclòs el gratuït. Per a aprofundiments específics per proveïdor, els articles individuals d'aquesta secció cobreixen cada proveïdor en detall: RLS de Supabase, exposició de claus de servei de Supabase, emmagatzematge de Supabase, regles de Firebase, if-true de Firebase, Clerk i Auth0.

// escaneja la teva superfície de baas

Troba la taula oberta abans que ho faci una altra persona.

Introdueix un URL de producció. FixVibe enumera els proveïdors de BaaS amb què parla la teva aplicació, identifica els seus endpoints públics i informa del que un client no autenticat pot llegir o escriure. Gratis, sense instal·lació, sense targeta.

  • Pla gratuït — 3 escaneigs al mes, sense targeta al registre.
  • Identificació passiva de BaaS — no cal verificació de domini.
  • Supabase, Firebase, Clerk, Auth0, Appwrite i més.
  • Prompts de correcció amb IA a cada troballa — enganxa'ls a Cursor / Claude Code.
Escàner de configuracions errònies de BaaS: troba rutes de dades públiques abans que ho facin els usuaris — Docs · FixVibe