FixVibe

// docs / baas security / umbrella scanner

Скенер за неправилни конфигурации на BaaS: намерете публични пътеки за данни, преди потребителите да го направят

Backend-as-a-Service доставчиците — Supabase, Firebase, Clerk, Auth0, Appwrite, Convex — всички се провалят в сигурността по една и съща форма: платформата изпраща разумни настройки по подразбиране, разработчикът (или AI инструментът за кодиране) посяга към пряк път и се отваря публичен път между неавтентикиран нападател и данни на клиенти. Скенер за неправилни конфигурации на BaaS е единственият инструмент, който сондира този път отвън по начина, по който би нападател. Тази статия картографира петте повтарящи се класа неправилни конфигурации, обяснява как работи общото BaaS сканиране на FixVibe, сравнява четирите основни доставчици и противопоставя BaaS-осведомения скенер на общи DAST инструменти.

Защо неправилните конфигурации на BaaS имат повтаряща се форма

Всяка BaaS платформа следва същата архитектура: управляван backend с тънък клиентски SDK, който комуникира с него от браузъра. Клиентът, обърнат към браузъра, се нуждае от някакъв идентификатор — anon ключ, публикуем ключ, Firebase project ID — за да се идентифицира пред backend. Този идентификатор е умишлено публичен; безопасността на архитектурата почива върху контролите за достъп на ниво платформа (RLS, rules, allowlists), които си вършат работата.

AI инструментите за кодиране се изграждат върху тази архитектура, без да усвояват слоя на платформените контроли. Те свързват клиентския SDK правилно, приемат разрешителните правила по подразбиране на платформата (които съществуват за tutorial-friendliness) и изпращат. Повтарящата се форма е: публичен идентификатор + разрешително правило по подразбиране + липсваща override = излагане на данни. Петте класа неправилни конфигурации по-долу са всички варианти на тази форма.

Петте повтарящи се класа неправилни конфигурации

Тези се появяват при всеки BaaS доставчик. Пълно сканиране покрива всичките пет срещу всеки използван доставчик:

Клас 1: Грешен ключ в браузърния bundle

Браузърът изпраща секретния/admin ключ (Supabase service_role, Firebase Admin SDK private key, Clerk sk_*, Auth0 client secret) вместо публичния/anon еквивалент. Браузърът става неограничен admin клиент. Покрит от проверката bundle-secrets на FixVibe.

Клас 2: Слоят за контрол на достъпа е изключен или разрешителен

RLS е изключен, Firebase правилата са if true, списъкът на Auth0 callback е с wildcard. Идентификаторът в браузъра е правилният — но границата на ниво платформа, която трябваше да го ограничи, не си върши работата.

Клас 3: Анонимни четения на чувствителни ресурси

Anon-readable Firestore колекции, anon-listable Supabase storage bucket-и, anon-accessible Auth0 management API. Сканирането пита: "без идентификатори, какво мога да прочета?"

Клас 4: Test-mode артефакти в продукция

Test ключове (pk_test_*, sb_test_*) в production deploy; dev-mode Firebase приложения, достъпни от live домейн; test-tenant Auth0 приложения с по-слаби настройки от продукция. Сканирането сравнява runtime ключовете с очакваните production префикси.

Клас 5: Липсваща проверка на webhook подпис

Clerk webhooks, Stripe webhooks, Supabase webhooks всички подписват своите payloads. Handler, който не проверява подписа, е database-write primitive за всеки нападател, който отгатне URL-а. Открива се чрез формата на отговора — неподписана заявка, която получи 200, означава, че проверката е пропусната.

Как работи общото BaaS сканиране на FixVibe

BaaS фазата на FixVibe работи в три етапа, всеки произвеждащ различни находки:

  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 валидира префикса на bundled ключовете; проверката bundle-secrets валидира, че няма изтекли service-tier credentials. Всеки сондаж работи независимо — намираща се в Supabase не блокира Firebase сканирането.
  3. Етап 3 — кръстосана корелация между доставчици. Скенерът прави cross-reference на находките. Изтекъл Supabase service-role ключ заедно с липсващ RLS е по-сериозен от която и да е находка сама — отчетът извежда това на показ. Множество доставчици на идентичност (Clerk + Auth0 + custom auth) в едно приложение е структурна находка, маркирана за преглед.

Всеки сондаж е пасивен: най-много едно анонимно четене на ресурс, със записана форма на отговора, но без съдържание на редове, което да се пагинира или съхранява. Сондажите за запис и модификация са ограничени до проверена собственост на домейна — те никога не се изпълняват срещу непроверени цели.

Какво намира скенерът на доставчик

Всеки BaaS доставчик има различна повърхност и различна стратегия за сканиране. Ето какво е покрито:

Как BaaS скенерът се сравнява с общи DAST и SAST инструменти

BaaS-осведомен скенер върши специфична работа, която други инструменти не вършат. Сравнението:

