FixVibe

// docs / baas security / umbrella scanner

BaaS väärseadistuse skanner: leia avalikud andmerajad enne kasutajaid

Backend-as-a-Service pakkujad — Supabase, Firebase, Clerk, Auth0, Appwrite, Convex — kõik ebaõnnestuvad turvalisuses sama kuju järgi: platvorm tarnitakse mõistlike vaikeväärtustega, arendaja (või AI-koodimistööriist) sirutab käe otsetee järele ja avalik rada avaneb autentimata ründaja ja kliendiandmete vahel. BaaS väärseadistuse skanner on ainus tööriist, mis sondeerib seda rada väljast nii nagu seda teeks ründaja. See artikkel kaardistab viis korduvat väärseadistuste klassi, selgitab, kuidas FixVibe üldine BaaS-skannimine töötab, võrdleb nelja peamist pakkujat ja kontrastib BaaS-teadlikku skannerit üldiste DAST-tööriistadega.

Miks BaaS väärseadistustel on korduv kuju

Iga BaaS-platvorm järgib sama arhitektuuri: hallatud backend ohukliendi-SDK-ga, mis brauserist sellega räägib. Brauserile suunatud klient vajab mingit mandaati — anon-võti, avaldatav võti, Firebase'i projekti ID — et end backendile tutvustada. See mandaat on tahtlikult avalik; arhitektuuri turvalisus tugineb sellele, et platvormi-tasandi juurdepääsukontroll (RLS, reeglid, allowlistid) oma tööd teeb.

AI-koodimistööriistad ehitavad selle arhitektuuri peale ilma platvormi-kontrolli kihti omaks võtmata. Nad ühendavad klient-SDK õigesti, võtavad vastu platvormi vaikimisi lubavad reeglid (mis eksisteerivad õppe-sõbralikkuse pärast) ja juurutavad. Korduv kuju on: avalik mandaat + lubav vaikereegel + puuduv ülekirjutus = andmete paljastus. Allpool olevad viis väärseadistuste klassi on kõik selle kuju variandid.

Viis korduvat väärseadistuste klassi

Need esinevad iga BaaS-pakkuja juures. Täielik skannimine katab kõik viis kasutusel oleva iga pakkuja vastu:

Klass 1: Vale võti brauseripakis

Brauser tarnitakse saladuse / administraatori võtmega (Supabase service_role, Firebase Admin SDK privaatvõti, Clerk sk_*, Auth0 kliendi-saladus) avaliku / anon ekvivalendi asemel. Brauserist saab piiramata administraatori-klient. Kaetud FixVibe bundle-secrets-kontrolliga.

Klass 2: Juurdepääsukontrolli kiht välja lülitatud või lubav

RLS on väljas, Firebase reeglid on if true, Auth0 callback-loend on metasümboliga. Mandaat brauseris on õige — kuid platvormi-tasandi piirang, mis pidi seda piirama, ei tee oma tööd.

Klass 3: Anonüümsed lugemised tundlikest ressurssidest

Anon-loetavad Firestore kollektsioonid, anon-loendatavad Supabase salvestuskonteinerid, anon-juurdepääsetav Auth0 Management API. Skannimine küsib: "mandaate ei ole, mida ma lugeda saan?"

Klass 4: Test-mode'i artefaktid tootmises

Test-võtmed (pk_test_*, sb_test_*) tootmise juurutuses; dev-mode Firebase'i rakendused jõudvalt elavast domeenist; test-rentniku Auth0 rakendused nõrgemate seadetega kui tootmises. Skannimine võrdleb käitusaja võtmeid eeldatud tootmise eesliidetega.

Klass 5: Webhooki allkirja kontroll puudub

Clerki webhookid, Stripe'i webhookid, Supabase'i webhookid kõik allkirjastavad oma kasulikke koormusi. Käsitleja, mis allkirja ei kontrolli, on andmebaasi-kirjutamise primitiiv igale ründajale, kes URL-i ära arvab. Tuvastatakse vastuse kuju kaudu — allkirjastamata päring, mis saab 200, tähendab, et kontroll on vahele jäetud.

Kuidas FixVibe üldine BaaS-skannimine töötab

