FixVibe

// docs / baas security / umbrella scanner

Skener chybných konfigurací BaaS: najděte veřejné datové cesty dříve než uživatelé

Poskytovatelé Backend-as-a-Service — Supabase, Firebase, Clerk, Auth0, Appwrite, Convex — všichni selhávají v zabezpečení ve stejném tvaru: platforma dodává rozumné výchozí hodnoty, vývojář (nebo AI nástroj pro kódování) sáhne po zkratce a otevře se veřejná cesta mezi neověřeným útočníkem a daty zákazníka. Skener chybných konfigurací BaaS je jediný nástroj, který sonduje tuto cestu zvenčí tak, jak by to udělal útočník. Tento článek mapuje pět opakujících se tříd chybných konfigurací, vysvětluje, jak funguje zastřešující FixVibe BaaS sken, porovnává čtyři hlavní poskytovatele a srovnává skener s povědomím o BaaS s obecnými DAST nástroji.

Proč mají chybné konfigurace BaaS opakující se tvar

Každá BaaS platforma má stejnou architekturu: spravovaný backend s tenkým klient SDK, který s ním komunikuje z prohlížeče. Klient orientovaný na prohlížeč potřebuje nějaký přihlašovací údaj — anon klíč, publishable klíč, ID projektu Firebase — aby se identifikoval backendu. Tento přihlašovací údaj je úmyslně veřejný; bezpečnost architektury spočívá na tom, že kontroly přístupu na úrovni platformy (RLS, pravidla, allowlisty) dělají svou práci.

AI nástroje pro kódování staví na této architektuře, aniž by si internalizovaly vrstvu kontrol platformy. Zapojují klient SDK správně, přijímají výchozí permisivní pravidla platformy (která existují pro tutoriálovou přívětivost) a vydávají. Opakující se tvar je: veřejný přihlašovací údaj + výchozí permisivní pravidlo + chybějící override = vystavení dat. Pět tříd chybných konfigurací níže jsou všechny varianty tohoto tvaru.

Pět opakujících se tříd chybných konfigurací

Objevují se u každého poskytovatele BaaS. Kompletní sken pokrývá všech pět proti každému používanému poskytovateli:

Třída 1: Špatný klíč v balíčku prohlížeče

Prohlížeč odesílá secret/admin klíč (Supabase service_role, Firebase Admin SDK privátní klíč, Clerk sk_*, Auth0 client secret) místo veřejného/anon ekvivalentu. Prohlížeč se stává neomezeným admin klientem. Pokryto FixVibe kontrolou bundle-secrets.

Třída 2: Vrstva kontroly přístupu vypnutá nebo permisivní

RLS je vypnuté, Firebase pravidla jsou if true, callback list Auth0 má wildcard. Přihlašovací údaj v prohlížeči je správný — ale hranice na úrovni platformy, která ho měla omezit, svou práci nedělá.

Třída 3: Anonymní čtení citlivých zdrojů

Anonymně čitelné kolekce Firestore, anonymně vypsatelné koše úložiště Supabase, anonymně dostupné Auth0 management API. Sken se ptá: "bez přihlašovacích údajů, co mohu číst?"

Třída 4: Artefakty test-mode v produkci

Testovací klíče (pk_test_*, sb_test_*) v produkčním nasazení; dev-mode Firebase aplikace dosažitelné z živé domény; testovací-tenant Auth0 aplikace se slabším nastavením než produkce. Sken porovnává runtime klíče s očekávanými produkčními prefixy.

Třída 5: Chybí ověření podpisu webhooku

Webhooky Clerk, Stripe webhooky, Supabase webhooky — všechny podepisují své payloady. Handler, který neověřuje podpis, je primitivem pro zápis do databáze pro jakéhokoliv útočníka, který uhádne URL. Detekováno přes tvar odpovědi — nepodepsaný požadavek, který dostane 200, znamená, že je ověření přeskočeno.

Jak funguje zastřešující BaaS sken FixVibe

