FixVibe

// docs / baas security / umbrella scanner

BaaS misconfiguration scanner៖ រកផ្លូវទិន្នន័យសាធារណៈមុនពេលអ្នកប្រើ

Backend-as-a-Service provider — Supabase, Firebase, Clerk, Auth0, Appwrite, Convex — ទាំងអស់បរាជ័យសុវត្ថិភាពតាមរូបរាងដូចគ្នា៖ វេទិកា ship លំនាំដើមដែលសមរម្យ, អ្នកអភិវឌ្ឍន៍ (ឬឧបករណ៍សរសេរកូដ AI) ឈានទៅរក shortcut និងផ្លូវសាធារណៈបើករវាងអ្នកវាយប្រហារដែលមិនបាន authenticate និងទិន្នន័យអតិថិជន។ BaaS misconfiguration scanner គឺជាឧបករណ៍តែមួយដែលត្រួតពិនិត្យផ្លូវនោះពីខាងក្រៅតាមរបៀបដែលអ្នកវាយប្រហារនឹង។ អត្ថបទនេះ map ថ្នាក់ការកំណត់រចនាសម្ព័ន្ធខុសប្រាំ, ពន្យល់របៀបដែលឆ័ត្រ FixVibe BaaS scan ដំណើរការ, ប្រៀបធៀប provider ធំៗបួន និងផ្ទុយ scanner BaaS-aware ប្រឆាំងនឹងឧបករណ៍ DAST ទូទៅ។

ហេតុអ្វីការកំណត់រចនាសម្ព័ន្ធខុស BaaS មានរូបរាងជាប់លាប់

រាល់វេទិកា BaaS អនុវត្តតាមស្ថាបត្យកម្មដូចគ្នា៖ backend ដែលគ្រប់គ្រងជាមួយ client SDK ស្ដើងដែលនិយាយជាមួយវាពី browser។ Client ប្រឈមមុខ browser ត្រូវការ credential ខ្លះ — anon key, publishable key, Firebase project ID — ដើម្បីកំណត់អត្តសញ្ញាណខ្លួនវាទៅ backend។ Credential នោះមានចេតនាសាធារណៈ; សុវត្ថិភាពនៃស្ថាបត្យកម្មពឹងផ្អែកលើការគ្រប់គ្រងការចូលប្រើកម្រិតវេទិកា (RLS, ច្បាប់, allowlist) ដែលធ្វើការងាររបស់ពួកវា។

ឧបករណ៍សរសេរកូដ AI ស្ថាបនាលើស្ថាបត្យកម្មនេះដោយមិន internalise ផ្នែកគ្រប់គ្រងវេទិកា។ ពួកវាភ្ជាប់ client SDK ត្រឹមត្រូវ, ទទួលយកច្បាប់លំនាំដើមអនុញ្ញាតរបស់វេទិកា (ដែលមានសម្រាប់ភាពងាយស្រួលនៃ tutorial) និង ship។ រូបរាងជាប់លាប់គឺ៖ credential សាធារណៈ + ច្បាប់លំនាំដើមអនុញ្ញាត + ការ override បាត់ = ការបង្ហាញទិន្នន័យ។ ថ្នាក់ការកំណត់រចនាសម្ព័ន្ធខុសប្រាំខាងក្រោមគឺជា variant នៃរូបរាងនេះទាំងអស់។

ថ្នាក់ការកំណត់រចនាសម្ព័ន្ធខុសជាប់លាប់ប្រាំ

ទាំងនេះលេចឡើងនៅទូទាំង BaaS provider នីមួយៗ។ Scan ពេញលេញគ្របដណ្ដប់ទាំងប្រាំប្រឆាំងនឹង provider នីមួយៗដែលប្រើ៖

ថ្នាក់ទី 1៖ Key ខុសក្នុង bundle browser

Browser ship secret/admin key (Supabase service_role, Firebase Admin SDK private key, Clerk sk_*, Auth0 client secret) ជំនួសឱ្យសមមូលសាធារណៈ/anon។ Browser ក្លាយជា client admin គ្មានព្រំដែន។ គ្របដណ្ដប់ដោយ ការត្រួតពិនិត្យ bundle-secrets របស់ FixVibe