FixVibe BaaS-faas töötab kolmes etapis, igaüks toodab erinevaid leide:

  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. Etapp 2 — pakkuja-spetsiifilised sondid. Iga tuvastatud pakkuja jaoks käivitab skanner pakkuja-spetsiifilise kontrolli: baas.supabase-rls sondeerib PostgRESTi; baas.firebase-rules sondeerib Firestore + RTDB + Storage'i; baas.clerk-auth0 valideerib paki sisse jätkatud võtmete eesliite; bundle-secrets-kontroll valideerib, et ühtegi service-tasemel mandaati ei ole lekkinud. Iga sond töötab iseseisvalt — Supabase leid ei blokeeri Firebase'i skannimist.
  3. Etapp 3 — risti-pakkuja korrelatsioon. Skanner ristviitestab leide. Lekkinud Supabase service-role'i võti koos puuduva RLS-iga on tõsisem kui kumbki leid eraldi — aruanne tõstab selle esile. Mitmed identiteedi-pakkujad (Clerk + Auth0 + kohandatud auth) samas rakenduses on struktuurne leid, mis on märgitud ülevaateks.

Iga sond on passiivne: ressursi kohta kõige rohkem üks anonüümne lugemine, kus vastuse kuju on salvestatud, kuid rea-sisu pole kunagi lehekülgendatud ega salvestatud. Kirjutus- ja muutmissondid on piiratud kinnitatud domeeniomandi taha — neid ei käivitata kunagi kinnitamata sihtmärkide vastu.

Mida skanner pakkuja kohta leiab

Igal BaaS-pakkujal on erinev pind ja erinev skannimise strateegia. Siin on kaetud:

  • Supabase: puuduv RLS tabelitel, anon-loendatavad salvestuskonteinerid, lekkinud service_role-JWT või sb_secret_*-võti pakis, paljastunud skeemid anonüümse OpenAPI loetelu kaudu. Vaata Supabase RLS-skanner ja Salvestuse kontrollnimekiri.
  • Firebase: if true-reeglid Firestoreis, Realtime Database'is ja Cloud Storage'is; anon-loendatavad Storage konteinerid; puuduv App Check'i jõustamine. Vaata Firebase reeglite skanner ja If-true reegli selgitaja.
  • Clerk: paki sisse jätkatud sk_*-saladusvõtmed, pk_test_* tootmises, puuduv webhooki allkirja kontroll, metasümboliga lubatud originid. Vaata Clerki kontrollnimekiri.
  • Auth0: paki sisse jätkatud kliendi-saladused, Implicit grant lubatud, metasümbolitega callback / logout URL-id, puuduv PKCE SPA-del. Vaata Auth0 kontrollnimekiri.

Kuidas BaaS-skanner võrdleb üldiste DAST ja SAST-tööriistadega

BaaS-teadlik skanner teeb spetsiifilist tööd, mida teised tööriistad ei tee. Võrdlus:

AspektFixVibe (BaaS-teadlik DAST)Üldine DAST (Burp / ZAP)SAST / SCA (Snyk / Semgrep)
BaaS-katvusSisseehitatud kontrollid Supabase, Firebase, Clerk, Auth0, Appwrite jaoksÜldine veebi-roomamine; pakkuja-spetsiifilisi sonde poleStaatiline analüüs ainult reposse; tootmise valideerimist pole
Seadistuse aegURL → käivita → tulemused 60 sekundigaTunnid: seadista spider, auth, skoobiPäev: integreeri repo CI-sse
Mida tõestabTootmise käitusaja paljastus HTTP-tasemel tõendusmaterjaligaVeebi-rakenduse haavatavused (XSS, SQLi); BaaS käsitsi seadistamise kauduKoodimustrid, mis võivad juurutuda või mitte
JavaScripti paki kontrollDekodeerib JWT-d, vastab saladuse eesliidetele, kõnnib läbi tükidPiiratud — ainult stringi-põhine grepJah, kuid ainult repo-poolt, mitte juurutatud
Pidev skannimineKuus / juurutusel API + MCP kauduKäsitsi; seadista ajastus iseIga kommiti puhul (hea koodile, käitusajale pime)
Hind üksiku / väikese meeskonna jaoksTasuta tase; tasuline alates 19 dollarit/kuusBurp Pro 499 dollarit/aastas; ZAP tasuta, kuid palju valepositiivseidSnyk tasuta / Semgrep tasuta; tasulised alates 25 dollarit/arendaja

Aus skoobi: mida see skanner ei asenda