BaaS fáze FixVibe probíhá ve třech fázích, každá produkuje odlišné nálezy:

  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. Fáze 2 — sondy specifické pro poskytovatele. Pro každého detekovaného poskytovatele skener spouští kontrolu specifickou pro poskytovatele: baas.supabase-rls sonduje PostgREST; baas.firebase-rules sonduje Firestore + RTDB + Storage; baas.clerk-auth0 validuje prefix klíčů v balíčku; kontrola bundle-secrets validuje, že neunikly žádné přihlašovací údaje servisní úrovně. Každá sonda běží nezávisle — Supabase nález neblokuje Firebase sken.
  3. Fáze 3 — křížová korelace mezi poskytovateli. Skener křížově odkazuje nálezy. Uniklý klíč servisní role Supabase vedle chybějícího RLS je závažnější než kterýkoliv nález sám — zpráva to nadnese. Více poskytovatelů identity (Clerk + Auth0 + vlastní auth) ve stejné aplikaci je strukturální nález označený k revizi.

Každá sonda je pasivní: maximálně jedno anonymní čtení na zdroj, s tvarem odpovědi zaznamenaným, ale obsah řádku se nikdy nestránkuje ani neukládá. Sondy zápisu a úpravy jsou podmíněny ověřeným vlastnictvím domény — nikdy nestřílejí proti neověřeným cílům.

Co skener u jednotlivých poskytovatelů najde

Každý poskytovatel BaaS má jiný povrch a jinou strategii skenování. Co je pokryto:

  • Supabase: chybějící RLS na tabulkách, anonymně vypsatelné úložné koše, uniklý JWT service_role nebo klíč sb_secret_* v balíčku, vystavené schémata přes anonymní výpis OpenAPI. Viz Skener Supabase RLS a Kontrolní seznam úložiště.
  • Firebase: pravidla if true na Firestore, Realtime Database a Cloud Storage; anonymně vypsatelné Storage koše; chybějící vynucení App Check. Viz Skener pravidel Firebase a Vysvětlení pravidla if-true.
  • Clerk: klíče sk_* secret v balíčku, pk_test_* v produkci, chybějící ověření podpisu webhooku, wildcard povolené origins. Viz Kontrolní seznam Clerk.
  • Auth0: client secrets v balíčku, povolený Implicit grant, wildcard callback / logout URL, chybějící PKCE na SPA. Viz Kontrolní seznam Auth0.

Jak srovnává BaaS skener s obecnými DAST a SAST nástroji

Skener s povědomím o BaaS dělá specifickou práci, kterou jiné nástroje nedělají. Srovnání:

AspektFixVibe (DAST s povědomím o BaaS)Obecné DAST (Burp / ZAP)SAST / SCA (Snyk / Semgrep)
Pokrytí BaaSNativní kontroly pro Supabase, Firebase, Clerk, Auth0, AppwriteObecné procházení webu; žádné sondy specifické pro poskytovateleStatická analýza pouze repa; žádná validace produkce
Doba nastaveníURL → spustit → výsledky za 60 sekundHodiny: konfigurace spideru, autentizace, rozsahuDen: integrace do CI repozitáře
Co prokazujeVystavení v produkčním runtime s důkazem na úrovni HTTPWebové vulns (XSS, SQLi); BaaS přes manuální konfiguraciVzory kódu, které možná nasadí, možná ne
Inspekce JavaScript balíčkuDekóduje JWT, porovnává prefixy tajemství, prochází chunkyOmezené — pouze řetězcový grepAno, ale pouze na straně repa, ne nasazené
Průběžné skenováníMěsíčně / při nasazení přes API + MCPRučně; rozvrh si nakonfigurujte samiPři každém commitu (dobré pro kód, slepé k runtime)
Cena pro jednotlivce / malý týmBezplatná úroveň; placené od $19/měsBurp Pro $499/rok; ZAP zdarma, ale vysoký počet false positivesSnyk zdarma / Semgrep zdarma; placené úrovně od $25/dev

Upřímný rozsah: co tento skener nenahrazuje

