FixVibe

// docs / baas security / umbrella scanner

BaaS սխալ կարգավորման սկաներ․ գտիր հանրային տվյալների ուղիները, քանի դեռ օգտատերերը չեն

Backend-as-a-Service մատակարարները — Supabase, Firebase, Clerk, Auth0, Appwrite, Convex — բոլորն ձախողվում են անվտանգության մեջ նույն ձևով․ հարթակն առաքում է ողջամիտ լռելյայններ, ծրագրավորողը (կամ AI-ի կոդավորման գործիքը) հասնում է կարճուղու, և հանրային ուղի է բացվում չվավերացված հարձակվողի և հաճախորդի տվյալների միջև։ BaaS սխալ կարգավորման սկաները միակ գործիքն է, որ ստուգում է այդ ուղին դրսից այնպես, ինչպես հարձակվողը կաներ։ Այս հոդվածը քարտեզագրում է կրկնվող սխալ կարգավորման հինգ դասերը, բացատրում, թե ինչպես է աշխատում FixVibe-ի umbrella BaaS սկանը, համեմատում չորս հիմնական մատակարարներին, և հակադրում BaaS-ին տեղյակ սկաները ընդհանուր DAST գործիքների հետ։

Ինչու BaaS սխալ կարգավորումներն ունեն կրկնվող ձև

Յուրաքանչյուր BaaS հարթակ հետևում է նույն ճարտարապետությանը․ կառավարվող backend, թին client SDK-ով, որ նրա հետ խոսում է զննարկչից։ Զննարկչին նայող client-ին անհրաժեշտ է որևէ հավատարմագիր — anon բանալի, publishable բանալի, Firebase project ID — backend-ին իրեն նույնականացնելու համար։ Այդ հավատարմագիրը նպատակային հանրային է. ճարտարապետության անվտանգությունը հենվում է հարթակ-մակարդակի մուտքի վերահսկման (RLS, rules, allowlist-ներ) իր գործն անելու վրա։

AI-ի կոդավորման գործիքները կառուցում են այս ճարտարապետության վրա, առանց ներքաշելու հարթակ-վերահսկման շերտը։ Նրանք լարում են client SDK-ն ճիշտ, ընդունում հարթակի լռելյայն թույլտու կանոնները (որ գոյություն ունեն ձեռնարկ-բարեկամ լինելու համար), և առաքում։ Կրկնվող ձևն է․ հանրային հավատարմագիր + թույլտու լռելյայն կանոն + բացակայող override = տվյալների բացահայտում։ Ստորև սխալ կարգավորման հինգ դասերը այս ձևի տարբերակներն են։

Կրկնվող սխալ կարգավորման հինգ դասերը

Սրանք հայտնվում են յուրաքանչյուր BaaS մատակարարի մոտ։ Ամբողջական սկանն ընդգրկում է բոլոր հինգը՝ յուրաքանչյուր օգտագործվող մատակարարի դեմ․

Դաս 1․ Սխալ բանալին զննարկիչի bundle-ում

Զննարկիչը առաքում է secret/admin բանալին (Supabase service_role, Firebase Admin SDK մասնավոր բանալի, Clerk sk_*, Auth0 client secret) public/anon համարժեքի փոխարեն։ Զննարկիչը դառնում է չսահմանափակ admin client։ Ընդգրկված է FixVibe-ի bundle-secrets ստուգման կողմից։

Դաս 2․ Մուտքի-վերահսկման շերտը անջատված կամ թույլտու

RLS-ն անջատված է, Firebase rules-ը if true է, Auth0 callback ցուցակը wildcard-ով։ Զննարկչում գտնվող հավատարմագիրը ճիշտն է — բայց հարթակ-մակարդակի սահմանը, որը պետք էր սահմանափակեր, իր գործը չի անում։

Դաս 3․ Զգայուն ռեսուրսների անանուն ընթերցումներ

Anon-ընթերցելի Firestore collection-ներ, anon-listable Supabase storage bucket-ներ, anon-մատչելի Auth0 management API։ Սկանը հարցնում է․ «առանց հավատարմագրերի, ի՞նչ կարող եմ կարդալ»։

Դաս 4․ Թեստ-ռեժիմի արտեֆակտներ production-ում