ថ្នាក់ទី 2៖ ផ្នែកគ្រប់គ្រងការចូលប្រើបិទ ឬអនុញ្ញាត

RLS បិទ, ច្បាប់ Firebase គឺ if true, បញ្ជី callback Auth0 មាន wildcard។ Credential ក្នុង browser គឺត្រឹមត្រូវ — តែព្រំដែនកម្រិតវេទិកាដែលមានបំណងកំណត់វាមិនធ្វើការងាររបស់វា។

ថ្នាក់ទី 3៖ ការអាន anonymous នៃធនធានរសើប

Collection Firestore ដែលអាចអាន anon, bucket Supabase storage ដែលអាចរាយ anon, Auth0 management API ដែលអាចចូលប្រើ anon។ Scan សួរ៖ "ដោយគ្មាន credential, ខ្ញុំអាចអានអ្វី?"

ថ្នាក់ទី 4៖ Artefact test-mode នៅក្នុងផលិតកម្ម

Test key (pk_test_*, sb_test_*) ក្នុង deploy ផលិតកម្ម; កម្មវិធី Firebase dev-mode អាចទាក់ទងបានពី domain live; កម្មវិធី Auth0 test-tenant ជាមួយការកំណត់ខ្សោយជាងផលិតកម្ម។ Scan ប្រៀបធៀប key runtime ប្រឆាំងនឹង prefix ផលិតកម្មដែលរំពឹង។

ថ្នាក់ទី 5៖ ការផ្ទៀងផ្ទាត់ហត្ថលេខា webhook បាត់

Webhook Clerk, Stripe webhook, Supabase webhook ទាំងអស់ចុះហត្ថលេខា payload របស់ពួកវា។ Handler ដែលមិនផ្ទៀងផ្ទាត់ហត្ថលេខាគឺជា primitive សរសេរ database សម្រាប់អ្នកវាយប្រហារណាមួយដែលទាយ URL។ រកឃើញតាមរយៈរូបរាង response — request មិនមានហត្ថលេខាដែលទទួល 200 មានន័យថាការផ្ទៀងផ្ទាត់ត្រូវបានរំលង។

របៀបដែលឆ័ត្រ FixVibe BaaS scan ដំណើរការ

ដំណាក់កាល BaaS របស់ FixVibe ដំណើរការក្នុងបីដំណាក់កាល, នីមួយៗបង្កើត finding ផ្សេងគ្នា៖

  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 — probe ជាក់លាក់ provider។ សម្រាប់ provider នីមួយៗដែលរកឃើញ, scanner ដំណើរការការត្រួតពិនិត្យជាក់លាក់ provider៖ baas.supabase-rls ត្រួតពិនិត្យ PostgREST; baas.firebase-rules ត្រួតពិនិត្យ Firestore + RTDB + Storage; baas.clerk-auth0 ផ្ទៀងផ្ទាត់ prefix នៃ key ដែល bundled; ការត្រួតពិនិត្យ bundle-secrets ផ្ទៀងផ្ទាត់ថាគ្មាន credential service-tier លេចធ្លាយ។ Probe នីមួយៗដំណើរការដោយឯករាជ្យ — finding Supabase មិនរារាំង Firebase scan។
  3. ដំណាក់កាលទី 3 — ការទាក់ទង cross-provider។ Scanner ឆ្លងយោងលើ finding។ Supabase service-role key ដែលលេចធ្លាយក្បែរ RLS ដែលបាត់គឺធ្ងន់ធ្ងរជាងណាមួយ — របាយការណ៍លើកស្ទុយនេះ។ identity provider ច្រើន (Clerk + Auth0 + custom auth) ក្នុងកម្មវិធីដូចគ្នាគឺជា finding រចនាសម្ព័ន្ធដែលសម្គាល់សម្រាប់ការពិនិត្យ។

