FixVibe

// docs / baas security / umbrella scanner

Escáner de configuración incorrecta de BaaS: atopa camiños de datos públicos antes que os usuarios

Os provedores Backend-as-a-Service — Supabase, Firebase, Clerk, Auth0, Appwrite, Convex — todos fallan a seguranza da mesma forma: a plataforma envía valores predeterminados sensatos, o desenvolvedor (ou a ferramenta de codificación con IA) recorre a un atallo e ábrese un camiño público entre un atacante non autenticado e os datos do cliente. Un escáner de configuración incorrecta de BaaS é a única ferramenta que sondea ese camiño desde fóra do xeito que faría un atacante. Este artigo mapea as cinco clases de configuración incorrecta recorrentes, explica como funciona o escaneo BaaS global de FixVibe, compara os catro provedores principais e contrasta o escáner consciente de BaaS coas ferramentas DAST xerais.

Por que as configuracións incorrectas de BaaS teñen unha forma recorrente

Cada plataforma BaaS segue a mesma arquitectura: un backend xestionado cun SDK cliente fino que fala con el desde o navegador. O cliente orientado ao navegador precisa algunha credencial — unha clave anon, unha clave publicábel, un ID de proxecto Firebase — para identificarse no backend. Esa credencial é intencionalmente pública; a seguranza da arquitectura repousa en que os controis de acceso a nivel de plataforma (RLS, regras, listas permitidas) fagan o seu traballo.

As ferramentas de codificación con IA constrúen sobre esta arquitectura sen interiorizar a capa de controis da plataforma. Conectan o SDK cliente correctamente, aceptan as regras predeterminadas permisivas da plataforma (que existen para amabilidade titorial) e publican. A forma recorrente é: credencial pública + regra predeterminada permisiva + ignorar substitución = exposición de datos. As cinco clases de configuración incorrecta de abaixo son todas variantes desta forma.

As cinco clases de configuración incorrecta recorrentes

Estas aparecen en cada provedor BaaS. Un escaneo completo cobre as cinco en cada provedor en uso:

Clase 1: Clave incorrecta no bundle do navegador

O navegador envía a clave secreta/admin (service_role de Supabase, clave privada do SDK Admin de Firebase, sk_* de Clerk, segredo de cliente de Auth0) no canto da equivalente pública/anon. O navegador convértese nun cliente admin sen restricións. Cuberto pola comprobación de segredos no bundle de FixVibe.

Clase 2: Capa de control de acceso desactivada ou permisiva

RLS está desactivada, as regras de Firebase son if true, a lista de callback de Auth0 ten comodín. A credencial no navegador é a correcta — pero a fronteira a nivel de plataforma que se supuña que a restrinxía non está facendo o seu traballo.

Clase 3: Lecturas anónimas de recursos sensibles

Coleccións Firestore legibles anonimamente, buckets de almacenamento de Supabase listables anonimamente, API de xestión de Auth0 accesible anonimamente. O escaneo pregunta: "sen credenciais, que podo ler?"

Clase 4: Artefactos de modo de proba en produción

Claves de proba (pk_test_*, sb_test_*) nun despregamento de produción; aplicacións Firebase en modo desenvolvemento accesibles desde o dominio en vivo; aplicacións Auth0 de tenant de proba con configuración máis débil que produción. O escaneo compara as claves en tempo de execución cos prefixos de produción esperados.

Clase 5: Verificación de sinatura de webhook ausente

Os webhooks de Clerk, os webhooks de Stripe, os webhooks de Supabase todos asinan as súas cargas útiles. Un manexador que non verifica a sinatura é unha primitiva de escritura na base de datos para calquera atacante que adiviñe o URL. Detectado vía forma da resposta — unha solicitude sen sinatura que recibe un 200 significa que se salta a verificación.

Como funciona o escaneo BaaS global de FixVibe

