FixVibe

// docs / baas security / umbrella scanner

Skener napačnih konfiguracij BaaS: najdite javne podatkovne poti, preden to storijo uporabniki

Ponudniki Backend-as-a-Service — Supabase, Firebase, Clerk, Auth0, Appwrite, Convex — varnostno odpovedo v isti obliki: platforma izda razumne privzete vrednosti, razvijalec (ali UI-orodje za kodiranje) poseže po bližnjici, in med nepristnim napadalcem in podatki stranke se odpre javna pot. Skener napačnih konfiguracij BaaS je edino orodje, ki to pot sondira od zunaj, kakor bi to počel napadalec. Ta članek kartira pet ponavljajočih se razredov napačnih konfiguracij, razloži, kako deluje krovni FixVibov BaaS-pregled, primerja štiri glavne ponudnike in BaaS-ozaveščeni skener postavi nasproti splošnih DAST-orodij.

Zakaj imajo napačne konfiguracije BaaS ponavljajočo se obliko

Vsaka platforma BaaS sledi isti arhitekturi: upravljano zaledje s tankim odjemalskim SDK, ki z njim govori iz brskalnika. Odjemalec, obrnjen k brskalniku, potrebuje neke vrste poverilnico — anon-ključ, objavljivi ključ, ID Firebase-projekta — da se proti zaledju identificira. Ta poverilnica je namensko javna; varnost arhitekture sloni na tem, da zgodaj določene kontrole dostopa na ravni platforme (RLS, pravila, seznami dovoljenih) opravljajo svoje delo.

UI-orodja za kodiranje gradijo na tej arhitekturi, ne da bi ponotranjila plast nadzora platforme. Pravilno povežejo odjemalski SDK, sprejmejo permisivna privzeta pravila platforme (ki obstajajo zaradi prijaznosti do tutorialov) in izdajo. Ponavljajoča se oblika je: javna poverilnica + popustljivo privzeto pravilo + manjkajoča prepustitev = izpostavljenost podatkov. Pet razredov napačnih konfiguracij spodaj so vsi različice te oblike.

Pet ponavljajočih se razredov napačnih konfiguracij

Ti se pojavljajo pri vsakem BaaS-ponudniku. Popoln pregled pri vsakem uporabljenem ponudniku pokrije vseh pet:

Razred 1: Napačen ključ v brskalniškem snopu

Brskalnik izda skrivnostni/skrbniški ključ (Supabase service_role, zasebni ključ Firebase Admin SDK, Clerk sk_*, skrivnostni ključ odjemalca Auth0) namesto javnega/anon-ekvivalenta. Brskalnik postane neomejen skrbniški odjemalec. Pokriva ga FixVibov pregled bundle-secrets.

Razred 2: Plast nadzora dostopa onemogočena ali popustljiva

RLS je izklopljena, pravila Firebase so if true, seznam Auth0-povratnih klicev je z nadomestnim znakom. Poverilnica v brskalniku je pravilna — vendar meja na ravni platforme, ki bi jo morala omejevati, svojega dela ne opravlja.

Razred 3: Anonimna branja občutljivih virov

Anonimno berljive zbirke Firestore, anonimno naštevljiva vedra Supabase Storage, anonimno dosegljiv Auth0-skrbniški API. Pregled sprašuje: „brez poverilnic, kaj lahko preberem?"

Razred 4: Artefakti test-načina v produkciji

Testni ključi (pk_test_*, sb_test_*) v produkcijski uvedbi; razvojni Firebase-aplikacije, dosegljive iz živega imena domene; testno-najemniške aplikacije Auth0 s šibkejšimi nastavitvami od produkcije. Pregled primerja izvajalne ključe s pričakovanimi produkcijskimi predponami.

Razred 5: Manjka preverjanje podpisa webhooka

Webhooki Clerk, Stripe in Supabase vsi podpisujejo svoje tovore. Rokovalnik, ki podpisa ne preveri, je primitiv za pisanje v bazo podatkov za vsakega napadalca, ki ugiba URL. Zaznano prek oblike odziva — nepodpisana zahteva, ki dobi 200, pomeni, da je preverjanje preskočeno.

Kako deluje krovni FixVibov BaaS-pregled

