Patikrinkite Supabase projektą pagal 45 OWASP Top 10:2025 taisykles ir ne tik
Prijunkite vieną projektą tik skaitymo režimu ir gaukite įvertintą ataskaitą su kiekvieno radinio taisymu čia pat, šiame puslapyje.
Komandoms, kurios su Lovable, Bolt, Cursor ar v0 kuria ant Supabase. Nemokama, be registracijos.
Nemokama, be registracijos. Tik skaitymas: jūsų projekte niekas nekeičiama.
- Prijunkite SupabasePatvirtinkite tik skaitymo prieigą svetainėje supabase.com.
- Atliekame 45 patikrasPrieiga ir RLS, prisijungimas, saugykla ir funkcijos, infrastruktūra. Tik katalogas ir nustatymai, niekada jūsų eilutės.
- Ataskaita ir promptas jūsų DI agentuiKiekvieno radinio taisymas ir promptas, kurį įklijuojate į Cursor, Claude Code ar Lovable. Saugoma tik jei ja pasidalijate.
Įkeliami jūsų Supabase projektai…
Pasirinkite nuskaitytiną projektą
20 mažųjų raidžių, kaip supabase.com/dashboard/project/jusu-ref.
Patvirtinkite, kad esate žmogus
Tai neleidžia automatiniams nuskaitymams apkrauti paslaugos.
Nuskaitymo žurnalas
Ką patikra mato
Skaitome
- Duomenų bazės katalogą: lenteles, RLS žymas, politikas, teises, vaizdus, funkcijas, plėtinius, vaidmenis ir kas gali skaityti Vault
- Auth nustatymus: slaptažodžių taisykles, el. pašto patvirtinimą, MFA, nukreipimo URL
- Storage: bucket sąrašą, kurie iš jų vieši, ir jų dydžio bei failų tipų apribojimus
- Edge Functions: sąrašą ir kiekvienos JWT nustatymą
- Projekto nustatymus: Postgres versiją, atsargines kopijas, SSL, tinklo apribojimus, Data API eilučių ribą
Niekada neskaitome
- Jūsų lentelių eilučių
- API raktų ir paslapčių: Supabase kai kuriuos įtraukia į nustatymų atsakymus, o patikra juos atmeta vos gavusi, jų neišsaugo, neįrašo į žurnalą ir nerodo
- Jūsų bucket saugomų failų
- Jūsų programos kodo ir saugyklos (repozitorijos)
Ataskaita saugoma tik sukūrus bendrinimo nuorodą, daugiausia 7 dienas. Suteikta prieiga atšaukiama iškart po patikros.
Ko skaitymo prieiga patikrinti negali
- A06 Nesaugus dizainas ir A10 Netinkamas išimtinių situacijų valdymas yra jūsų programos kode, o ne projekto nustatymuose.
- Frontend priklausomybės (A03 npm dalis) ir į frontend kodą patekęs service_role raktas. Patikrinkite savo repozitoriją.
- Prieigos taisyklės, esančios tik programos kode ar Edge Functions, pavyzdžiui plan = 'pro' patikra frontend dalyje. Nuskaitymas mato tik stulpelius, kuriuos pati duomenų bazė naudoja politikose, funkcijose ir auth hooks, todėl sėkmingas rašomų prieigos stulpelių rezultatas nereiškia, kad tie stulpeliai saugūs.
- Ar vienas prisijungęs naudotojas gali skaityti kito naudotojo eilutes. Tam reikia testo su dviem tikrais naudotojais: kaip testuoti Supabase RLS
Supabase Security Advisor ir ši patikra
| Klausimas | Security Advisor | Ši patikra |
|---|---|---|
| Kur veikia | Supabase skydelyje, vienas projektas vienu metu | Šiame puslapyje, po tik skaitymo OAuth, jūsų pasirinktam projektui |
| Ką skaito | Duomenų bazės lint taisykles | Tas pačias lint taisykles kaip vieną patikrą, be to, auth, storage, Edge Functions, atsargines kopijas ir tinklo nustatymus |
| Kaip sugrupuoti rezultatai | Pagal lint taisyklę | Pagal OWASP Top 10:2025, įvardijant kategorijas, kurių negalima patikrinti |
| Ką gaunate taisymui | Nuorodą į lint dokumentaciją | Kiekvienam radiniui SQL arba skydelio nustatymą ir promptą jūsų AI agentui |
| Ką galite pasilikti | Sąrašą savo skydelyje | PDF arba bendrinimo nuorodą, kuri nustoja galioti po 7 dienų |
OWASP Top 10:2025 aprėptis
| Kategorija | Patikros | Būsena |
|---|---|---|
| A01 Sugadinta prieigos kontrolė | 18 | Aprėpta |
| A02 Neteisinga saugumo konfigūracija | 9 | Aprėpta |
| A03 Programinės įrangos tiekimo grandinės gedimai | 2 | Iš dalies Tik Postgres versija ir plėtiniai. npm priklausomybės yra jūsų repozitorijoje. |
| A04 Kriptografijos gedimai | 4 | Aprėpta |
| A05 Injekcija | 1 | Aprėpta |
| A06 Nesaugus dizainas | 0 | Netikrinama Nesaugus dizainas slypi tame, kaip veikia jūsų programa, o ne nustatymuose. |
| A07 Autentifikavimo gedimai | 8 | Aprėpta |
| A08 Programinės įrangos ar duomenų vientisumo gedimai | 1 | Aprėpta |
| A09 Saugumo žurnalų ir įspėjimų gedimai | 2 | Aprėpta |
| A10 Netinkamas išimtinių situacijų valdymas | 0 | Netikrinama Klaidų valdymas yra jūsų programos kode, kurio skaitymo prieiga niekada nemato. |
Visos 45 patikros
| Patikra | ID | OWASP | Blogiausias atvejis |
|---|---|---|---|
| RLS išjungtas atskleistose lentelėse | rls_disabled_exposed | A01 | Kritinė |
| Politikos, leidžiančios visas eilutes | policy_always_true | A01 | Aukšta |
| Politikos, pasitikinčios naudotojo metaduomenimis | policy_uses_user_metadata | A01 | Aukšta |
| Anoniminiams lankytojams atviros rašymo politikos | anon_write_policies | A01 | Aukšta |
| Vaizdai, apeinantys RLS | views_without_security_invoker | A01 | Aukšta |
| Medžiagintieji vaizdai ar išorinės lentelės API | matviews_or_foreign_tables_exposed | A01 | Vidutinė |
| Iš API iškviečiamos security definer funkcijos | security_definer_executable | A01 | Aukšta |
| Anoniminiams lankytojams atviros storage politikos | storage_objects_anon_policies | A01 | Aukšta |
| Vieši storage bucket | public_buckets | A01 | Žema |
| Neapsaugoti Realtime privatūs kanalai | realtime_messages_rls | A01 | Aukšta |
| Nenaudojamos rašymo teisės anoniminiams lankytojams | anon_table_grants_write | A01 | Žema |
| Vaidmenys, apeinantys RLS | roles_bypass_rls | A01 | Aukšta |
| Prieigos stulpeliai, kuriuos prisijungę naudotojai gali keisti | authz_columns_writable | A01 | Aukšta |
| Ištrynus ir vėl įterpus pasikeičia apsaugotas stulpelis | delete_insert_bypass | A01 | Aukšta |
| Nereikalingos lentelių teisės prisijungusiems naudotojams | authenticated_table_grants_extra | A01 | Žema |
| Numatytosios teisės, kurios atveria naujus objektus API | default_privileges_api_roles | A01 | Žema |
| Security definer funkcijos, kurios tikrina current_user | definer_checks_current_user | A01 | Vidutinė |
| Politikos be vaidmens ar komandos | policies_without_to_or_for | A01 | Žema |
| Supabase Security Advisor radiniai | advisor_lints | A02 | Aukšta |
| Papildomos Data API atskleistos schemos | extra_exposed_schemas | A02 | Aukšta |
| Pakaitos simboliai nukreipimo URL | redirect_wildcards | A02 | Vidutinė |
| Nukreipimo URL per http arba į localhost | insecure_redirect_urls | A02 | Vidutinė |
| Anoniminis prisijungimas įjungtas | anonymous_signins_enabled | A02 | Vidutinė |
| CAPTCHA išjungta registracijai ir prisijungimui | captcha_disabled | A02 | Vidutinė |
| Duomenų bazė atvira visiems IP adresams | network_open | A02 | Vidutinė |
| Vieši bucket be įkėlimo apribojimų | public_bucket_no_limits | A02 | Žema |
| Data API atsakymams nėra eilučių ribos | postgrest_max_rows | A02 | Vidutinė |
| Yra Postgres atnaujinimas | postgres_upgrade_available | A03 | Vidutinė |
| Įdiegti plėtiniai | extensions_listed | A03 | Info |
| SSL neprivalomas duomenų bazės ryšiuose | ssl_enforcement_off | A04 | Vidutinė |
| Prieigos raktai galioja ilgiau nei valandą | jwt_expiry_long | A04 | Vidutinė |
| Anoniminiams lankytojams skaitomi jautriai atrodantys stulpeliai | sensitive_columns_exposed | A04 | Aukšta |
| Vault paslaptys, skaitomos API vaidmenims | vault_secrets_exposed | A04 | Kritinė |
| Iš eilučių sudaromas dinaminis SQL | dynamic_sql_concat | A05 | Vidutinė |
| Trumpas mažiausias slaptažodžio ilgis | password_min_length | A07 | Aukšta |
| Nutekėjusių slaptažodžių apsauga išjungta | leaked_password_protection_off | A07 | Vidutinė |
| El. pašto patvirtinimas išjungtas | email_confirm_off | A07 | Aukšta |
| Saugus el. pašto keitimas išjungtas | secure_email_change_off | A07 | Vidutinė |
| Vienkartiniai kodai galioja ilgiau nei valandą | otp_expiry_long | A07 | Vidutinė |
| Neįjungtas joks daugiaveiksnis metodas | mfa_unavailable | A07 | Vidutinė |
| Refresh token rotacija išjungta | refresh_token_rotation_off | A07 | Vidutinė |
| Slaptažodžio keitimas be pakartotinio patvirtinimo | password_change_no_reauth | A07 | Žema |
| Edge Functions be JWT patikros | edge_functions_without_jwt | A08 | Žema |
| pgaudit neįdiegtas | pgaudit_missing | A09 | Info |
| Atsarginių kopijų nerasta | backups_or_pitr | A09 | Vidutinė |
Klausimai
Kuo tai skiriasi nuo Supabase Security Advisor?
Security Advisor rezultatai yra viena iš patikrų. Nuskaitymas papildomai tikrina auth nustatymus, storage politikas, Edge Functions, atsargines kopijas ir tinklo nustatymus, viską sugrupuoja pagal OWASP Top 10:2025 ir pateikia kiekvieno radinio taisymą.
Ar Supabase pagal numatytuosius nustatymus saugus?
Platformą prižiūri Supabase, bet prieigos taisyklės yra jūsų. Nauja lentelė, sukurta paprastu SQL, turi išjungtą Row Level Security, o politika, užrašyta kaip using (true), leidžia bet kam su anon raktu skaityti lentelę. Nuskaitymas ieško būtent tokių nustatymų.
Ką reiškia „RLS išjungtas“ ir kaip jį įjungti?
Kai RLS išjungtas lentelėje, esančioje atskleistoje schemoje, bet kas su jūsų anon raktu gali per Data API skaityti visas eilutes. Įjunkite jį komanda alter table public.jusu_lentele enable row level security; ir tada pridėkite norimos prieigos politikas.
Ar saugu, kad mano Supabase anon raktas yra naršyklėje?
Taip, anon (publishable) raktas skirtas būti viešas. Jis gali tik tai, ką leidžia jūsų teisės ir RLS politikos, todėl nuskaitymas jas ir tikrina. Raktas service_role apeina RLS ir niekada neturi patekti į naršyklę.
Patikrinkite savo projektą
Nemokama ir tik skaitymui. Ataskaita pasirodo šiame puslapyje.
Patikrinti mano Supabase projektą