Test բանալիներ (pk_test_*, sb_test_*) production deploy-ում. dev-ռեժիմի Firebase հավելվածներ՝ հասանելի live տիրույթից. test-tenant Auth0 հավելվածներ՝ ավելի թույլ կարգավորումներով, քան production-ը։ Սկանը համեմատում է runtime բանալիները ակնկալվող production նախածանցների դեմ։

Դաս 5․ Webhook-ի ստորագրության վավերացումը բացակայում է

Clerk webhook-ները, Stripe webhook-ները, Supabase webhook-ները բոլորն ստորագրում են իրենց payload-ները։ Handler, որ չի վավերացնում ստորագրությունը, տվյալների բազայի-գրառման պրիմիտիվ է ցանկացած հարձակվողի համար, ով գուշակում է URL-ը։ Հայտնաբերվում է պատասխանի ձևի միջոցով — չստորագրված հարցում, որ ստանում է 200, նշանակում է, որ վավերացումը բաց է թողնված։

Ինչպես է աշխատում FixVibe-ի umbrella BaaS սկանը

FixVibe-ի BaaS փուլն աշխատում է երեք փուլով, ամեն մեկն արտադրելով տարբեր գտածոներ․

  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. Փուլ 2 — մատակարար-հատուկ ստուգումներ։ Յուրաքանչյուր հայտնաբերված մատակարարի համար, սկաները գործարկում է մատակարար-հատուկ ստուգում․ baas.supabase-rls-ն ստուգում է PostgREST-ը. baas.firebase-rules-ն ստուգում է Firestore-ը + RTDB-ն + Storage-ը. baas.clerk-auth0-ն վավերացնում է bundle-ված բանալիների նախածանցը. bundle-secrets ստուգումն վավերացնում է, որ ոչ մի service-մակարդակի հավատարմագիր չի արտահոսել։ Յուրաքանչյուր ստուգում աշխատում է անկախ — Supabase գտածոն չի արգելափակում Firebase սկանը։
  3. Փուլ 3 — մատակարարների միջև փոխկապակցում։ Սկաները խաչաձև հղում է անում գտածոներին։ Արտահոսած Supabase service-role բանալին բացակայող RLS-ի կողքին ավելի լուրջ է, քան որևէ մեկը առանձին — հաշվետվությունն այս պատկերում է։ Մի քանի ինքնության մատակարարներ (Clerk + Auth0 + custom auth) նույն հավելվածում կառուցվածքային գտածո է՝ վերանայման համար նշված։

Յուրաքանչյուր ստուգում պասիվ է․ առավելագույնը մեկ անանուն ընթերցում մեկ ռեսուրսի համար, պատասխանի ձևով գրառված, բայց տողի բովանդակությունը երբեք չի էջագնվում կամ պահպանվում։ Գրառման և փոփոխման ստուգումները սահմանափակված են հաստատված տիրույթի սեփականությամբ — դրանք երբեք չեն աշխատում չհաստատված թիրախների դեմ։

Ինչ է գտնում սկաները յուրաքանչյուր մատակարարի մոտ

Յուրաքանչյուր BaaS մատակարար ունի տարբեր մակերես և տարբեր սկանի ռազմավարություն։ Ահա ինչ է ընդգրկված․

  • Supabase․ table-ների վրա բացակայող RLS, anon-listable storage bucket-ներ, bundle-ում արտահոսած service_role JWT կամ sb_secret_* բանալի, սխեմաների բացահայտում անանուն OpenAPI listing-ի միջոցով։ Տես Supabase RLS սկաներ և Storage ստուգաթերթ։
  • Firebase․ if true կանոններ Firestore-ի, Realtime Database-ի և Cloud Storage-ի վրա. anon-listable Storage bucket-ներ. բացակայող App Check պարտադրում։ Տես Firebase rules սկաներ և If-true կանոնի բացատրիչ։
  • Clerk․ bundle-ված sk_* secret բանալիներ, pk_test_* production-ում, բացակայող webhook-ի ստորագրության վավերացում, wildcard թույլատրված origin-ներ։ Տես Clerk ստուգաթերթ։
  • Auth0․ bundle-ված client secret-ներ, միացված Implicit grant, wildcard callback / logout URL-ներ, SPA-ների վրա բացակայող PKCE։ Տես Auth0 ստուգաթերթ։