FixVibova faza BaaS teče v treh stopnjah, vsaka proizvede ločene najdbe:

  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. Stopnja 2 — sonde, specifične za ponudnika. Za vsakega zaznanega ponudnika skener izvede preverjanje, specifično za tega ponudnika: baas.supabase-rls sondira PostgREST; baas.firebase-rules sondira Firestore + RTDB + Storage; baas.clerk-auth0 potrjuje predpono pakiranih ključev; pregled bundle-secrets potrjuje, da niso odtekle nobene poverilnice nivoja service. Vsaka sonda teče neodvisno — najdba pri Supabase ne ustavi Firebase-pregleda.
  3. Stopnja 3 — navzkrižna korelacija med ponudniki. Skener navzkrižno preveri najdbe. Odtekel Supabase service-role ključ ob manjkajoči RLS je hujši kot vsaka najdba zase — poročilo to izpostavi. Več ponudnikov identitete (Clerk + Auth0 + lastna avtentikacija) v isti aplikaciji je strukturna najdba, označena za pregled.

Vsaka sonda je pasivna: največ eno anonimno branje na vir, z zabeleženo obliko odziva, vendar vsebina vrstic nikoli ne strani ali shrani. Sonde za pisanje in spreminjanje so omejene s preverjenim lastništvom domene — nikoli ne tečejo proti neverificiranim ciljem.

Kaj skener najde po ponudniku

Vsak BaaS-ponudnik ima drugačno površino in drugačno strategijo pregleda. Tu je, kar je pokrito:

  • Supabase: manjkajoča RLS na tabelah, anonimno naštevljiva vedra shrambe, odtekel service_role-JWT ali ključ sb_secret_* v snopu, izpostavljene sheme prek anonimnega izpisa OpenAPI. Glejte Skener Supabase RLS in Kontrolni seznam za shrambo.
  • Firebase: pravila if true v Firestore, Realtime Database in Cloud Storage; anonimno naštevljiva vedra Storage; manjkajoče uveljavljanje App Check. Glejte Skener pravil Firebase in Razlaga pravila if-true.
  • Clerk: pakirani skrivnostni ključi sk_*, pk_test_* v produkciji, manjkajoče preverjanje podpisa webhooka, nadomestni dovoljeni izvori. Glejte Kontrolni seznam Clerk.
  • Auth0: pakirane skrivnosti odjemalca, omogočena Implicit-odobritev, nadomestni URL-ji za povratni klic / odjavo, manjkajoč PKCE na SPA. Glejte Kontrolni seznam Auth0.

Kako se BaaS-skener primerja s splošnimi DAST- in SAST-orodji

BaaS-ozaveščen skener opravi specifično delo, ki ga druga orodja ne. Primerjava:

VidikFixVibe (BaaS-ozaveščeni DAST)Splošni DAST (Burp / ZAP)SAST / SCA (Snyk / Semgrep)
Pokritost BaaSDomorodni pregledi za Supabase, Firebase, Clerk, Auth0, AppwriteGeneričen spletni pregled; brez sond, specifičnih za ponudnikaStatična analiza samo repozitorija; brez potrditve v produkciji
Čas postavitveURL → zaženi → rezultati v 60 sekundahUre: konfiguracija pajka, avtentikacije, obsegaDan: integracija v CI repozitorija
Kaj dokažeIzvajalna izpostavljenost v produkciji s HTTP-dokaziRanljivosti spletnih aplikacij (XSS, SQLi); BaaS prek ročne konfig.Kodni vzorci, ki se lahko izdajo ali ne
Pregled snopa JavaScriptDešifrira JWT-je, ujema predpone skrivnosti, prečesava koseOmejeno — samo grep, osnovan na nizihDa, vendar le na strani repozitorija, ne v uvedbi
Neprekinjeno skeniranjeMesečno / ob uvedbi prek API + MCPRočno; razpored konfigurirate samiNa vsak commit (dobro za kodo, slepo za izvajanje)
Cena za posameznika / malo ekipoBrezplačni paket; plačljivo od 19 $/mesecBurp Pro 499 $/leto; ZAP brezplačen, a visoka stopnja lažno pozitivnihSnyk brezplačen / Semgrep brezplačen; plačljivi paketi od 25 $/razvijalca

Iskren obseg: česa ta skener ne nadomešča

