FixVibe

// docs / baas security / umbrella scanner

Сканер няправільных налад BaaS: знайдзіце публічныя шляхі да дадзеных раней за карыстальнікаў

Пастаўшчыкі Backend-as-a-Service — Supabase, Firebase, Clerk, Auth0, Appwrite, Convex — усе правальваюць бяспеку ў той самай форме: платформа пастаўляе разумныя значэнні па змаўчанні, распрацоўшчык (або ШІ-інструмент кадавання) цягнецца за хуткай дарогай, і паміж неаўтэнтыфікаваным зламыснікам і дадзенымі кліента адкрываецца публічны шлях. Сканер няправільных налад BaaS — гэта адзіны інструмент, які зандуе гэты шлях звонку так, як гэта зрабіў бы зламыснік. Гэты артыкул карціруе пяць паўтаральных класаў няправільных налад, тлумачыць, як працуе зонтычнае сканаванне BaaS FixVibe, параўноўвае чатырох галоўных пастаўшчыкоў і супрацьстаўляе BaaS-абазнаны сканер агульным DAST-інструментам.

Чаму няправільныя налады BaaS маюць паўтаральную форму

Кожная платформа BaaS прытрымліваецца той самай архітэктуры: кіруемы бэкэнд з тонкім кліенцкім SDK, які размаўляе з ім з браўзера. Кліент, скіраваны на браўзер, мае патрэбу ў нейкіх уліковых дадзеных — ключ anon, публікаваны ключ, ідэнтыфікатар праекта Firebase — каб ідэнтыфікаваць сябе бэкэнду. Гэтыя ўліковыя дадзеныя наўмысна публічныя; бяспека архітэктуры абапіраецца на тое, што кантроль доступу ўзроўню платформы (RLS, правілы, спісы дазволу) выконваюць сваю працу.

ШІ-інструменты кадавання будуюць на гэтай архітэктуры без інтэрналізацыі пласта кантролю платформы. Яны падключаюць кліенцкі SDK правільна, прымаюць дазвольныя значэнні па змаўчанні платформы (якія існуюць для падручніка-сяброўства) і адпраўляюць. Паўтаральная форма: публічныя ўліковыя дадзеныя + дазвольнае правіла па змаўчанні + адсутны пераазначэнне = раскрыццё дадзеных. Пяць класаў няправільных налад ніжэй — усе варыянты гэтай формы.

Пяць паўтаральных класаў няправільных налад

Яны з'яўляюцца ў кожнага пастаўшчыка BaaS. Поўнае сканаванне ахоплівае ўсе пяць супраць кожнага выкарыстоўванага пастаўшчыка:

Клас 1: Няправільны ключ у браўзерным бандле

Браўзер адпраўляе сакрэтны/адмінскі ключ (Supabase service_role, прыватны ключ Firebase Admin SDK, Clerk sk_*, кліенцкі сакрэт Auth0) замест публічнага/anon эквівалента. Браўзер становіцца неабмежаваным адмінскім кліентам. Ахоплена праверкай bundle-secrets FixVibe.

Клас 2: Пласт кантролю доступу адключаны або дазвольны

RLS адключаны, правілы Firebase — гэта if true, спіс callback Auth0 — з падстаноўным знакам. Уліковыя дадзеныя ў браўзеры — правільныя, але мяжа ўзроўню платформы, якая павінна была абмежаваць іх, не выконвае сваю працу.

Клас 3: Ананімныя чытанні адчувальных рэсурсаў

Anon-чытальныя калекцыі Firestore, anon-пералічальныя сховішчы Supabase, anon-даступнае Management API Auth0. Сканаванне пытае: "без уліковых дадзеных, што я магу прачытаць?"

Клас 4: Артэфакты тэставага рэжыму ў прадакшэне

Тэставыя ключы (pk_test_*, sb_test_*) у прадукцыйным разгортванні; dev-рэжым праграм Firebase, дасягальных з жывога дамена; тэставыя арандатары Auth0 з больш слабымі наладамі, чым прадакшэн. Сканаванне параўноўвае ключы часу выканання з чаканымі прадукцыйнымі прэфіксамі.

Клас 5: Адсутная праверка подпісу вэбхука