Probe នីមួយៗគឺ passive៖ ច្រើនបំផុតមួយការអាន anonymous ក្នុងធនធាននីមួយៗ, ជាមួយរូបរាង response ដែលកត់ត្រា តែមាតិកា row មិនដែល paginated ឬរក្សា។ Probe សរសេរ និងកែប្រែត្រូវបានរារាំងនៅពីក្រោយការផ្ទៀងផ្ទាត់ភាពជាម្ចាស់ domain — ពួកវាមិនដែលដំណើរការប្រឆាំងនឹង target ដែលមិនបានផ្ទៀងផ្ទាត់។

អ្វីដែល scanner រកឃើញក្នុង provider នីមួយៗ

BaaS provider នីមួយៗមានផ្ទៃ និងយុទ្ធសាស្ត្រ scan ផ្សេងគ្នា។ នេះគឺជាអ្វីដែលគ្របដណ្ដប់៖

  • Supabase៖ RLS ដែលបាត់នៅលើតារាង, bucket storage អាចរាយ anon, JWT service_role ដែលលេចធ្លាយ ឬ key sb_secret_* ក្នុង bundle, schema ដែលបង្ហាញតាមរយៈបញ្ជី OpenAPI anonymous។ សូមមើល Supabase RLS scanner និង Storage checklist
  • Firebase៖ ច្បាប់ if true លើ Firestore, Realtime Database និង Cloud Storage; bucket Storage អាចរាយ anon; ការអនុវត្ត App Check បាត់។ សូមមើល Firebase rules scanner និង ការពន្យល់ច្បាប់ if-true
  • Clerk៖ sk_* secret key ដែល bundled, pk_test_* ក្នុងផលិតកម្ម, ការផ្ទៀងផ្ទាត់ហត្ថលេខា webhook បាត់, origin ដែលអនុញ្ញាត wildcard។ សូមមើល Clerk checklist
  • Auth0៖ Client secret ដែល bundled, Implicit grant បើក, URL callback / logout wildcard, PKCE បាត់នៅលើ SPA។ សូមមើល Auth0 checklist

របៀបដែល BaaS scanner ប្រៀបធៀបទៅ DAST និងឧបករណ៍ SAST ទូទៅ

Scanner BaaS-aware ធ្វើការងារជាក់លាក់ដែលឧបករណ៍ផ្សេងទៀតមិនធ្វើ។ ការប្រៀបធៀប៖

ផ្នែកFixVibe (DAST BaaS-aware)DAST ទូទៅ (Burp / ZAP)SAST / SCA (Snyk / Semgrep)
ការគ្របដណ្ដប់ BaaSការត្រួតពិនិត្យដើមកំណើតសម្រាប់ Supabase, Firebase, Clerk, Auth0, AppwriteWeb crawl ទូទៅ; គ្មាន probe ជាក់លាក់ providerStatic analysis នៃ repo តែប៉ុណ្ណោះ; គ្មានការផ្ទៀងផ្ទាត់ផលិតកម្ម
ពេលវេលា setupURL → ដំណើរការ → លទ្ធផលក្នុង 60 វិនាទីម៉ោង៖ កំណត់រចនាសម្ព័ន្ធ spider, auth, scopeថ្ងៃ៖ រួមបញ្ចូលក្នុង repo CI
អ្វីដែលវាបញ្ជាក់ការបង្ហាញ runtime ផលិតកម្មជាមួយភស្ដុតាងកម្រិត HTTPWeb-app vuln (XSS, SQLi); BaaS តាមរយៈការកំណត់ដោយដៃលំនាំកូដដែលអាច ឬមិនអាច deploy
ការត្រួតពិនិត្យ bundle JavaScriptDecode JWT, ត្រូវនឹង prefix secret, ដើរ chunkកំណត់ — string-based grep តែប៉ុណ្ណោះបាទ/ចាស, តែ repo-side តែប៉ុណ្ណោះ, មិន deployed
ការ scan បន្តប្រចាំខែ / លើ deploy តាមរយៈ API + MCPដោយដៃ; កំណត់រចនាសម្ព័ន្ធកាលវិភាគដោយខ្លួនឯងក្នុង commit (ល្អសម្រាប់កូដ, ខ្វាក់ដល់ runtime)
តម្លៃសម្រាប់ solo / ក្រុមតូចកម្រិតឥតគិតថ្លៃ; បង់ប្រាក់ពី $19/ខែBurp Pro $499/ឆ្នាំ; ZAP ឥតគិតថ្លៃ តែការវិជ្ជមានក្លែងក្លាយខ្ពស់Snyk ឥតគិតថ្លៃ / Semgrep ឥតគិតថ្លៃ; បង់ប្រាក់ពី $25/dev