A fase BaaS de FixVibe execútase en tres etapas, cada unha producindo achados distintos:

  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 — sondaxes específicas do provedor. Para cada provedor detectado, o escáner executa a comprobación específica do provedor: baas.supabase-rls sondea PostgREST; baas.firebase-rules sondea Firestore + RTDB + Storage; baas.clerk-auth0 valida o prefixo das claves no bundle; a comprobación de segredos no bundle valida que non se filtraron credenciais de nivel de servizo. Cada sondaxe execútase de xeito independente — un achado de Supabase non bloquea o escaneo de Firebase.
  3. Etapa 3 — correlación entre provedores. O escáner correlaciona os achados. Unha clave de rol de servizo de Supabase filtrada xunto con RLS ausente é máis severa que calquera achado por separado — o informe destaca isto. Múltiples provedores de identidade (Clerk + Auth0 + autenticación personalizada) na mesma aplicación é un achado estrutural marcado para revisión.

Cada sondaxe é pasiva: como moito unha lectura anónima por recurso, coa forma da resposta rexistrada pero contidos de fila nunca paxinados nin almacenados. As sondaxes de escritura e modificación requiren propiedade de dominio verificada — nunca se executan contra obxectivos non verificados.

O que atopa o escáner por provedor

Cada provedor BaaS ten unha superficie diferente e unha estratexia de escaneo diferente. Aquí está o que se cobre:

  • Supabase: RLS ausente en táboas, buckets de almacenamento listables anonimamente, JWT service_role filtrado ou clave sb_secret_* no bundle, esquemas expostos vía listaxe OpenAPI anónima. Mira Escáner de RLS de Supabase e Lista de almacenamento.
  • Firebase: regras if true en Firestore, Realtime Database e Cloud Storage; buckets de Storage listables anonimamente; aplicación de App Check ausente. Mira Escáner de regras de Firebase e Explicación da regra if-true.
  • Clerk: claves secretas sk_* no bundle, pk_test_* en produción, verificación de sinatura de webhook ausente, orixes permitidas con comodín. Mira Lista de Clerk.
  • Auth0: segredos de cliente no bundle, concesión Implicit activada, URLs de callback / logout con comodín, PKCE ausente en SPAs. Mira Lista de Auth0.

Como se compara un escáner BaaS coas ferramentas DAST e SAST xerais

Un escáner consciente de BaaS fai traballo específico que outras ferramentas non fan. A comparación:

AspectoFixVibe (DAST consciente de BaaS)DAST xeral (Burp / ZAP)SAST / SCA (Snyk / Semgrep)
Cobertura de BaaSComprobacións nativas para Supabase, Firebase, Clerk, Auth0, AppwriteRastrexo web xenérico; sen sondaxes específicas de provedorAnálise estática só do repositorio; sen validación en produción
Tempo de configuraciónURL → executar → resultados en 60 segundosHoras: configurar spider, autenticación, ámbitoDía: integrar no CI do repositorio
O que probaExposición en tempo de execución de produción con evidencia a nivel HTTPVulnerabilidades de aplicacións web (XSS, SQLi); BaaS vía configuración manualPatróns de código que poden ou non desplegarse
Inspección do bundle JavaScriptDescodifica JWTs, coincide con prefixos secretos, camiña os chunksLimitado — só grep baseado en cadeasSi, pero só do lado do repositorio, non despregado
Escaneo continuoMensual / no despregamento vía API + MCPManual; configura o calendario ti mesmoPor commit (bo para código, cego ao tempo de execución)
Prezo para solo / pequeno equipoPlan gratuíto; de pagamento desde 19 $/mesBurp Pro 499 $/ano; ZAP gratuíto pero con moitos falsos positivosSnyk gratuíto / Semgrep gratuíto; plans de pagamento desde 25 $/desenvolvedor

Ámbito honesto: o que este escáner non substitúe