Вэбхукі Clerk, вэбхукі Stripe, вэбхукі Supabase ўсе падпісваюць свае нагрузкі. Апрацоўшчык, які не правярае подпіс, — гэта прымітыў запісу ў базу дадзеных для любога зламысніка, які ўгадае 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 валідуе прэфікс ключоў у бандле; праверка bundle-secrets валідуе, што ніякія ўліковыя дадзеныя сэрвіснага ўзроўню не выцяклі. Кожны зонд запускаецца незалежна — знаходка Supabase не блакуе сканаванне Firebase.
  3. Этап 3 — крос-пастаўшчыцкая карэляцыя. Сканер крос-спасылаецца на знаходкі. Уцеклы ключ сэрвіснай ролі Supabase разам з адсутным RLS больш сур'ёзны, чым любая знаходка паасобку — справаздача выяўляе гэта. Некалькі пастаўшчыкоў ідэнтыфікацыі (Clerk + Auth0 + карыстальніцкая аўтэнтыфікацыя) у адной праграме — гэта структурная знаходка, пазначаная для агляду.

Кожны зонд пасіўны: максімум адно ананімнае чытанне на рэсурс, з запісанай формай адказу, але змесціва радкоў ніколі не разбіваецца на старонкі і не захоўваецца. Зонды запісу і змены абмежаваны пацверджаным валоданнем даменам — яны ніколі не запускаюцца супраць непацверджаных мэт.

Што знаходзіць сканер на пастаўшчыка

Кожны пастаўшчык BaaS мае розную паверхню і розную стратэгію сканавання. Вось што ахоплена:

Як параўноўваецца сканер BaaS з агульнымі DAST і SAST інструментамі

BaaS-абазнаны сканер выконвае канкрэтную працу, якую не робяць іншыя інструменты. Параўнанне:

АспектFixVibe (BaaS-абазнаны DAST)Агульны DAST (Burp / ZAP)SAST / SCA (Snyk / Semgrep)
Ахоп BaaSНатыўныя праверкі для Supabase, Firebase, Clerk, Auth0, AppwriteАгульны вэб-абыход; няма зондаў, спецыфічных для пастаўшчыкаСтатычны аналіз толькі рэпазіторыя; няма прадукцыйнай валідацыі
Час наладкіURL → запуск → вынікі за 60 секундГадзіны: наладзьце павук, аўтэнтыфікацыю, ахопДзень: інтэграцыя ў CI рэпазіторыя
Што гэта даказваеРаскрыццё ў часе выканання прадакшэна з доказамі ўзроўню HTTPУразлівасці вэб-праграм (XSS, SQLi); BaaS праз ручную наладкуШаблоны кода, якія могуць быць або не быць разгорнуты
Інспекцыя JavaScript-бандлаРаскадзіруе JWT, супастаўляе сакрэтныя прэфіксы, абыходзіць чанкіАбмежаваны — толькі grep па радкахТак, але толькі ў рэпазіторыі, не разгорнута
Бесперапыннае сканаваннеШтомесяц / пры разгортванні праз API + MCPУручную; наладзьце расклад самастойнаНа каміт (добра для кода, сляпы для часу выканання)
Цана для сола / малой камандыБясплатны тарыф; платныя ад $19/месBurp Pro $499/год; ZAP бясплатны, але з высокімі ілжывымі спрацоўванняміSnyk бясплатны / Semgrep бясплатны; платныя тарыфы ад $25/распрацоўшчык

Сумленны ахоп: што гэты сканер не замяняе

BaaS-абазнаны DAST-сканер — гэта мэтавы інструмент, а не поўная праграма бяспекі. Ён не:

  • Замяняе SAST або SCA. Статычны аналіз знаходзіць CVE залежнасцей (Snyk, Semgrep) і ўразлівасці ўзроўню кода (SonarQube), якія DAST-сканер не можа. Запускайце абодва.
  • Замяняе ручное тэставанне на пранікненне. Чалавек-пентэстэр знаходзіць заганы бізнес-логікі, межавыя выпадкі аўтарызацыі і ланцужковыя ўразлівасці, якія ніякі сканер не можа. Найміце пентэстэра перад буйным запускам або аўдытам адпаведнасці.
  • Праводзіць аўдыт вашага кода або рэпазіторыя на сакрэты ў гісторыі git. Праверка bundle-secrets ахоплівае тое, што цяпер разгорнута, а не тое, што было гістарычна закаміцена. Выкарыстоўвайце git-secrets або gitleaks для гігіены рэпазіторыя.
  • Ахоплівае не-BaaS бэкэнд-сэрвісы. Калі ваша праграма выкарыстоўвае карыстальніцкі бэкэнд (Express, Rails, Django, FastAPI), FixVibe сканіруе яго HTTP-паверхню, але не зандуе базу дадзеных або інфраструктуру за ёй. Гэта тэрыторыя агульнага DAST + SAST.