Scope ស្មោះត្រង់៖ អ្វីដែល scanner នេះមិនជំនួស

Scanner DAST BaaS-aware គឺជាឧបករណ៍ផ្ដោត មិនមែនជាកម្មវិធីសុវត្ថិភាពពេញលេញ។ វាមិន៖

  • ជំនួស SAST ឬ SCA។ Static analysis រកឃើញ CVE dependency (Snyk, Semgrep) និងភាពងាយរងគ្រោះកម្រិតកូដ (SonarQube) ដែល scanner DAST មិនអាច។ ដំណើរការទាំងពីរ។
  • ជំនួសការសាកល្បងជ្រៀតចូលដោយដៃ។ Pentester មនុស្សរកឃើញ flaw តក្កពាណិជ្ជកម្ម, ករណីដាច់ស្រយាល authorization និងភាពងាយរងគ្រោះច្រវាក់ដែលគ្មាន scanner អាច។ ជួល pentester មុនការដាក់ឱ្យដំណើរការធំ ឬការត្រួតពិនិត្យ compliance។
  • ត្រួតពិនិត្យកូដ ឬ repo របស់អ្នកសម្រាប់ secret ក្នុងប្រវត្តិ git។ ការត្រួតពិនិត្យ bundle-secrets គ្របដណ្ដប់អ្វីដែលបច្ចុប្បន្ន deployed មិនមែនអ្វីដែលប្រវត្តិសាស្ត្រ committed។ ប្រើ git-secretsgitleaks សម្រាប់អនាម័យ repo។
  • គ្របដណ្ដប់សេវាកម្ម backend មិនមែន BaaS។ បើកម្មវិធីរបស់អ្នកប្រើ backend ផ្ទាល់ខ្លួន (Express, Rails, Django, FastAPI), FixVibe scan ផ្ទៃ HTTP របស់វា តែមិនត្រួតពិនិត្យ database ឬហេដ្ឋារចនាសម្ព័ន្ធនៅពីក្រោយវាឡើយ។ នោះគឺជាដែន DAST + SAST ទូទៅ។

សំណួរសួរញឹកញាប់

តើឆ័ត្រ scan ដំណើរការទេបើកម្មវិធីរបស់ខ្ញុំប្រើ BaaS provider ពីរ (ឧ. Supabase + Clerk)?

បាទ/ចាស — fingerprinting provider និង probe តាម provider គឺឯករាជ្យ។ Scanner រកឃើញទាំងពីរ, ដំណើរការ check suite ទាំងពីរ និងរាយការណ៍ការទាក់ទង cross-provider (ឧ. Supabase JWT template ពី Clerk ដែល ship email ជា claim ក្បែរ RLS បាត់)។

តើនេះខុសពីការដំណើរការ Burp Suite Pro ប្រឆាំងនឹងកម្មវិធីរបស់ខ្ញុំយ៉ាងណា?

Burp គឺជា workbench DAST ទូទៅ។ Out-of-the-box, Burp មិនដឹងថា PostgREST, Firestore ឬផ្លូវ Auth0 callback គឺជាអ្វី — អ្នកត្រូវកំណត់រចនាសម្ព័ន្ធ scope ដោយដៃ, សរសេរ extension និងបកស្រាយ response។ FixVibe ship ជាមួយ probe BaaS ដែលមានស្រាប់ និងការ format ភស្ដុតាងរូបរាង BaaS។ Burp ឈ្នះលើការគ្របដណ្ដប់ web-app ទូទៅ (XSS, SQLi, តក្កពាណិជ្ជកម្ម); FixVibe ឈ្នះលើ finding ជាក់លាក់ BaaS។