BaaS-ozaveščen DAST-skener je osredotočeno orodje, ne celovit varnostni program. Ne:

  • Ne nadomešča SAST ali SCA. Statična analiza najde CVE-je odvisnosti (Snyk, Semgrep) in ranljivosti na ravni kode (SonarQube), ki jih DAST-skener ne more. Uporabljajte oboje.
  • Ne nadomešča ročnih penetracijskih testov. Človeški pentester najde napake poslovne logike, robne primere avtorizacije in verižene ranljivosti, ki jih noben skener ne more. Pred večjo izdajo ali skladnostnim pregledom najemite pentesterja.
  • Ne pregleda vaše kode ali repozitorija za skrivnosti v Git-zgodovini. Pregled bundle-secrets pokriva, kar je trenutno izdano, ne, kar je bilo zgodovinsko zaveženo. Za higieno repozitorija uporabite git-secrets ali gitleaks.
  • Ne pokriva ne-BaaS zalednih storitev. Če vaša aplikacija uporablja lastno zaledje (Express, Rails, Django, FastAPI), FixVibe skenira njeno HTTP-površino, vendar ne sondira baze podatkov ali infrastrukture za njo. To je ozemlje splošnega DAST + SAST.

Pogosto zastavljena vprašanja

Ali krovni pregled deluje, če moja aplikacija uporablja dva BaaS-ponudnika (npr. Supabase + Clerk)?

Da — prstno odtisovanje ponudnika in sonde po ponudniku so neodvisne. Skener oba zazna, izvede oba nabora pregledov in poroča navzkrižne korelacije med ponudniki (npr. Supabase-JWT-predloga iz Clerk, ki izda email kot zahtevek, ob manjkajoči RLS).

Kako se to razlikuje od zagona Burp Suite Pro proti moji aplikaciji?

Burp je splošna DAST-delovna miza. Iz škatle Burp ne ve, kaj je PostgREST, Firestore ali Auth0-pot povratnega klica — ročno morate konfigurirati obseg, pisati razširitve in interpretirati odzive. FixVibe pride z vgrajenimi BaaS-sondami in BaaS-oblikovanim oblikovanjem dokazov. Burp zmaga pri splošni pokritosti spletnih aplikacij (XSS, SQLi, poslovna logika); FixVibe zmaga pri najdbah, specifičnih za BaaS.

Kaj pa App Check (Firebase) ali attestacija (Apple / Google)?

App Check pri vsaki sondi oportunističnih zunanjih skenerjev vrne 403 — pravilen izid za zlonamerni bot. FixVibe-pregled iz neatestiranega odjemalca se obnaša enako. Če imate omogočen App Check in FixVibe še vedno poroča najdbe, pomeni, da so vaša pravila odprta tudi za atestirane odjemalce, kar je dejansko tveganje. App Check + pravilna pravila je vzorec večplastne obrambe.

Ali skener lahko preveri moj popravek?

Da — po uporabi popravka znova zaženite. ID-ji preverjanj (npr. baas.supabase-rls) so stabilni med zagoni, tako da lahko najdbe primerjate: najdba, ki je bila v zagonu 1 odprta in je v zagonu 2 odsotna, je dokaz, da je popravek prijel.

Naslednji koraki

Zaženite brezplačen FixVibe-pregled proti svojemu produkcijskemu URL-ju — pregledi v fazi BaaS so v vsakem paketu, vključno z brezplačnim. Za poglobitve, specifične za ponudnika, posamezni članki v tem razdelku obravnavajo vsakega ponudnika podrobno: Supabase RLS, Izpostavljenost service-role ključa Supabase, Supabase Storage, Pravila Firebase, Firebase if-true, Clerk in Auth0.

// preglejte svojo baas-površino

Najdite odprto tabelo, preden jo kdo drug.

Vnesite produkcijski URL. FixVibe ugotovi, s katerimi BaaS-ponudniki vaša aplikacija govori, prepozna njihove javne končne točke in poroča, kaj lahko nepristni odjemalec prebere ali zapiše. Brezplačno, brez namestitve, brez kartice.

  • Brezplačni paket — 3 skeniranja na mesec, brez kartice ob prijavi.
  • Pasivno prstno odtisovanje BaaS — preverjanje lastništva domene ni potrebno.
  • Supabase, Firebase, Clerk, Auth0, Appwrite in več.
  • Pozivi za UI-popravke pri vsakem najdenem problemu — prilepite nazaj v Cursor / Claude Code.
Skener napačnih konfiguracij BaaS: najdite javne podatkovne poti, preden to storijo uporabniki — Docs · FixVibe