Ինչպես է BaaS սկաները համեմատվում ընդհանուր DAST և SAST գործիքների հետ

BaaS-ին տեղյակ սկաները կատարում է հատուկ աշխատանք, որ այլ գործիքները չեն։ Համեմատությունը․

ԱսպեկտFixVibe (BaaS-ին տեղյակ DAST)Ընդհանուր DAST (Burp / ZAP)SAST / SCA (Snyk / Semgrep)
BaaS ծածկույթԲնիկ ստուգումներ Supabase-ի, Firebase-ի, Clerk-ի, Auth0-ի, Appwrite-ի համարԸնդհանուր web crawl. ոչ մատակարար-հատուկ ստուգումներՄիայն repo-ի ստատիկ վերլուծություն. ոչ production վավերացում
Setup-ի ժամանակURL → գործարկում → արդյունքներ 60 վայրկյանումԺամեր․ կարգավորիր spider, auth, scopeՕր․ ինտեգրիր repo CI-ին
Ինչ է ապացուցումProduction-runtime բացահայտում HTTP-մակարդակի ապացույցովWeb-հավելվածի խոցելիություններ (XSS, SQLi). BaaS-ը ձեռքով կարգավորմամբԿոդի նմուշներ, որ կարող են deploy լինել կամ ոչ
JavaScript bundle-ի ստուգումԱպակոդավորում է JWT-ները, համապատասխանեցնում secret նախածանցները, քայլում chunk-ներըՍահմանափակ — միայն string-հիմքով grepԱյո, բայց միայն repo-կողմ, ոչ թողարկված
Շարունակական սկանավորումԱմսական / on-deploy API + MCP-ի միջոցովՁեռքով. կարգավորիր ժամանակացույցը ինքդCommit-ի համար (լավ կոդի համար, կույր runtime-ի համար)
Գին մենակ / փոքր թիմի համարԱնվճար փաթեթ. վճարովի $19/ամսիցBurp Pro $499/տարի. ZAP անվճար, բայց բարձր false positive-ներովSnyk անվճար / Semgrep անվճար. վճարովի փաթեթներ $25/dev-ից

Ազնիվ շրջանակ․ ինչը չի փոխարինում այս սկաները

BaaS-ին տեղյակ DAST սկաները կենտրոնացած գործիք է, ոչ լրիվ անվտանգության ծրագիր։ Այն չի անում.

  • Փոխարինում SAST-ին կամ SCA-ին։ Ստատիկ վերլուծությունը գտնում է dependency CVE-ներ (Snyk, Semgrep) և կոդ-մակարդակի խոցելիություններ (SonarQube), որոնք DAST սկաները չի կարող։ Գործարկիր երկուսն էլ։
  • Փոխարինում ձեռքով penetration testing-ին։ Մարդ pentester-ը գտնում է բիզնես-լոգիկայի թերություններ, վավերացման եզրային դեպքեր և շղթայված խոցելիություններ, որոնք ոչ մի սկաներ չի կարող։ Վարձիր pentester խոշոր մեկնարկից կամ compliance աուդիտից առաջ։
  • Աուդիտել քո կոդը կամ repo-ն git պատմությունում secret-ների համար։ Bundle-secrets ստուգումն ընդգրկում է այն, ինչ ներկայումս թողարկված է, ոչ թե այն, ինչ պատմականորեն commit է եղել։ Օգտագործիր git-secrets կամ gitleaks repo հիգիենայի համար։
  • Ընդգրկում ոչ-BaaS backend ծառայությունները։ Եթե քո հավելվածն օգտագործում է custom backend (Express, Rails, Django, FastAPI), FixVibe-ը սկանավորում է նրա HTTP մակերեսը, բայց չի ստուգում նրա ետևի տվյալների բազան կամ ենթակառուցվածքը։ Դա ընդհանուր DAST + SAST տարածք է։

Հաճախակի տրվող հարցեր

Աշխատու՞մ է umbrella սկանը, եթե իմ հավելվածն օգտագործում է երկու BaaS մատակարար (օրինակ՝ Supabase + Clerk)։