Часта задаваныя пытанні

Ці працуе зонтычнае сканаванне, калі мая праграма выкарыстоўвае двух пастаўшчыкоў BaaS (напрыклад, Supabase + Clerk)?

Так — зняцце адбіткаў пастаўшчыка і зонды для кожнага пастаўшчыка незалежныя. Сканер выяўляе абодвух, запускае абодва наборы праверак і паведамляе пра крос-пастаўшчыцкія карэляцыі (напрыклад, JWT-шаблон Supabase ад Clerk, які адпраўляе email як патрабаванне разам з адсутным RLS).

Чым гэта адрозніваецца ад запуску Burp Suite Pro супраць маёй праграмы?

Burp — гэта агульны рабочы стол DAST. З скрыні Burp не ведае, што такое PostgREST, Firestore або шлях callback Auth0 — вам трэба ўручную наладзіць ахоп, напісаць пашырэнні і інтэрпрэтаваць адказы. FixVibe пастаўляецца з убудаванымі зондамі BaaS і фарматаваннем доказаў у форме BaaS. Burp выйграе ў агульным ахопе вэб-праграм (XSS, SQLi, бізнес-логіка); FixVibe выйграе ў спецыфічных для BaaS знаходках.

А як наконт App Check (Firebase) або атэстацыі (Apple / Google)?

App Check прымушае апартуністычныя знешнія сканаванні вяртаць 403 на кожным зондзе — правільны вынік для шкоднага бота. Сканаванне FixVibe з неатэставанага кліента вядзе сябе так жа. Калі ў вас уключаны App Check, і FixVibe усё яшчэ паведамляе пра знаходкі, гэта азначае, што вашы правілы адкрыты і для атэставаных кліентаў, што з'яўляецца рэальнай рызыкай. App Check + правільныя правілы — гэта шаблон глыбокай абароны.

Ці можа сканер праверыць маё выпраўленне?

Так — запусціце паўторна пасля прымянення выпраўлення. Ідэнтыфікатары праверак (напрыклад, baas.supabase-rls) стабільныя паміж запускамі, таму вы можаце параўноўваць знаходкі: знаходка, якая была open у запуску 1 і адсутнічае ў запуску 2, — гэта доказ, што выпраўленне спрацавала.

Наступныя крокі

Запусціце бясплатнае сканаванне FixVibe супраць вашага прадукцыйнага URL — праверкі BaaS-фазы пастаўляюцца на кожным тарыфе, у тым ліку на бясплатным. Для глыбокіх паглыбленняў, спецыфічных для пастаўшчыка, асобныя артыкулы ў гэтым раздзеле дэталёва ахопліваюць кожнага пастаўшчыка: Supabase RLS, Раскрыццё сэрвіснага ключа Supabase, Сховішча Supabase, Правілы Firebase, Firebase if-true, Clerk і Auth0.

// скануйце вашу baas-паверхню

Знайдзіце адкрытую табліцу раней, чым гэта зробіць хтосьці іншы.

Увядзіце прадукцыйны URL. FixVibe пералічыць пастаўшчыкоў BaaS, з якімі ўзаемадзейнічае ваша праграма, здыме адбіткі з іх публічных канчатковых кропак і паведаміць, што неаўтарызаваны кліент можа прачытаць або запісаць. Бясплатна, без устаноўкі, без карты.

  • Бясплатны тарыф — 3 сканаванні ў месяц, без карты пры рэгістрацыі.
  • Пасіўнае зняцце адбіткаў BaaS — не патрэбна праверка валодання даменам.
  • Supabase, Firebase, Clerk, Auth0, Appwrite і іншыя.
  • Падказкі выпраўлення ШІ для кожнай знаходкі — устаўце назад у Cursor / Claude Code.
Запусціць бясплатнае сканаванне BaaS

рэгістрацыя не патрабуецца

Сканер няправільных налад BaaS: знайдзіце публічныя шляхі да дадзеных раней за карыстальнікаў — Docs · FixVibe