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.
Zadarmo, bez registrácie. Len na čítanie: nič vo vašom projekte sa nemení.
- Pripojte SupabaseSchváľte prístup len na čítanie na supabase.com.
- Spustíme 45 kontrolPrístup a RLS, prihlasovanie, úložisko a funkcie, infraštruktúra. Len katalóg a nastavenia, nikdy vaše riadky.
- 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.
Načítavanie vašich projektov Supabase…
Vyberte projekt na sken
20 malých písmen, ako v supabase.com/dashboard/project/your-ref.
Potvrďte, že nie ste robot
Tým sa služba chráni pred automatickými skenmi.
Záznam skenu
Č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ázka | Security Advisor | Táto kontrola |
|---|---|---|
| Kde to beží | V dashboarde Supabase, vždy jeden projekt | Na tejto stránke, po OAuth len na čítanie, pre projekt, ktorý si vyberiete |
| Čo číta | Lintery databázy | Rovnaké lintery ako jedna kontrola, k tomu autentifikáciu, storage, Edge Functions, zálohy a nastavenia siete |
| Ako sú výsledky zoskupené | Podľa linteru | Podľa OWASP Top 10:2025, s uvedenými kategóriami, ktoré sa nedajú skontrolovať |
| Čo dostanete na opravu | Odkaz na dokumentáciu linteru | SQL 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 dashboarde | PDF alebo odkaz na zdieľanie, ktorý po 7 dňoch vyprší |
Pokrytie OWASP Top 10:2025
| Kategória | Kontroly | Stav |
|---|---|---|
| A01 Narušené riadenie prístupu | 18 | Pokryté |
| A02 Chybná konfigurácia zabezpečenia | 9 | Pokryté |
| A03 Zlyhania v dodávateľskom reťazci softvéru | 2 | Čiastočne Len verzia Postgresu a rozšírenia. Závislosti z npm sú vo vašom repozitári. |
| A04 Zlyhania kryptografie | 4 | Pokryté |
| A05 Injekcia | 1 | Pokryté |
| A06 Nezabezpečený návrh | 0 | Nedá sa skontrolovať Nezabezpečený návrh je v tom, ako aplikácia funguje, nie v nastaveniach. |
| A07 Zlyhania autentifikácie | 8 | Pokryté |
| A08 Zlyhania integrity softvéru alebo dát | 1 | Pokryté |
| A09 Zlyhania logovania a upozornení na bezpečnostné udalosti | 2 | Pokryté |
| A10 Nesprávne zaobchádzanie s výnimočnými stavmi | 0 | Nedá 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
| Kontrola | ID | OWASP | Najhorší prípad |
|---|---|---|---|
| RLS vypnuté pri sprístupnených tabuľkách | rls_disabled_exposed | A01 | Kritická |
| Politiky, ktoré povoľujú každý riadok | policy_always_true | A01 | Vysoká |
| Politiky, ktoré veria metadátam používateľa | policy_uses_user_metadata | A01 | Vysoká |
| Politiky zápisu otvorené anonymným návštevníkom | anon_write_policies | A01 | Vysoká |
| Pohľady, ktoré obchádzajú RLS | views_without_security_invoker | A01 | Vysoká |
| Materializované pohľady alebo cudzie tabuľky v API | matviews_or_foreign_tables_exposed | A01 | Stredná |
| Funkcie security definer volateľné z API | security_definer_executable | A01 | Vysoká |
| Politiky Storage otvorené anonymným návštevníkom | storage_objects_anon_policies | A01 | Vysoká |
| Verejné buckety v Storage | public_buckets | A01 | Nízka |
| Súkromné kanály Realtime bez ochrany | realtime_messages_rls | A01 | Vysoká |
| Nepoužívané oprávnenia na zápis pre anonymných návštevníkov | anon_table_grants_write | A01 | Nízka |
| Roly, ktoré obchádzajú RLS | roles_bypass_rls | A01 | Vysoká |
| Prístupové stĺpce, ktoré prihlásení používatelia môžu meniť | authz_columns_writable | A01 | Vysoká |
| Zmazanie a nové vloženie zmení chránený stĺpec | delete_insert_bypass | A01 | Vysoká |
| Zbytočné oprávnenia na tabuľky pre prihlásených používateľov | authenticated_table_grants_extra | A01 | Nízka |
| Predvolené oprávnenia, ktoré otvárajú nové objekty pre API | default_privileges_api_roles | A01 | Nízka |
| Funkcie security definer, ktoré kontrolujú current_user | definer_checks_current_user | A01 | Stredná |
| Politiky bez roly alebo príkazu | policies_without_to_or_for | A01 | Nízka |
| Nálezy Supabase Security Advisora | advisor_lints | A02 | Vysoká |
| Ďalšie schémy sprístupnené v Data API | extra_exposed_schemas | A02 | Vysoká |
| Zástupné znaky v presmerovacích URL | redirect_wildcards | A02 | Stredná |
| Presmerovacie URL cez http alebo na localhost | insecure_redirect_urls | A02 | Stredná |
| Anonymné prihlásenie zapnuté | anonymous_signins_enabled | A02 | Stredná |
| CAPTCHA vypnutá pri registrácii a prihlásení | captcha_disabled | A02 | Stredná |
| Databáza otvorená všetkým IP adresám | network_open | A02 | Stredná |
| Verejné buckety bez limitov nahrávania | public_bucket_no_limits | A02 | Nízka |
| Odpovede Data API bez limitu riadkov | postgrest_max_rows | A02 | Stredná |
| K dispozícii je upgrade Postgresu | postgres_upgrade_available | A03 | Stredná |
| Nainštalované rozšírenia | extensions_listed | A03 | Info |
| SSL sa pri pripojeniach k databáze nevynucuje | ssl_enforcement_off | A04 | Stredná |
| Prístupové tokeny platia dlhšie ako hodinu | jwt_expiry_long | A04 | Stredná |
| Stĺpce vyzerajúce citlivo čitateľné pre anonymných návštevníkov | sensitive_columns_exposed | A04 | Vysoká |
| Tajomstvá vo Vault čitateľné rolami API | vault_secrets_exposed | A04 | Kritická |
| Dynamické SQL skladané z reťazcov | dynamic_sql_concat | A05 | Stredná |
| Krátka minimálna dĺžka hesla | password_min_length | A07 | Vysoká |
| Ochrana pred uniknutými heslami vypnutá | leaked_password_protection_off | A07 | Stredná |
| Potvrdenie e-mailu vypnuté | email_confirm_off | A07 | Vysoká |
| Zabezpečená zmena e-mailu vypnutá | secure_email_change_off | A07 | Stredná |
| Jednorazové kódy platia dlhšie ako hodinu | otp_expiry_long | A07 | Stredná |
| Nie je zapnutá žiadna metóda viacfaktorového overenia | mfa_unavailable | A07 | Stredná |
| Rotácia refresh tokenov vypnutá | refresh_token_rotation_off | A07 | Stredná |
| Zmena hesla bez opätovného overenia | password_change_no_reauth | A07 | Nízka |
| Edge Functions bez overenia JWT | edge_functions_without_jwt | A08 | Nízka |
| pgaudit nie je nainštalovaný | pgaudit_missing | A09 | Info |
| Nenašli sa žiadne zálohy | backups_or_pitr | A09 | Stredná |
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