Այո — մատակարարի fingerprinting-ը և մատակարար-հատուկ ստուգումներն անկախ են։ Սկաները հայտնաբերում է երկուսը, գործարկում երկու ստուգման հավաքածուները և հաշվետվում մատակարարների միջև փոխկապակցումները (օրինակ՝ Supabase JWT template Clerk-ից, որ առաքում է email-ը որպես claim բացակայող RLS-ի կողքին)։

Ինչպե՞ս է սա տարբերվում Burp Suite Pro-ն իմ հավելվածի դեմ գործարկելուց։

Burp-ն ընդհանուր DAST workbench է։ Տուփից դուրս, Burp-ը չգիտի, թե ինչ է PostgREST-ը, Firestore-ը կամ Auth0 callback ուղին — դու պետք է ձեռքով կարգավորես scope-ը, գրես extension-ներ և մեկնաբանես պատասխանները։ FixVibe-ը առաքվում է ներկառուցված BaaS ստուգումներով և BaaS-ձև ապացույցների ֆորմատավորմամբ։ Burp-ը հաղթում է ընդհանուր web-հավելվածի ծածկույթում (XSS, SQLi, business logic). FixVibe-ը հաղթում է BaaS-հատուկ գտածոներում։

Իսկ App Check-ը (Firebase) կամ attestation-ը (Apple / Google)։

App Check-ը ստիպում է հնարավորություն-փնտրող արտաքին սկաններին վերադարձնել 403 յուրաքանչյուր ստուգման ժամանակ — ճիշտ արդյունքը վնասակար bot-ի համար։ FixVibe սկանն չ-attest արված client-ից վարվում է նույն ձևով։ Եթե դու ունես App Check միացված և FixVibe-ը դեռ գտածոներ է հաշվետու, դա նշանակում է, որ քո կանոնները բաց են նաև attest-արված client-ների համար, ինչը իրական ռիսկն է։ App Check + ճիշտ կանոնները խորության-մեջ-պաշտպանության նմուշն են։

Կարո՞ղ է սկաները ստուգել իմ շտկումը։

Այո — կրկին գործարկիր շտկումը կիրառելուց հետո։ Ստուգման ID-ները (օրինակ՝ baas.supabase-rls) կայուն են գործարկումների միջև, այնպես որ կարող ես տարբերակել գտածոները․ գտածո, որ open էր գործարկում 1-ում և բացակայում էր գործարկում 2-ում, ապացույց է, որ շտկումը կիրառվել է։

Հաջորդ քայլեր

Գործարկիր անվճար FixVibe սկան քո production URL-ի դեմ — BaaS-փուլի ստուգումներն առաքվում են բոլոր փաթեթներում՝ ներառյալ անվճար փաթեթը։ Մատակարար-հատուկ խորը-սուզումների համար այս բաժնի առանձին հոդվածներն ընդգրկում են յուրաքանչյուր մատակարարը մանրամասն․ Supabase RLS, Supabase service-key-ի բացահայտում, Supabase storage, Firebase rules, Firebase if-true, Clerk, և Auth0։

// սկանավորիր քո baas մակերեսը

Գտիր բաց table-ը, քանի դեռ դա ուրիշը չի արել։

Մուտքագրիր production URL-ը։ FixVibe-ը թվարկում է BaaS մատակարարները, որոնց հետ խոսում է քո հավելվածը, ֆինգերփրինթ է անում իրենց հանրային endpoint-ները, և հայտնում, թե ինչ կարող է կարդալ կամ գրել չհաստատված հաճախորդը։ Անվճար, առանց տեղադրման, առանց քարտի։

  • Անվճար փաթեթ — 3 սկան ամսական, առանց գրանցման քարտի։
  • Պասիվ BaaS fingerprinting — տիրույթի հաստատում չի պահանջվում։
  • Supabase, Firebase, Clerk, Auth0, Appwrite և ավելին։
  • AI fix prompts յուրաքանչյուր գտածոյի համար — տեղադրիր Cursor / Claude Code-ում։
Գործարկիր անվճար BaaS սկան

գրանցում չի պահանջվում

BaaS սխալ կարգավորման սկաներ․ գտիր հանրային տվյալների ուղիները, քանի դեռ օգտատերերը չեն — Docs · FixVibe