DAST skener s povědomím o BaaS je zaměřený nástroj, ne kompletní bezpečnostní program. Nedělá:

  • Nenahrazuje SAST nebo SCA. Statická analýza najde závislostní CVE (Snyk, Semgrep) a zranitelnosti na úrovni kódu (SonarQube), které DAST skener nedokáže. Spusťte oboje.
  • Nenahrazuje manuální penetrační testování. Lidský pentester najde chyby business logiky, autorizační okrajové případy a zřetězené zranitelnosti, které žádný skener nedokáže. Najměte si pentestera před velkým spuštěním nebo auditem souladu.
  • Neaudituje váš kód nebo repo na tajemství v git historii. Kontrola bundle-secrets pokrývá to, co je aktuálně nasazené, nikoliv to, co bylo historicky zacommitováno. Pro hygienu repa použijte git-secrets nebo gitleaks.
  • Nepokrývá ne-BaaS backendové služby. Pokud vaše aplikace používá vlastní backend (Express, Rails, Django, FastAPI), FixVibe skenuje jeho HTTP povrch, ale nesonduje databázi nebo infrastrukturu za ním. To je území obecného DAST + SAST.

Často kladené otázky

Funguje zastřešující sken, pokud moje aplikace používá dva poskytovatele BaaS (např. Supabase + Clerk)?

Ano — snímání otisků poskytovatele a sondy pro jednotlivé poskytovatele jsou nezávislé. Skener detekuje oba, spustí oba balíky kontrol a hlásí mezi-poskytovatelské korelace (např. JWT šablona Supabase z Clerk, která posílá email jako nárok vedle chybějícího RLS).

Jak se to liší od běhu Burp Suite Pro proti mé aplikaci?

Burp je obecný DAST workbench. Out-of-the-box Burp neví, co je PostgREST, Firestore nebo callback cesta Auth0 — musíte ručně konfigurovat rozsah, psát rozšíření a interpretovat odpovědi. FixVibe se dodává s vestavěnými BaaS sondami a formátováním důkazů ve tvaru BaaS. Burp vyhrává v obecném pokrytí webových aplikací (XSS, SQLi, business logika); FixVibe vyhrává v nálezech specifických pro BaaS.

Co App Check (Firebase) nebo attestation (Apple / Google)?

App Check způsobuje, že oportunistické externí skeny vracejí 403 u každé sondy — což je správný výsledek pro škodlivého bota. FixVibe sken z neatestovaného klienta se chová stejně. Pokud máte App Check zapnutý a FixVibe stále hlásí nálezy, znamená to, že vaše pravidla jsou otevřená i pro atestované klienty, což je skutečné riziko. App Check + správná pravidla je vzor defense-in-depth.

Může skener ověřit moji opravu?

Ano — spusťte znovu po aplikaci opravy. ID kontrol (např. baas.supabase-rls) jsou stabilní napříč spuštěními, takže můžete diffovat nálezy: nález, který byl open ve spuštění 1 a chybí ve spuštění 2, je důkaz, že oprava dorazila.

Další kroky

Spusťte bezplatný FixVibe sken proti vaší produkční URL — BaaS-fázové kontroly se dodávají na každém tarifu, včetně bezplatné úrovně. Pro hluboké ponoření do jednotlivých poskytovatelů pokrývají jednotlivé články v této sekci každého poskytovatele podrobně: Supabase RLS, vystavení servisního klíče Supabase, úložiště Supabase, pravidla Firebase, Firebase if-true, Clerk a Auth0.

// naskenujte svůj baas povrch

Najděte otevřenou tabulku dříve, než to udělá někdo jiný.

Zadejte produkční URL. FixVibe vyjmenuje poskytovatele BaaS, se kterými vaše aplikace komunikuje, sejme otisky jejich veřejných koncových bodů a nahlásí, co může neověřený klient číst nebo zapisovat. Zdarma, bez instalace, bez karty.

  • Bezplatná úroveň — 3 skeny / měsíc, bez karty při registraci.
  • Pasivní snímání otisků BaaS — bez nutnosti ověření domény.
  • Supabase, Firebase, Clerk, Auth0, Appwrite a další.
  • AI návrhy oprav u každého nálezu — vložte zpět do Cursor / Claude Code.
Spustit bezplatný sken BaaS

registrace není potřeba

Skener chybných konfigurací BaaS: najděte veřejné datové cesty dříve než uživatelé — Docs · FixVibe