BaaS-teadlik DAST-skanner on sihitud tööriist, mitte täielik turvaprogramm. See ei:

  • Asenda SAST-i ega SCA-d. Staatiline analüüs leiab sõltuvuste CVE-d (Snyk, Semgrep) ja koodi-tasemel haavatavusi (SonarQube), mida DAST-skanner ei suuda. Käivita mõlemad.
  • Asenda käsitsi tehtud läbistustestimist. Inimene-pentester leiab ärlilooduslikud vead, autoriseerimise serva-juhtumid ja aheldatud haavatavused, mida ükski skanner ei suuda. Palka pentester enne suuremat lansseerimist või vastavusauditi.
  • Auditeeri koodi või repot saladuste suhtes giti ajaloos. Bundle-secrets-kontroll katab seda, mis on praegu juurutatud, mitte seda, mis ajalooliselt kommititud on. Kasuta repo hügieeni jaoks git-secrets-i või gitleaks-i.
  • Kata mitte-BaaS-i tagaserveri-teenused. Kui sinu rakendus kasutab kohandatud tagaserverit (Express, Rails, Django, FastAPI), skannib FixVibe selle HTTP-pinda, kuid ei sondeeri selle taga olevat andmebaasi ega infrastruktuuri. See on üldine DAST + SAST territoorium.

Korduma kippuvad küsimused

Kas üldine skannimine töötab, kui mu rakendus kasutab kahte BaaS-pakkujat (nt Supabase + Clerk)?

Jah — pakkuja sõrmejälgede võtmine ja pakkuja-kohased sondid on sõltumatud. Skanner tuvastab mõlemad, jookseb läbi mõlemad kontrollikomplektid ja teatab risti-pakkuja korrelatsioonidest (nt Clerki Supabase'i JWT-mall, mis saadab email väitena, kombineerituna puuduva RLS-iga).

Kuidas see erineb Burp Suite Pro käivitamisest mu rakenduse vastu?

Burp on üldine DAST-tööruum. Karbist välja ei tea Burp, mis on PostgREST, Firestore ega Auth0 callback-rada — sa pead käsitsi skoobi seadistama, laiendusi kirjutama ja vastuseid tõlgendama. FixVibe tarnitakse sisseehitatud BaaS-sondidega ja BaaS-kujulise tõendusmaterjali vormindamisega. Burp võidab üldise veebi-rakenduse katvuse osas (XSS, SQLi, äriloogika); FixVibe võidab BaaS-spetsiifiliste leidude osas.

Mis on App Check'iga (Firebase) või kinnitamisega (Apple / Google)?

App Check muudab oportunistlikud välised skannimised igal sondil 403-i tagastama — õige tulemus pahatahtliku botile. FixVibe-skannimine kinnitamata kliendilt käitub samamoodi. Kui sul on App Check lubatud ja FixVibe teatab ikkagi leide, tähendab see, et sinu reeglid on avatud ka kinnitatud klientidele, mis on tegelik risk. App Check + õiged reeglid on kaitse-sügavuse muster.

Kas skanner saab kontrollida mu paranduse?

Jah — käivita uuesti pärast paranduse rakendamist. Kontrolli ID-d (nt baas.supabase-rls) on käivitusüleselt stabiilsed, nii et saad leide diffida: leid, mis oli käivituses 1 avatud ja käivituses 2 puudub, on tõend, et parandus on jõustunud.

Järgmised sammud

Käivita tasuta FixVibe-skannimine oma tootmise URL-i vastu — BaaS-faasi kontrollid tarnitakse igas plaanis, sealhulgas tasuta tasemel. Pakkuja-spetsiifiliste süvauurimiste jaoks katavad selle jaotise üksikud artiklid iga pakkujat detailselt: Supabase RLS, Supabase service-võtme paljastus, Supabase salvestus, Firebase reeglid, Firebase if-true, Clerk ja Auth0.

// skanni oma baas-pinda

Leia avatud tabel enne, kui keegi teine seda teeb.

Anna ette tootmise URL. FixVibe loendab BaaS-pakkujad, kellega sinu rakendus suhtleb, võtab nende avalikest otspunktidest sõrmejäljed ja teatab, mida autentimata klient lugeda või kirjutada saab. Tasuta, paigaldust ei vaja, kaarti ei vaja.

  • Tasuta tase — 3 skannimist kuus, registreerimiseks kaarti ei vaja.
  • Passiivne BaaS-sõrmejäljevõtmine — domeeni kinnitamist ei vaja.
  • Supabase, Firebase, Clerk, Auth0, Appwrite ja palju muud.
  • AI-paranduskäskluse leid igale leiule — kleebi tagasi Cursor / Claude Code'i.
Käivita tasuta BaaS-skannimine

registreerimist ei nõuta

BaaS väärseadistuse skanner: leia avalikud andmerajad enne kasutajaid — Docs · FixVibe