// docs / baas security / umbrella scanner
BaaS səhv konfiqurasiya skaneri: istifadəçilərdən əvvəl ictimai məlumat yollarını tapın
Backend-as-a-Service provayderləri — Supabase, Firebase, Clerk, Auth0, Appwrite, Convex — hamısı eyni formada təhlükəsizlikdə uğursuz olur: platforma ağıllı standartlar göndərir, tərtibatçı (və ya AI kodlaşdırma aləti) qısa yola əl atır və identifikasiyasız hücumçu ilə müştəri məlumatı arasında ictimai yol açılır. BaaS səhv konfiqurasiya skaneri o yolu hücumçu kimi xaricdən zondlayan yeganə alətdir. Bu məqalə beş təkrarlanan səhv konfiqurasiya sinifini xəritələyir, ümumi FixVibe BaaS skanının necə işlədiyini izah edir, dörd əsas provayderi müqayisə edir və BaaS-fərqlandə skaneri ümumi DAST alətləri ilə qarşılaşdırır.
BaaS səhv konfiqurasiyalarının niyə təkrarlanan forması var
Hər BaaS platforması eyni arxitekturanı izləyir: brauzerdən onunla danışan nazik bir müştəri SDK ilə idarə olunan bir backend. Brauzer-yönlü müştəri özünü backend-ə tanıtmaq üçün bir etimadnaməyə ehtiyac duyur — bir anon açarı, bir yayımlanabilən açar, bir Firebase layihə ID-si. O etimadnamə qəsdən ictimaidir; arxitekturanın təhlükəsizliyi platforma səviyyəsində giriş nəzarətlərinin (RLS, qaydalar, allowlist-lər) öz işini görməsindən asılıdır.
AI kodlaşdırma alətləri bu arxitektura üzərində platforma-nəzarət qatını mənimsəmədən qurur. Onlar müştəri SDK-ni düzgün quraşdırır, platformanın standart icazə verici qaydalarını qəbul edirlər (dərslik dostluğu üçün mövcuddur) və yayımlayırlar. Təkrarlanan forma belədir: ictimai etimadnamə + icazə verici standart qayda + əskik üst-yazma = məlumat ifşası. Aşağıdakı beş səhv konfiqurasiya sinfinin hamısı bu formanın variantlarıdır.
Beş təkrarlanan səhv konfiqurasiya sinfi
Bunlar hər BaaS provayderində ortaya çıxır. Tam bir skan istifadədə olan hər provayderə qarşı hər beşini əhatə edir:
Sinif 1: Brauzer bundle-də səhv açar
Brauzer ictimai/anon ekvivalenti əvəzinə sirr/admin açarını (Supabase service_role, Firebase Admin SDK xüsusi açarı, Clerk sk_*, Auth0 müştəri sirri) göndərir. Brauzer məhdudiyyətsiz admin müştərisi olur. FixVibe-nin bundle-secrets yoxlaması ilə əhatə olunub.
Sinif 2: Giriş-nəzarət qatı söndürülüb və ya icazə verici
RLS söndürülüb, Firebase qaydaları if true-dur, Auth0 callback siyahısı wildcard-dır. Brauzerdəki etimadnamə düzgün olanıdır — lakin onu məhdudlaşdırmaq üçün nəzərdə tutulmuş platforma səviyyəsində sərhəd öz işini görmür.
Sinif 3: Həssas resursların anonim oxumaları
Anon-oxunabilən Firestore kolleksiyaları, anon-listələnə bilən Supabase storage bucket-ləri, anon-əlçatan Auth0 management API. Skan soruşur: "etimadnaməsiz mən nə oxuya bilərəm?"
Sinif 4: Produksiyada test-rejim artefaktları
Produksiya deploy-da test açarları (pk_test_*, sb_test_*); canlı domendən əlçatan dev-rejim Firebase tətbiqləri; produksiyadan daha zəif parametrlərlə test-kirayəçi Auth0 tətbiqləri. Skan işləyiş zamanı açarları gözlənilən produksiya prefiksləri ilə müqayisə edir.
Sinif 5: Webhook imza doğrulaması əskik
Clerk webhook-ları, Stripe webhook-ları, Supabase webhook-ları hamısı payload-larını imzalayır. İmzanı yoxlamayan bir handler, URL-i təxmin edən hər hansı hücumçu üçün verilənlər bazasını yazma primitividir. Cavab forması ilə aşkar olunur — 200 alan imzasız sorğu doğrulamanın atlandığı deməkdir.
FixVibe ümumi BaaS skanı necə işləyir
FixVibe-nin BaaS fazası, hər biri fərqli tapıntılar yaradan üç mərhələdə işləyir:
- <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.
- Mərhələ 2 — provayder-spesifik zondlar. Hər aşkarlanan provayder üçün skaner provayder-spesifik yoxlamanı işlədir:
baas.supabase-rlsPostgREST-i zondlayır;baas.firebase-rulesFirestore + RTDB + Storage-i zondlayır;baas.clerk-auth0paketlənmiş açarların prefiksini doğrulayır; bundle-secrets yoxlaması heç bir service-səviyyəli etimadnamənin sızmadığını doğrulayır. Hər zond müstəqil işləyir — Supabase tapıntısı Firebase skanını bloklamır. - Mərhələ 3 — provayderlərarası korrelyasiya. Skaner tapıntıları cross-referans edir. Sızdırılan Supabase service-role açarı, əskik RLS ilə birlikdə hər birindən daha ciddidir — hesabat bunu üzə çıxarır. Eyni tətbiqdə birdən çox identifikasiya provayderi (Clerk + Auth0 + xüsusi auth) baxış üçün işarələnmiş struktur tapıntıdır.
Hər zond passivdir: hər resursa ən çox bir anonim oxuma, cavab forması qeyd olunur, lakin sətir məzmunu heç vaxt səhifələnmir və ya saxlanılmır. Yazma və dəyişdirmə zondları təsdiqlənmiş domen sahibliyi ilə bağlıdır — onlar heç vaxt təsdiqlənməmiş hədəflərə qarşı işləmir.
Skaner provayder başına nə tapır
Hər BaaS provayderinin fərqli səthi və fərqli skan strategiyası var. Əhatə olunan budur:
- Supabase: cədvəllərdə əskik RLS, anon-listələnə bilən storage bucket-ləri, bundle-də sızdırılmış
service_roleJWT və yasb_secret_*açarı, anonim OpenAPI listələmə ilə ifşa olunmuş sxemlər. Supabase RLS skaneri və Storage yoxlama siyahısı-na baxın. - Firebase: Firestore, Realtime Database və Cloud Storage-də
if trueqaydaları; anon-listələnə bilən Storage bucket-ləri; əskik App Check tətbiqi. Firebase qaydaları skaneri və If-true qayda izahı-na baxın. - Clerk: paketlənmiş
sk_*sirr açarları, produksiyadapk_test_*, əskik webhook imza doğrulaması, wildcard icazə verilən origin-lər. Clerk yoxlama siyahısı-na baxın. - Auth0: paketlənmiş müştəri sirrləri, aktivləşdirilmiş Implicit qrant, wildcard callback / çıxış URL-ləri, SPA-larda əskik PKCE. Auth0 yoxlama siyahısı-na baxın.
BaaS skaneri ümumi DAST və SAST alətləri ilə necə müqayisə olunur
BaaS-fərqlandə skaner digər alətlərin etmədiyi spesifik işləri görür. Müqayisə:
| Aspekt | FixVibe (BaaS-fərqlandə DAST) | Ümumi DAST (Burp / ZAP) | SAST / SCA (Snyk / Semgrep) |
|---|---|---|---|
| BaaS əhatəsi | Supabase, Firebase, Clerk, Auth0, Appwrite üçün doğma yoxlamalar | Ümumi web crawl; provayder-spesifik zondlar yox | Yalnız reponun statik analizi; produksiya doğrulaması yox |
| Quraşdırma vaxtı | URL → işlət → nəticələr 60 saniyədə | Saatlar: spider, auth, əhatəni konfiqurasiya edin | Gün: repo CI-ə inteqrasiya edin |
| Nəyi sübut edir | HTTP səviyyəsində sübutla produksiya-işləyiş ifşası | Web-tətbiq zəiflikləri (XSS, SQLi); BaaS yalnız manual konfiqurasiya ilə | Deploy ola bilən və ya bilməyən kod nümunələri |
| JavaScript bundle təftişi | JWT-ləri deşifrə edir, sirr prefikslərini uyğunlaşdırır, chunk-ları gəzir | Məhdud — yalnız sətir əsaslı grep | Bəli, lakin yalnız repo tərəfdən, deploy olunmuş yox |
| Davamlı skanlama | Aylıq / deploy-da API + MCP ilə | Manual; cədvəli özünüz konfiqurasiya edin | Hər commit-də (kod üçün yaxşı, işləyiş zamanı kor) |
| Tək / kiçik komanda üçün qiymət | Pulsuz tarif; ödənişli $19/ay-dan | Burp Pro $499/il; ZAP pulsuz, lakin yüksək yanlış müsbətlər | Snyk pulsuz / Semgrep pulsuz; ödənişli tariflər $25/tərtibatçı-dan |
Dürüst əhatə: bu skaner nəyi əvəz etmir
BaaS-fərqlandə DAST skaneri fokuslanmış bir alətdir, tam təhlükəsizlik proqramı deyil. O bunu etmir:
- SAST və ya SCA-nı əvəz edir. Statik analiz, DAST skanerinin bilmədiyi asılılıq CVE-lərini (Snyk, Semgrep) və kod səviyyəsində zəiflikləri (SonarQube) tapır. Hər ikisini işlədin.
- Manual penetrasiya testini əvəz edir. Bir insan pentester biznes-məntiq qüsurlarını, avtorizasiya kənar hallarını və heç bir skanerin tapa bilmədiyi zəncirlənmiş zəiflikləri tapır. Böyük bir buraxılışdan və ya uyğunluq auditindən əvvəl bir pentester işə götürün.
- Git tarixçəsindəki sirrlər üçün kodunuzu və ya repo-nuzu audit edir. Bundle-secrets yoxlaması hazırda deploy olunmuş olanı əhatə edir, tarixən commit edilmişləri yox. Repo gigiyenası üçün
git-secretsvə yagitleaksistifadə edin. - BaaS olmayan backend xidmətlərini əhatə edir. Tətbiqiniz xüsusi backend (Express, Rails, Django, FastAPI) istifadə edirsə, FixVibe onun HTTP səthini skanlayır, lakin arxasındakı verilənlər bazasını və ya infrastrukturu zondlamır. Bu, ümumi DAST + SAST sahəsidir.
Tez-tez verilən suallar
Ümumi skan tətbiqim iki BaaS provayderi (məsələn, Supabase + Clerk) istifadə edirsə işləyirmi?
Bəli — provayder barmaq izi və provayder-başına zondlar müstəqildir. Skaner hər ikisini aşkar edir, hər iki yoxlama dəstini işlədir və provayderlərarası korrelyasiyaları bildirir (məsələn, əskik RLS ilə birlikdə email-i iddia kimi göndərən Clerk-dən Supabase JWT şablonu).
Bu, tətbiqim əleyhinə Burp Suite Pro işlətməkdən necə fərqlənir?
Burp ümumi DAST iş masasıdır. Quru qutudan, Burp PostgREST, Firestore və ya Auth0 callback yolunun nə olduğunu bilmir — əhatəni manual olaraq konfiqurasiya etməli, uzantılar yazmalı və cavabları şərh etməlisiniz. FixVibe daxili BaaS zondları və BaaS-formalı sübut formatlama ilə gəlir. Burp ümumi web-tətbiq əhatəsində (XSS, SQLi, biznes məntiqi) qalib gəlir; FixVibe BaaS-spesifik tapıntılarda qalib gəlir.
App Check (Firebase) və ya təsdiqləmə (Apple / Google) barədə nə demək olar?
App Check opportunist xarici skanların hər zondda 403 qaytarmasına səbəb olur — zərərli bot üçün düzgün nəticə. Təsdiqsiz müştəridən bir FixVibe skanı eyni şəkildə davranır. App Check aktivləşdirilibsə və FixVibe hələ də tapıntılar bildirirsə, bu, sizin qaydalarınızın təsdiqlənmiş müştərilərə də açıq olduğu deməkdir, bu da əsl riskdir. App Check + düzgün qaydalar müdafiə-dərinliyi nümunəsidir.
Skaner düzəlişimi doğrulaya bilərmi?
Bəli — düzəlişi tətbiq etdikdən sonra yenidən işlədin. Yoxlama ID-ləri (məsələn, baas.supabase-rls) işləmələr arasında sabitdir, beləliklə tapıntıları diff edə bilərsiniz: işləmə 1-də açıq və işləmə 2-də olmayan bir tapıntı düzəlişin tətbiq olunduğunun sübutudur.
Sonrakı addımlar
Produksiya URL-inizə qarşı pulsuz bir FixVibe skanı işlədin — BaaS-faza yoxlamaları pulsuz tarif daxil olmaqla hər planda gəlir. Provayder-spesifik dərin baxışlar üçün bu bölmədəki fərdi məqalələr hər provayderi ətraflı əhatə edir: Supabase RLS, Supabase service-key ifşası, Supabase storage, Firebase qaydaları, Firebase if-true, Clerk və Auth0.