АспектFixVibe (BaaS-осведомен DAST)Общ DAST (Burp / ZAP)SAST / SCA (Snyk / Semgrep)
BaaS покритиеНативни проверки за Supabase, Firebase, Clerk, Auth0, AppwriteОбщ web crawl; без специфични за доставчик сондажиСтатичен анализ само на repo; без production валидиране
Време за настройкаURL → изпълнение → резултати за 60 секундиЧасове: конфигуриране на spider, auth, scopeДен: интеграция в repo CI
Какво доказваProduction-runtime излагане с HTTP-level доказателстваWeb-app уязвимости (XSS, SQLi); BaaS чрез ръчна конфигурацияCode patterns, които може и да не се деплойнат
Инспекция на JavaScript bundleДекодира JWTs, съвпада с secret prefixes, обхожда chunksОграничено — само string-based grepДа, но само от страна на repo, не деплойнато
Непрекъснато сканиранеМесечно / при deploy чрез API + MCPРъчно; конфигурирайте графика самиПри всеки commit (добро за код, сляпо за runtime)
Цена за solo / малък екипБезплатен план; платен от $19/месBurp Pro $499/год; ZAP безплатен, но с много false positivesSnyk безплатен / Semgrep безплатен; платени планове от $25/dev

Честен обхват: какво този скенер не замества

BaaS-осведомен DAST скенер е фокусиран инструмент, а не пълна програма за сигурност. Той не:

  • Замества SAST или SCA. Статичният анализ намира dependency CVEs (Snyk, Semgrep) и code-level уязвимости (SonarQube), които DAST скенер не може. Стартирайте и двата.
  • Замества ръчно penetration testing. Човек пентестър намира бизнес-логически недостатъци, ръбови случаи на оторизация и верижни уязвимости, които никой скенер не може. Наемете пентестър преди голямо изстрелване или одит за съответствие.
  • Одитира кода или repo-то за тайни в git история. Проверката bundle-secrets покрива това, което е в момента деплойнато, а не това, което исторически е било commit-нато. Използвайте git-secrets или gitleaks за repo хигиена.
  • Покрива non-BaaS backend услуги. Ако приложението ви използва custom backend (Express, Rails, Django, FastAPI), FixVibe сканира неговата HTTP повърхност, но не сондира базата данни или инфраструктурата зад нея. Това е територията на общ DAST + SAST.

Често задавани въпроси

Работи ли общото сканиране, ако моето приложение използва два BaaS доставчика (напр. Supabase + Clerk)?

Да — отпечатването на доставчик и сондажите за всеки доставчик са независими. Скенерът открива и двата, изпълнява и двете check suites и докладва cross-provider корелации (напр. Supabase JWT темплейт от Clerk, който изпраща email като claim заедно с липсващ RLS).

По какво се различава това от изпълнението на Burp Suite Pro срещу моето приложение?

Burp е общ DAST workbench. От коробка Burp не знае какво е PostgREST, Firestore или Auth0 callback пътя — трябва ръчно да конфигурирате scope, да напишете extensions и да интерпретирате отговорите. FixVibe идва с вградени BaaS сондажи и форматиране на доказателства във форма BaaS. Burp печели на общо web-app покритие (XSS, SQLi, бизнес логика); FixVibe печели на BaaS-специфични находки.

Какво ще кажете за App Check (Firebase) или attestation (Apple / Google)?

App Check кара опортюнистичните външни сканирания да върнат 403 на всеки сондаж — правилният резултат за злонамерен bot. FixVibe сканиране от неатестиран клиент се държи по същия начин. Ако имате App Check активиран и FixVibe все още докладва находки, това означава, че вашите правила са отворени и за атестирани клиенти, което е истинският риск. App Check + правилни правила е моделът defense-in-depth.

Може ли скенерът да провери моята поправка?

Да — изпълнете отново след прилагане на поправката. ID-тата на проверките (напр. baas.supabase-rls) са стабилни между изпълненията, така че можете да правите diff на находки: находка, която е била open в изпълнение 1 и отсъстваща в изпълнение 2, е доказателство, че поправката е влязла в сила.

Следващи стъпки

Изпълнете безплатно FixVibe сканиране срещу production URL — BaaS-фазовите проверки се включват във всеки план, включително безплатния. За дълбочинни прегледи на специфичните доставчици, отделните статии в този раздел покриват всеки доставчик подробно: Supabase RLS, Излагане на сервизен ключ на Supabase, Supabase хранилище, Firebase правила, Firebase if-true, Clerk и Auth0.

// сканирайте вашата baas повърхност

Намерете отворената таблица, преди някой друг да го направи.

Въведете production URL. FixVibe изброява доставчиците на BaaS, с които комуникира приложението ви, снема отпечатъци от публичните им крайни точки и докладва какво може да прочете или запише неавтентикиран клиент. Безплатно, без инсталация, без карта.

  • Безплатен план — 3 сканирания / месец, без карта при регистрация.
  • Пасивен отпечатък на BaaS — не се изисква проверка на домейн.
  • Supabase, Firebase, Clerk, Auth0, Appwrite и още.
  • AI промптове за поправка на всяко откритие — поставете обратно в Cursor / Claude Code.
Стартирайте безплатно BaaS сканиране

не се изисква регистрация

Скенер за неправилни конфигурации на BaaS: намерете публични пътеки за данни, преди потребителите да го направят — Docs · FixVibe