Prejsť na obsah

Skontrolujte projekt Supabase podľa 45 pravidiel OWASP Top 10:2025 a ďalších

Pripojte jeden projekt len na čítanie a získajte ohodnotenú správu s opravou ku každému nálezu priamo na tejto stránke.

Pre tímy, ktoré stavajú s Lovable, Bolt, Cursor alebo v0 na Supabase. Zadarmo, bez registrácie.

Skontrolovať môj projekt Supabase

Zadarmo, bez registrácie. Len na čítanie: nič vo vašom projekte sa nemení.

  1. Pripojte SupabaseSchváľte prístup len na čítanie na supabase.com.
  2. Spustíme 45 kontrolPrístup a RLS, prihlasovanie, úložisko a funkcie, infraštruktúra. Len katalóg a nastavenia, nikdy vaše riadky.
  3. Správa a prompt pre vášho AI agentaOprava ku každému nálezu a prompt, ktorý vložíte do Cursor, Claude Code alebo Lovable. Uloží sa, len keď ju zdieľate.

Čo kontrola vidí

Čítame

  • Katalóg databázy: tabuľky, príznaky RLS, politiky, oprávnenia, pohľady, funkcie, rozšírenia, roly a kto smie čítať Vault
  • Nastavenia autentifikácie: pravidlá hesiel, potvrdenie e-mailu, MFA, presmerovacie URL
  • Storage: zoznam bucketov, ktoré z nich sú verejné, a ich limity veľkosti a typu súborov
  • Edge Functions: zoznam a nastavenie JWT pri každej z nich
  • Nastavenia projektu: verzia Postgresu, zálohy, SSL, obmedzenia siete, limit riadkov Data API

Nikdy nečítame

  • Riadky vo vašich tabuľkách
  • API kľúče a tajné údaje: Supabase niektoré vracia v odpovediach s nastaveniami a kontrola ich pri príchode zahodí bez ukladania, zaznamenávania alebo zobrazenia
  • Súbory uložené vo vašich bucketoch
  • Kód vašej aplikácie a repozitár

Správa sa uloží, len keď vytvoríte odkaz na zdieľanie, najviac na 7 dní. Udelený prístup sa po kontrole hneď odvolá.

Čo prístup len na čítanie skontrolovať nemôže

  • A06 Nezabezpečený návrh a A10 Nesprávne zaobchádzanie s výnimočnými stavmi sú v kóde vašej aplikácie, nie v nastaveniach projektu.
  • Závislosti frontendu (časť A03 okolo npm) a kľúč service_role zabalený do frontendového kódu. Overte ich vo svojom repozitári.
  • Pravidlá prístupu, ktoré existujú len v kóde aplikácie alebo v Edge Functions, napríklad kontrola plan = 'pro' vo frontende. Sken vidí len stĺpce, ktoré databáza sama používa v politikách, funkciách a auth hooks, takže úspešný výsledok pre zapisovateľné prístupové stĺpce neznamená, že sú tieto stĺpce bezpečné.
  • Či jeden prihlásený používateľ môže čítať riadky iného používateľa. Na to je potrebný test s dvoma skutočnými používateľmi: ako testovať RLS v Supabase

Supabase Security Advisor a táto kontrola

OtázkaSecurity AdvisorTáto kontrola
Kde to bežíV dashboarde Supabase, vždy jeden projektNa tejto stránke, po OAuth len na čítanie, pre projekt, ktorý si vyberiete
Čo čítaLintery databázyRovnaké lintery ako jedna kontrola, k tomu autentifikáciu, storage, Edge Functions, zálohy a nastavenia siete
Ako sú výsledky zoskupenéPodľa linteruPodľa OWASP Top 10:2025, s uvedenými kategóriami, ktoré sa nedajú skontrolovať
Čo dostanete na opravuOdkaz na dokumentáciu linteruSQL alebo nastavenie v dashboarde ku každému nálezu a prompt pre vášho AI agenta
Čo si môžete ponechaťZoznam vo vašom dashboardePDF alebo odkaz na zdieľanie, ktorý po 7 dňoch vyprší

Pokrytie OWASP Top 10:2025

KategóriaKontrolyStav
A01 Narušené riadenie prístupu18Pokryté
A02 Chybná konfigurácia zabezpečenia9Pokryté
A03 Zlyhania v dodávateľskom reťazci softvéru2Čiastočne Len verzia Postgresu a rozšírenia. Závislosti z npm sú vo vašom repozitári.
A04 Zlyhania kryptografie4Pokryté
A05 Injekcia1Pokryté
A06 Nezabezpečený návrh0Nedá sa skontrolovať Nezabezpečený návrh je v tom, ako aplikácia funguje, nie v nastaveniach.
A07 Zlyhania autentifikácie8Pokryté
A08 Zlyhania integrity softvéru alebo dát1Pokryté
A09 Zlyhania logovania a upozornení na bezpečnostné udalosti2Pokryté
A10 Nesprávne zaobchádzanie s výnimočnými stavmi0Nedá sa skontrolovať Ošetrenie chýb je v kóde vašej aplikácie, ktorý prístup len na čítanie nevidí.

Všetkých 45 kontrol

