// docs / baas security / umbrella scanner
Scanner di sbagli di cunfigurazione BaaS: trova percorsi di dati publichi prima di l'utenti
I fornitori Backend-as-a-Service — Supabase, Firebase, Clerk, Auth0, Appwrite, Convex — tutti fallenu a sicurezza in listessa forma: a piattaforma manda difetti sensati, u sviluppatore (o l'attrezzu di codifica IA) piglia una scurciatoia, è un percorsu publicu s'apre trà un attaccante micca autenticatu è dati di clienti. Un scanner di sbagli di cunfigurazione BaaS hè l'unicu attrezzu chì sonda quellu percorsu da fora cum'è u faria un attaccante. St'articulu mappa e cinque classe ricorrenti di sbaglii di cunfigurazione, spiega cumu funziona u scan BaaS d'imbrelli FixVibe, paraguneghja i quattru fornitori maiò, è cuntrasta u scanner BaaS-cunsciu contru à l'attrezzi DAST generali.
Perchè i sbaglii di cunfigurazione BaaS anu una forma ricorrente
Ogni piattaforma BaaS seguita listessa architettura: un backend gestitu cù un SDK cliente sutile chì parla cù ellu da u navigatore. U cliente rivoltu à u navigatore hà bisognu di qualche credenziale — una chjave anon, una chjave publishable, un ID di prughjettu Firebase — per identificassi à u backend. Quella credenziale hè intenzionalmente publica; a sicurezza di l'architettura riposa nantu à i cuntrolli d'accessu à livellu di piattaforma (RLS, regule, liste d'auturizazione) chì fannu u so travagliu.
L'attrezzi di codifica IA custruiscenu nantu à sta architettura senza interiorizà u stratu di cuntrolli di piattaforma. Cullegheghjanu u SDK cliente currettamente, accettanu e regule permissive predefinite di a piattaforma (chì esistenu per esse amichevule cù i tutorial), è mandanu. A forma ricorrente hè: credenziale publica + regula difettu permissiva + override mancante = esposizione di dati. E cinque classe di sbaglii di cunfigurazione sottu sò tutte varianti di sta forma.
E cinque classe ricorrenti di sbaglii di cunfigurazione
Quessi appariscenu trà ogni fornitore BaaS. Un scan cumpletu copre tutti i cinque contru à ogni fornitore in usu:
Classa 1: Chjave sbagliata in u bundle di u navigatore
U navigatore manda a chjave secreta/amministratore (Supabase service_role, chjave privata SDK d'amministrazione Firebase, Clerk sk_*, secretu di cliente Auth0) invece di l'equivalente publicu/anon. U navigatore diventa un cliente amministratore senza limiti. Cupertu da u check bundle-secrets di FixVibe.
Classa 2: Stratu di cuntrollu d'accessu disattivatu o permissivu
RLS hè spentu, e regule Firebase sò if true, a lista di callback Auth0 hè wildcardata. A credenziale in u navigatore hè quella curretta — ma a fruntiera à livellu di piattaforma chì duvia limitalla ùn stà facendu u so travagliu.
Classa 3: Letture anonime di risorse sensibili
Cullezzioni Firestore leghjibili anonimu, bucket di storage Supabase listabili anonimu, API di gestione Auth0 accessibile anonimu. U scan dumanda: "senza credenziali, ciò chì possu leghje?"
Classa 4: Artefatti di test-mode in produzzione
Chjavi di test (pk_test_*, sb_test_*) in un spiegamentu di produzzione; appiendice Firebase in dev-mode ghjuntibile da u duminiu vivu; appiendice Auth0 di test-tenant cù paràmetri più debuli chè a produzzione. U scan paraguneghja e chjavi runtime contru à i prefissi di produzzione attesi.
Classa 5: Verifica di firma di webhook mancante
I webhook Clerk, i webhook Stripe, i webhook Supabase tutti firmanu i so payload. Un handler chì ùn verifica a firma hè una primitiva di scrittura di basa di dati per qualunque attaccante chì indovina l'URL. Rilevatu via forma di risposta — una richiesta micca firmata chì riceve un 200 significheghja chì a verifica hè saltata.
Cumu funziona u scan BaaS d'imbrelli FixVibe
A fase BaaS di FixVibe gira in trè tappe, ognuna chì pruduce risultati distinti:
- <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.
- Tappa 2 — sondaghji specifichi à u fornitore. Per ogni fornitore rilevatu, u scanner gira u check specificu à u fornitore:
baas.supabase-rlssonda PostgREST;baas.firebase-rulessonda Firestore + RTDB + Storage;baas.clerk-auth0valideghja u prefissu di e chjavi impacchittate; u check bundle-secrets valideghja chì nesuna credenziale di livellu serviziu hè partuta. Ogni sondaghju gira indipendentemente — un risultatu Supabase ùn blocca u scan Firebase. - Tappa 3 — currelazione cross-fornitore. U scanner cruceghja i risultati. Una chjave di service-role Supabase persa accantu à RLS mancante hè più severa chè ognunu di i risultati sulu — u raportu mette questu in vista. Multipli fornitori d'identità (Clerk + Auth0 + auth persunalizatu) in listessa app hè un risultatu strutturale sgnalatu per rivista.
Ogni sondaghju hè passivu: al massimu una lettura anonima per risorsa, cù forma di risposta registrata ma cuntenutu di righe mai paginatu o stuccatu. I sondaghji di scrittura è mudificazione sò gattati daretu à verifica di pruprietà di duminiu — ùn parteranu mai contru à miri micca verificati.
Ciò chì u scanner trova per fornitore
Ogni fornitore BaaS hà una superficia sfarente è una strategia di scan sfarente. Eccu ciò chì hè cupertu:
- Supabase: RLS mancante nantu à tabelle, bucket di storage listabili anonimu, JWT
service_rolepersu o chjavesb_secret_*in u bundle, schema esposti via listing OpenAPI anonimu. Vedi Scanner RLS Supabase è Lista di cuntrollu di storage. - Firebase: regule
if truenantu à Firestore, Realtime Database, è Cloud Storage; bucket di Storage listabili anonimu; impusizione App Check mancante. Vedi Scanner di regule Firebase è Spiegatore di regula if-true. - Clerk: chjavi secrete
sk_*impacchittate,pk_test_*in produzzione, verifica di firma di webhook mancante, urigini permesse wildcard. Vedi Lista di cuntrollu Clerk. - Auth0: secreti di cliente impacchittati, cuncessione Implicit attivata, URL callback / logout wildcard, PKCE mancante nantu à SPA. Vedi Lista di cuntrollu Auth0.
Cumu un scanner BaaS si paragona à l'attrezzi DAST è SAST generali
Un scanner BaaS-cunsciu face travagliu specificu chì l'altri attrezzi ùn fannu. U paragone:
| Aspettu | FixVibe (DAST BaaS-cunsciu) | DAST generale (Burp / ZAP) | SAST / SCA (Snyk / Semgrep) |
|---|---|---|---|
| Cupertura BaaS | Check nativi per Supabase, Firebase, Clerk, Auth0, Appwrite | Crawl web genericu; nisun sondaghju specificu à u fornitore | Analisi statica di solu repo; nisuna validazione di produzzione |
| Tempu di cunfigurazione | URL → lampa → risultati in 60 secondi | Ore: cunfigura spider, auth, ambitu | Ghjornu: integra in u CI di u repo |
| Ciò ch'ellu prova | Esposizione runtime di produzzione cù evidenza à livellu HTTP | Vulnerabilità web-app (XSS, SQLi); BaaS via cunfigurazione manuale | Pattern di codice chì ponu o ùn ponu spiegassi |
| Inspezione di bundle JavaScript | Decuddifica JWT, matcheghja prefissi di secreti, cammina i chunk | Limitatu — solu grep basatu nantu à stringhe | Iè, ma solu latu repo, micca spiegatu |
| Scansione cuntinua | Mensile / à u spiegamentu via API + MCP | Manuale; cunfigura tù u calendariu | Per commit (bonu per u codice, cecu à u runtime) |
| Prezzu per solo / pìccula squadra | Pianu gratisi; pagatu da $19/mese | Burp Pro $499/annu; ZAP gratisi ma alti falsi pusitivi | Snyk gratisi / Semgrep gratisi; piani pagati da $25/sviluppatore |
Ambitu onestu: ciò chì stu scanner ùn rimpiazza
Un scanner DAST BaaS-cunsciu hè un attrezzu focalizatu, micca un prugramma di sicurezza cumpletu. Ùn:
- Rimpiazza SAST o SCA. L'analisi statica trova CVE di dipendenze (Snyk, Semgrep) è vulnerabilità à livellu di codice (SonarQube) chì un scanner DAST ùn pò micca. Faci tutti i dui.
- Rimpiazza i test di penetrazione manuali. Un pentester umanu trova falle di logica di affari, casi limite d'auturizazione, è vulnerabilità incatenate chì nisun scanner pò. Affitta un pentester prima di un grande lanciu o audit di cunfurmità.
- Auditeghja u to codice o repo per secreti in a storia git. U check bundle-secrets copre ciò chì hè attualmente spiegatu, micca ciò chì hè statu storicamente committatu. Adopra
git-secretsogitleaksper l'igiena di u repo. - Copre i servizii backend micca BaaS. S'è a to app usa un backend persunalizatu (Express, Rails, Django, FastAPI), FixVibe scansiuneghja a so superficia HTTP ma ùn sonda micca a basa di dati o l'infrastruttura daretu. Quessa hè territoriu DAST generale + SAST.
Dumande frequenti
U scan d'imbrelli funziuneghja s'è a mio app usa dui fornitori BaaS (per esempiu, Supabase + Clerk)?
Iè — u fingerprinting di fornitore è i sondaghji per fornitore sò indipendenti. U scanner detetta tramendue, gira tramendue suite di check, è riporta currelazioni cross-fornitore (per esempiu, un mudellu JWT Supabase da Clerk chì manda email cum'è claim accantu à RLS mancante).
Cumu hè questu sfarente da girà Burp Suite Pro contru à a mio app?
Burp hè un banc di travagliu DAST generale. Fora da a scatula, Burp ùn cunnosce ciò chì sò PostgREST, Firestore, o u percorsu callback Auth0 — devi cunfigurà manualmente l'ambitu, scrive estensioni, è interpretà e risposte. FixVibe vene cù sondaghji BaaS integrati è furmattazione d'evidenza in forma BaaS. Burp vince nantu à a cupertura web-app generale (XSS, SQLi, logica di affari); FixVibe vince nantu à i risultati specifichi à BaaS.
Chì face App Check (Firebase) o attestazione (Apple / Google)?
App Check face chì e scansioni esterne uppurtunistiche tornanu 403 in ogni sondaghju — u risultatu currettu per un bot maliziosu. Una scansione FixVibe da un cliente micca attestatu si cumporta listessu modu. S'è hai App Check attivatu è FixVibe sempre riporta risultati, significheghja chì e to regule sò aperte ancu à i clienti attestati, chì hè u risicu reale. App Check + regule currette hè u pattern di difesa in prufondità.
U scanner pò verificà a mio currezzione?
Iè — rilampa dopu avè applicatu a currezzione. L'ID di check (per esempiu, baas.supabase-rls) sò stabili trà esecuzioni, cusì pudè diffà i risultati: un risultatu chì era open in l'esecuzione 1 è assente in l'esecuzione 2 hè a prova chì a currezzione hè atterrata.
Prussimi passi
Lampa una scansione FixVibe gratisa contru à u to URL di produzzione — i check di fase BaaS sò in ogni pianu, cumpresu u pianu gratisi. Per appronfondimenti specifichi à u fornitore, l'articuli individuali in sta sezzione coprenu ogni fornitore in dettagliu: RLS Supabase, Esposizione di chjave di serviziu Supabase, Storage Supabase, Regule Firebase, Firebase if-true, Clerk, è Auth0.