Un escáner DAST consciente de BaaS é unha ferramenta enfocada, non un programa de seguranza completo. Non:

  • Substitúe SAST ou SCA. A análise estática atopa CVEs de dependencias (Snyk, Semgrep) e vulnerabilidades a nivel de código (SonarQube) que un escáner DAST non pode. Executa ambos.
  • Substitúe as probas manuais de penetración. Un pentester humano atopa fallos de lóxica de negocio, casos límite de autorización e vulnerabilidades encadeadas que ningún escáner pode. Contrata un pentester antes dun lanzamento importante ou unha auditoría de cumprimento.
  • Audita o teu código ou repositorio para segredos no historial de git. A comprobación de segredos no bundle cobre o que está actualmente despregado, non o que se confirmou historicamente. Usa git-secrets ou gitleaks para hixiene do repositorio.
  • Cobre servizos backend non-BaaS. Se a túa aplicación usa un backend personalizado (Express, Rails, Django, FastAPI), FixVibe escanea a súa superficie HTTP pero non sondea a base de datos ou a infraestrutura detrás dela. Iso é territorio de DAST xeral + SAST.

Preguntas frecuentes

Funciona o escaneo global se a miña aplicación usa dous provedores BaaS (por exemplo, Supabase + Clerk)?

Si — a identificación de provedores e as sondaxes por provedor son independentes. O escáner detecta ambos, executa ambas as suites de comprobación e informa de correlacións entre provedores (por exemplo, unha plantilla JWT de Supabase desde Clerk que envía email como claim xunto con RLS ausente).

En que se diferencia isto de executar Burp Suite Pro contra a miña aplicación?

Burp é unha banca de traballo DAST xeral. De serie, Burp non sabe o que é PostgREST, Firestore ou o camiño de callback de Auth0 — tes que configurar manualmente o ámbito, escribir extensións e interpretar respostas. FixVibe inclúe sondaxes BaaS integradas e formatado de evidencia en forma de BaaS. Burp gaña en cobertura xeral de aplicacións web (XSS, SQLi, lóxica de negocio); FixVibe gaña en achados específicos de BaaS.

Que pasa con App Check (Firebase) ou atestación (Apple / Google)?

App Check fai que os escaneos externos oportunistas devolvan 403 en cada sondaxe — o resultado correcto para un bot malicioso. Un escaneo de FixVibe desde un cliente non atestado compórtase do mesmo xeito. Se tes App Check activado e FixVibe aínda informa de achados, significa que as túas regras están abertas tamén para clientes atestados, que é o risco real. App Check + regras correctas é o patrón de defensa en profundidade.

Pode o escáner verificar a miña corrección?

Si — reexecuta despois de aplicar a corrección. Os IDs de comprobación (por exemplo, baas.supabase-rls) son estables entre execucións, así que podes comparar os achados: un achado que estaba aberto na execución 1 e ausente na execución 2 é proba de que a corrección se aplicou.

Próximos pasos

Executa un escaneo gratuíto de FixVibe contra o teu URL de produción — as comprobacións de fase BaaS están incluídas en todos os plans, incluído o plan gratuíto. Para inmersións profundas específicas do provedor, os artigos individuais desta sección cobren cada provedor en detalle: RLS de Supabase, Exposición da clave de servizo de Supabase, Almacenamento de Supabase, Regras de Firebase, Firebase if-true, Clerk, e Auth0.

// escanea a túa superficie baas

Atopa a táboa aberta antes de que outra persoa o faga.

Introduce un URL de produción. FixVibe enumera os provedores de BaaS cos que fala a túa aplicación, identifica os seus endpoints públicos e informa do que un cliente non autenticado pode ler ou escribir. Gratis, sen instalación, sen tarxeta.

  • Plan gratuíto — 3 escaneos ao mes, sen tarxeta de rexistro.
  • Identificación pasiva de BaaS — non se require verificación de dominio.
  • Supabase, Firebase, Clerk, Auth0, Appwrite e máis.
  • Prompts de corrección con IA en cada achado — pégaos de volta en Cursor / Claude Code.
Escáner de configuración incorrecta de BaaS: atopa camiños de datos públicos antes que os usuarios — Docs · FixVibe