KontrolaIDOWASPNajhorší prípad
RLS vypnuté pri sprístupnených tabuľkáchrls_disabled_exposedA01Kritická
Politiky, ktoré povoľujú každý riadokpolicy_always_trueA01Vysoká
Politiky, ktoré veria metadátam používateľapolicy_uses_user_metadataA01Vysoká
Politiky zápisu otvorené anonymným návštevníkomanon_write_policiesA01Vysoká
Pohľady, ktoré obchádzajú RLSviews_without_security_invokerA01Vysoká
Materializované pohľady alebo cudzie tabuľky v APImatviews_or_foreign_tables_exposedA01Stredná
Funkcie security definer volateľné z APIsecurity_definer_executableA01Vysoká
Politiky Storage otvorené anonymným návštevníkomstorage_objects_anon_policiesA01Vysoká
Verejné buckety v Storagepublic_bucketsA01Nízka
Súkromné kanály Realtime bez ochranyrealtime_messages_rlsA01Vysoká
Nepoužívané oprávnenia na zápis pre anonymných návštevníkovanon_table_grants_writeA01Nízka
Roly, ktoré obchádzajú RLSroles_bypass_rlsA01Vysoká
Prístupové stĺpce, ktoré prihlásení používatelia môžu meniťauthz_columns_writableA01Vysoká
Zmazanie a nové vloženie zmení chránený stĺpecdelete_insert_bypassA01Vysoká
Zbytočné oprávnenia na tabuľky pre prihlásených používateľovauthenticated_table_grants_extraA01Nízka
Predvolené oprávnenia, ktoré otvárajú nové objekty pre APIdefault_privileges_api_rolesA01Nízka
Funkcie security definer, ktoré kontrolujú current_userdefiner_checks_current_userA01Stredná
Politiky bez roly alebo príkazupolicies_without_to_or_forA01Nízka
Nálezy Supabase Security Advisoraadvisor_lintsA02Vysoká
Ďalšie schémy sprístupnené v Data APIextra_exposed_schemasA02Vysoká
Zástupné znaky v presmerovacích URLredirect_wildcardsA02Stredná
Presmerovacie URL cez http alebo na localhostinsecure_redirect_urlsA02Stredná
Anonymné prihlásenie zapnutéanonymous_signins_enabledA02Stredná
CAPTCHA vypnutá pri registrácii a prihlásenícaptcha_disabledA02Stredná
Databáza otvorená všetkým IP adresámnetwork_openA02Stredná
Verejné buckety bez limitov nahrávaniapublic_bucket_no_limitsA02Nízka
Odpovede Data API bez limitu riadkovpostgrest_max_rowsA02Stredná
K dispozícii je upgrade Postgresupostgres_upgrade_availableA03Stredná
Nainštalované rozšíreniaextensions_listedA03Info
SSL sa pri pripojeniach k databáze nevynucujessl_enforcement_offA04Stredná
Prístupové tokeny platia dlhšie ako hodinujwt_expiry_longA04Stredná
Stĺpce vyzerajúce citlivo čitateľné pre anonymných návštevníkovsensitive_columns_exposedA04Vysoká
Tajomstvá vo Vault čitateľné rolami APIvault_secrets_exposedA04Kritická
Dynamické SQL skladané z reťazcovdynamic_sql_concatA05Stredná
Krátka minimálna dĺžka heslapassword_min_lengthA07Vysoká
Ochrana pred uniknutými heslami vypnutáleaked_password_protection_offA07Stredná
Potvrdenie e-mailu vypnutéemail_confirm_offA07Vysoká
Zabezpečená zmena e-mailu vypnutásecure_email_change_offA07Stredná
Jednorazové kódy platia dlhšie ako hodinuotp_expiry_longA07Stredná
Nie je zapnutá žiadna metóda viacfaktorového overeniamfa_unavailableA07Stredná
Rotácia refresh tokenov vypnutárefresh_token_rotation_offA07Stredná
Zmena hesla bez opätovného overeniapassword_change_no_reauthA07Nízka
Edge Functions bez overenia JWTedge_functions_without_jwtA08Nízka
pgaudit nie je nainštalovanýpgaudit_missingA09Info
Nenašli sa žiadne zálohybackups_or_pitrA09Stredná

Otázky

Čím sa to líši od Supabase Security Advisora?

Výsledky Security Advisora sú jednou z kontrol. Kontrola k nim pridáva nastavenia autentifikácie, politiky storage, Edge Functions, zálohy a nastavenia siete, všetko zoskupuje podľa OWASP Top 10:2025 a ku každému nálezu dáva opravu.

Je Supabase v predvolenom stave zabezpečený?

Platformu spravuje Supabase, ale pravidlá prístupu sú vaše. Nová tabuľka vytvorená čistým SQL má Row Level Security vypnuté a politika zapísaná ako using (true) dovolí čítať tabuľku každému s kľúčom anon. Kontrola hľadá práve tieto nastavenia.

Čo znamená „RLS disabled“ a ako ho zapnúť?

Keď je RLS pri tabuľke v sprístupnenej schéme vypnuté, prečíta cez Data API každý riadok ktokoľvek s kľúčom anon. Zapnete ho príkazom alter table public.your_table enable row level security; a potom pridáte politiky pre prístup, ktorý chcete.

Je v poriadku, že môj kľúč anon od Supabase je v prehliadači?

Áno, kľúč anon (publishable) je určený na to, aby bol verejný. Dokáže len to, čo dovoľujú vaše oprávnenia a politiky RLS, a preto ich kontrola overuje. Kľúč service_role RLS obchádza a nesmie sa nikdy dostať do prehliadača.

Skontrolujte svoj projekt

Zadarmo a len na čítanie. Správa sa zobrazí na tejto stránke.

Skontrolovať môj projekt Supabase