Pārbaudiet Supabase projektu pēc 45 OWASP Top 10:2025 noteikumiem un citiem
Pievienojiet vienu projektu tikai lasīšanas režīmā un saņemiet novērtētu atskaiti ar katra atraduma labojumu tieši šajā lapā.
Komandām, kas veido ar Lovable, Bolt, Cursor vai v0 uz Supabase. Bez maksas, bez reģistrācijas.
Bez maksas, bez reģistrācijas. Tikai lasīšana: jūsu projektā nekas netiek mainīts.
- Pievienojiet SupabaseApstipriniet tikai lasīšanas piekļuvi vietnē supabase.com.
- Veicam 45 pārbaudesPiekļuve un RLS, pieteikšanās, krātuve un funkcijas, infrastruktūra. Tikai katalogs un iestatījumi, nekad jūsu rindas.
- Atskaite un prompts jūsu AI aģentamLabojums katram atradumam un prompts, ko ielīmējat Cursor, Claude Code vai Lovable. Tiek glabāta tikai tad, ja to kopīgojat.
Ielādē jūsu Supabase projektus…
Izvēlieties skenējamo projektu
20 mazie burti, kā supabase.com/dashboard/project/jusu-ref.
Apstipriniet, ka esat cilvēks
Tas neļauj automātiskām skenēšanām noslogot pakalpojumu.
Skenēšanas žurnāls
Ko pārbaude redz
Mēs lasām
- Datubāzes katalogu: tabulas, RLS karodziņus, politikas, tiesības, skatus, funkcijas, paplašinājumus, lomas un to, kas drīkst lasīt Vault
- Auth iestatījumus: paroļu noteikumus, e-pasta apstiprināšanu, MFA, novirzīšanas URL
- Storage: bucket sarakstu, kuri ir publiski, un to izmēra un failu tipu ierobežojumus
- Edge Functions: sarakstu un katras JWT iestatījumu
- Projekta iestatījumus: Postgres versiju, dublējumus, SSL, tīkla ierobežojumus, Data API rindu limitu
Mēs nekad nelasām
- Jūsu tabulu rindas
- API atslēgas un noslēpumus: Supabase dažus iekļauj iestatījumu atbildēs, un pārbaude tos izmet uzreiz pēc saņemšanas, tos neglabājot, nežurnalējot un nerādot
- Jūsu bucket glabātos failus
- Jūsu lietotnes kodu un repozitoriju
Atskaite tiek glabāta tikai tad, kad izveidojat kopīgošanas saiti, ne ilgāk kā 7 dienas. Piešķirtā piekļuve tiek atsaukta uzreiz pēc pārbaudes.
Ko lasīšanas piekļuve nevar pārbaudīt
- A06 Nedrošs dizains un A10 Nepareiza izņēmuma situāciju apstrāde atrodas jūsu lietotnes kodā, nevis projekta iestatījumos.
- Frontend atkarības (A03 npm daļa) un frontend kodā iekļauta service_role atslēga. Pārbaudiet savu repozitoriju.
- Piekļuves noteikumi, kas ir tikai lietotnes kodā vai Edge Functions, piemēram, plan = 'pro' pārbaude frontend. Skenēšana redz tikai kolonnas, ko pati datubāze izmanto politikās, funkcijās un auth hooks, tāpēc sekmīgs rezultāts rakstāmām piekļuves kolonnām nenozīmē, ka šīs kolonnas ir drošas.
- Vai viens pieteicies lietotājs var nolasīt cita lietotāja rindas. Tam nepieciešams tests ar diviem īstiem lietotājiem: kā testēt Supabase RLS
Supabase Security Advisor un šī pārbaude
| Jautājums | Security Advisor | Šī pārbaude |
|---|---|---|
| Kur tas darbojas | Supabase panelī, vienu projektu vienlaikus | Šajā lapā, pēc tikai lasīšanas OAuth, jūsu izvēlētajam projektam |
| Ko tas lasa | Datubāzes lint noteikumus | Tos pašus lint noteikumus kā vienu pārbaudi, kā arī auth, storage, Edge Functions, dublējumus un tīkla iestatījumus |
| Kā rezultāti tiek grupēti | Pēc lint noteikuma | Pēc OWASP Top 10:2025, nosaucot kategorijas, kuras nevar pārbaudīt |
| Ko saņemat labošanai | Saiti uz lint dokumentāciju | Katram atradumam SQL vai paneļa iestatījumu un promptu jūsu AI aģentam |
| Ko varat paturēt | Sarakstu savā panelī | PDF vai kopīgošanas saiti, kas beidzas pēc 7 dienām |
OWASP Top 10:2025 pārklājums
| Kategorija | Pārbaudes | Statuss |
|---|---|---|
| A01 Bojāta piekļuves kontrole | 18 | Pārklāta |
| A02 Drošības konfigurācijas kļūdas | 9 | Pārklāta |
| A03 Programmatūras piegādes ķēdes kļūmes | 2 | Daļēji Tikai Postgres versija un paplašinājumi. npm atkarības atrodas jūsu repozitorijā. |
| A04 Kriptogrāfijas kļūmes | 4 | Pārklāta |
| A05 Injekcija | 1 | Pārklāta |
| A06 Nedrošs dizains | 0 | Nav pārbaudāma Nedrošs dizains slēpjas tajā, kā darbojas jūsu lietotne, nevis iestatījumos. |
| A07 Autentifikācijas kļūmes | 8 | Pārklāta |
| A08 Programmatūras vai datu integritātes kļūmes | 1 | Pārklāta |
| A09 Drošības žurnālu un brīdinājumu kļūmes | 2 | Pārklāta |
| A10 Nepareiza izņēmuma situāciju apstrāde | 0 | Nav pārbaudāma Kļūdu apstrāde ir jūsu lietotnes kodā, ko lasīšanas piekļuve nekad neredz. |
Visas 45 pārbaudes
| Pārbaude | ID | OWASP | Sliktākais gadījums |
|---|---|---|---|
| RLS izslēgts atklātajām tabulām | rls_disabled_exposed | A01 | Kritiska |
| Politikas, kas atļauj visas rindas | policy_always_true | A01 | Augsta |
| Politikas, kas uzticas lietotāja metadatiem | policy_uses_user_metadata | A01 | Augsta |
| Anonīmiem apmeklētājiem atvērtas rakstīšanas politikas | anon_write_policies | A01 | Augsta |
| Skati, kas apiet RLS | views_without_security_invoker | A01 | Augsta |
| Materializētie skati vai ārējās tabulas API | matviews_or_foreign_tables_exposed | A01 | Vidēja |
| No API izsaucamas security definer funkcijas | security_definer_executable | A01 | Augsta |
| Anonīmiem apmeklētājiem atvērtas storage politikas | storage_objects_anon_policies | A01 | Augsta |
| Publiski storage bucket | public_buckets | A01 | Zema |
| Neaizsargāti Realtime privātie kanāli | realtime_messages_rls | A01 | Augsta |
| Neizmantotas rakstīšanas tiesības anonīmiem apmeklētājiem | anon_table_grants_write | A01 | Zema |
| Lomas, kas apiet RLS | roles_bypass_rls | A01 | Augsta |
| Piekļuves kolonnas, ko pieteikušies lietotāji var mainīt | authz_columns_writable | A01 | Augsta |
| Dzēšana un atkārtota ievietošana maina aizsargātu kolonnu | delete_insert_bypass | A01 | Augsta |
| Nevajadzīgas tabulu tiesības pieteikušamies lietotājiem | authenticated_table_grants_extra | A01 | Zema |
| Noklusējuma tiesības, kas atver jaunus objektus API | default_privileges_api_roles | A01 | Zema |
| Security definer funkcijas, kas pārbauda current_user | definer_checks_current_user | A01 | Vidēja |
| Politikas bez lomas vai komandas | policies_without_to_or_for | A01 | Zema |
| Supabase Security Advisor atradumi | advisor_lints | A02 | Augsta |
| Papildu Data API atklātās shēmas | extra_exposed_schemas | A02 | Augsta |
| Aizstājējzīmes novirzīšanas URL | redirect_wildcards | A02 | Vidēja |
| Novirzīšanas URL ar http vai uz localhost | insecure_redirect_urls | A02 | Vidēja |
| Anonīmā pieteikšanās ieslēgta | anonymous_signins_enabled | A02 | Vidēja |
| CAPTCHA izslēgta reģistrācijai un pieteikšanai | captcha_disabled | A02 | Vidēja |
| Datubāze atvērta visām IP adresēm | network_open | A02 | Vidēja |
| Publiski bucket bez augšupielādes ierobežojumiem | public_bucket_no_limits | A02 | Zema |
| Data API atbildēm nav rindu limita | postgrest_max_rows | A02 | Vidēja |
| Pieejams Postgres atjauninājums | postgres_upgrade_available | A03 | Vidēja |
| Instalētie paplašinājumi | extensions_listed | A03 | Info |
| SSL nav obligāts datubāzes savienojumiem | ssl_enforcement_off | A04 | Vidēja |
| Piekļuves tokeni derīgi ilgāk par stundu | jwt_expiry_long | A04 | Vidēja |
| Anonīmiem apmeklētājiem lasāmas jutīgi izskatošās kolonnas | sensitive_columns_exposed | A04 | Augsta |
| Vault noslēpumi lasāmi API lomām | vault_secrets_exposed | A04 | Kritiska |
| No virknēm veidots dinamiskais SQL | dynamic_sql_concat | A05 | Vidēja |
| Īss minimālais paroles garums | password_min_length | A07 | Augsta |
| Noplūdušo paroļu aizsardzība izslēgta | leaked_password_protection_off | A07 | Vidēja |
| E-pasta apstiprināšana izslēgta | email_confirm_off | A07 | Augsta |
| Drošā e-pasta maiņa izslēgta | secure_email_change_off | A07 | Vidēja |
| Vienreizējie kodi derīgi ilgāk par stundu | otp_expiry_long | A07 | Vidēja |
| Nav ieslēgta neviena daudzfaktoru metode | mfa_unavailable | A07 | Vidēja |
| Refresh token rotācija izslēgta | refresh_token_rotation_off | A07 | Vidēja |
| Paroles maiņa bez atkārtotas autentifikācijas | password_change_no_reauth | A07 | Zema |
| Edge Functions bez JWT pārbaudes | edge_functions_without_jwt | A08 | Zema |
| pgaudit nav instalēts | pgaudit_missing | A09 | Info |
| Dublējumi nav atrasti | backups_or_pitr | A09 | Vidēja |
Jautājumi
Ar ko tas atšķiras no Supabase Security Advisor?
Security Advisor rezultāti ir viena no pārbaudēm. Skenēšana papildus pārbauda auth iestatījumus, storage politikas, Edge Functions, dublējumus un tīkla iestatījumus, visu sagrupē pēc OWASP Top 10:2025 un sniedz labojumu katram atradumam.
Vai Supabase pēc noklusējuma ir drošs?
Platformu uztur Supabase, taču piekļuves noteikumi ir jūsu. Jaunai tabulai, kas izveidota ar parastu SQL, Row Level Security ir izslēgts, un politika, uzrakstīta kā using (true), ļauj ikvienam ar anon atslēgu lasīt tabulu. Skenēšana meklē tieši šādus iestatījumus.
Ko nozīmē „RLS izslēgts“ un kā to ieslēgt?
Ja RLS ir izslēgts tabulai atklātā shēmā, ikviens ar jūsu anon atslēgu var caur Data API nolasīt visas rindas. Ieslēdziet to ar alter table public.jusu_tabula enable row level security; un pēc tam pievienojiet vēlamās piekļuves politikas.
Vai ir droši, ka mana Supabase anon atslēga atrodas pārlūkā?
Jā, anon (publishable) atslēga ir paredzēta publiskai lietošanai. Tā var tikai to, ko ļauj jūsu tiesības un RLS politikas, tāpēc skenēšana tās pārbauda. Atslēga service_role apiet RLS un nekad nedrīkst nonākt pārlūkā.
Pārbaudiet savu projektu
Bez maksas un tikai lasīšanai. Atskaite parādās šajā lapā.
Pārbaudīt manu Supabase projektu