ចុះអំពី App Check (Firebase) ឬការ attestation (Apple / Google)?

App Check ធ្វើឱ្យ scan ខាងក្រៅឱកាសនិយមត្រឡប់ 403 លើ probe រាល់ — លទ្ធផលត្រឹមត្រូវសម្រាប់ bot អាក្រក់។ FixVibe scan ពី client មិន attested ប្រព្រឹត្តដូចគ្នា។ បើអ្នកមាន App Check បើក ហើយ FixVibe នៅតែរាយការណ៍ finding, វាមានន័យថាច្បាប់របស់អ្នកបើកសម្រាប់ client attested ផងដែរ ដែលជាហានិភ័យពិត។ App Check + ច្បាប់ត្រឹមត្រូវគឺជាលំនាំ defense-in-depth។

តើ scanner អាចផ្ទៀងផ្ទាត់ការជួសជុលរបស់ខ្ញុំទេ?

បាទ/ចាស — ដំណើរការឡើងវិញបន្ទាប់ពីការអនុវត្តការជួសជុល។ Check ID (ឧ. baas.supabase-rls) មានស្ថេរភាពនៅទូទាំងការដំណើរការ ដូច្នេះអ្នកអាច diff finding៖ finding ដែលជា open ក្នុងការដំណើរការ 1 និងបាត់ក្នុងការដំណើរការ 2 គឺជាភស្ដុតាងថាការជួសជុលធ្លាក់។

ជំហានបន្ទាប់

ដំណើរការ FixVibe scan ឥតគិតថ្លៃប្រឆាំងនឹង URL ផលិតកម្មរបស់អ្នក — ការត្រួតពិនិត្យដំណាក់កាល BaaS ship លើគ្រប់ plan រួមទាំងកម្រិតឥតគិតថ្លៃ។ សម្រាប់ការជ្រៀតចូលជាក់លាក់ provider, អត្ថបទផ្ទាល់នៅក្នុងផ្នែកនេះគ្របដណ្ដប់ provider នីមួយៗយ៉ាងលម្អិត៖ Supabase RLS, ការបង្ហាញ Supabase service-key, Supabase storage, Firebase rules, Firebase if-true, Clerk និង Auth0

// scan ផ្ទៃ baas របស់អ្នក

រកតារាងបើកចំហមុនពេលនរណាម្នាក់ផ្សេងទៀតរកឃើញ។

បញ្ចូល URL ផលិតកម្ម។ FixVibe រាប់ផ្គូផ្គង BaaS provider ដែលកម្មវិធីរបស់អ្នកនិយាយជាមួយ, fingerprint endpoint សាធារណៈរបស់ពួកគេ និងរាយការណ៍អ្វីដែល client មិនបាន authenticate អាចអាន ឬសរសេរ។ ឥតគិតថ្លៃ, គ្មានការដំឡើង, គ្មានកាត។

  • កម្រិតឥតគិតថ្លៃ — 3 scans/ខែ, គ្មានកាតចុះឈ្មោះ។
  • BaaS fingerprinting បែប passive — មិនត្រូវការការផ្ទៀងផ្ទាត់ domain។
  • Supabase, Firebase, Clerk, Auth0, Appwrite និងច្រើនទៀត។
  • AI fix prompt លើ finding នីមួយៗ — បិទភ្ជាប់ត្រឡប់ទៅក្នុង Cursor / Claude Code។
ដំណើរការ BaaS scan ឥតគិតថ្លៃ

មិនត្រូវការការចុះឈ្មោះ

BaaS misconfiguration scanner៖ រកផ្លូវទិន្នន័យសាធារណៈមុនពេលអ្នកប្រើ — Docs · FixVibe