Kontrollige oma Supabase’i projekti 45 OWASP Top 10:2025 reegli järgi ja enamgi
Ühendage üks projekt kirjutuskaitsega ja saage hinnatud aruanne koos iga leiu parandusega just sellel lehel.
Meeskondadele, kes ehitavad Lovable’i, Bolti, Cursori või v0-ga Supabase’i peale. Tasuta, registreerimata.
Tasuta, registreerimata. Kirjutuskaitsega: teie projektis ei muudeta midagi.
- Ühendage SupabaseKinnitage kirjutuskaitsega juurdepääs lehel supabase.com.
- Teeme 45 kontrolliLigipääs ja RLS, sisselogimine, hoidla ja funktsioonid, taristu. Ainult kataloog ja sätted, mitte kunagi teie read.
- Aruanne ja prompt teie AI-agendileIga leiu parandus ja prompt, mille kleebite Cursorisse, Claude Code’i või Lovable’isse. Salvestatakse ainult siis, kui jagate.
Teie Supabase’i projekte laaditakse…
Valige skannitav projekt
20 väiketähte, nagu aadressis supabase.com/dashboard/project/teie-ref.
Kinnitage, et olete inimene
See hoiab automaatsed skannimised teenusest eemal.
Skannimise logi
Mida kontroll näeb
Loeme
- Andmebaasi kataloog: tabelid, RLS-lipud, poliitikad, õigused, vaated, funktsioonid, laiendused, rollid ja kes tohib Vaulti lugeda
- Auth-sätted: paroolireeglid, e-posti kinnitus, MFA, ümbersuunamise URL-id
- Storage: bucket’ite loend, millised on avalikud ning nende suuruse ja failitüübi piirangud
- Edge Functions: loend ja iga funktsiooni JWT säte
- Projekti sätted: Postgresi versioon, varukoopiad, SSL, võrgupiirangud, Data API ridade ülempiir
Me ei loe kunagi
- Teie tabelite ridu
- API-võtmeid ja saladusi: Supabase lisab mõned seadete vastustesse ning kontroll kõrvaldab need saabumisel, neid salvestamata, logimata ega näitamata
- Teie bucket’itesse salvestatud faile
- Teie rakenduse koodi ja hoidlat
Aruanne salvestatakse ainult siis, kui loote jagamislingi, kuni 7 päevaks. Antud juurdepääs tühistatakse kohe pärast kontrolli.
Mida lugemisõigus kontrollida ei saa
- A06 Ebaturvaline disain ja A10 Erandolukordade vale käsitlemine asuvad teie rakenduse koodis, mitte projekti sätetes.
- Frontendi sõltuvused (A03 npm-osa) ja frontendi koodi sattunud service_role võti. Kontrollige neid oma koodihoidlas.
- Ligipääsureeglid, mis on ainult rakenduse koodis või Edge Functions’is, näiteks kontroll plan = 'pro' frontendis. Skannimine näeb ainult veerge, mida andmebaas ise kasutab poliitikates, funktsioonides ja auth hook’ides, seega läbitud kontroll muudetavate ligipääsuveergude puhul ei tähenda, et need veerud on turvalised.
- Kas üks sisselogitud kasutaja saab lugeda teise kasutaja ridu. See nõuab testi kahe päris kasutajaga: kuidas testida Supabase’i RLS-i
Supabase Security Advisor ja see kontroll
| Küsimus | Security Advisor | See kontroll |
|---|---|---|
| Kus see töötab | Supabase’i juhtpaneelis, üks projekt korraga | Sellel lehel pärast kirjutuskaitsega OAuthi, valitud projekti jaoks |
| Mida see loeb | Andmebaasi lint’e | Samu lint’e ühe kontrollina, lisaks auth, storage, Edge Functions, varukoopiad ja võrgusätted |
| Kuidas tulemused rühmitatakse | Lint’i kaupa | OWASP Top 10:2025 järgi, koos nimetatud kategooriatega, mida see kontrollida ei saa |
| Mida saate parandamiseks | Lingi lint’i dokumentatsioonile | SQL-i või juhtpaneeli sätte iga leiu kohta ning prompti teie AI-agendile |
| Mida saate alles hoida | Loendi oma juhtpaneelis | PDF-i või jagamislingi, mis aegub 7 päeva pärast |
OWASP Top 10:2025 katvus
| Kategooria | Kontrolle | Olek |
|---|---|---|
| A01 Katkine juurdepääsukontroll | 18 | Kaetud |
| A02 Turvasätete vigane seadistus | 9 | Kaetud |
| A03 Tarkvara tarneahela tõrked | 2 | Osaliselt Ainult Postgresi versioon ja laiendused. npm-sõltuvused asuvad teie koodihoidlas. |
| A04 Krüptograafia tõrked | 4 | Kaetud |
| A05 Süstimine | 1 | Kaetud |
| A06 Ebaturvaline disain | 0 | Pole kontrollitav Ebaturvaline disain peitub selles, kuidas teie rakendus töötab, mitte sätetes. |
| A07 Autentimise tõrked | 8 | Kaetud |
| A08 Tarkvara või andmete terviklikkuse tõrked | 1 | Kaetud |
| A09 Turvalogimise ja hoiatuste tõrked | 2 | Kaetud |
| A10 Erandolukordade vale käsitlemine | 0 | Pole kontrollitav Veakäsitlus asub teie rakenduse koodis, mida lugemisõigus kunagi ei näe. |
Kõik 45 kontrolli
| Kontroll | ID | OWASP | Halvim juhtum |
|---|---|---|---|
| RLS keelatud avalikel tabelitel | rls_disabled_exposed | A01 | Kriitiline |
| Poliitikad, mis lubavad kõik read | policy_always_true | A01 | Kõrge |
| Poliitikad, mis usaldavad kasutaja metaandmeid | policy_uses_user_metadata | A01 | Kõrge |
| Anonüümsetele külastajatele avatud kirjutuspoliitikad | anon_write_policies | A01 | Kõrge |
| Vaated, mis mööduvad RLS-ist | views_without_security_invoker | A01 | Kõrge |
| Materialiseeritud vaated või välistabelid API-s | matviews_or_foreign_tables_exposed | A01 | Keskmine |
| API-st kutsutavad security definer funktsioonid | security_definer_executable | A01 | Kõrge |
| Anonüümsetele külastajatele avatud storage’i poliitikad | storage_objects_anon_policies | A01 | Kõrge |
| Avalikud storage’i bucket’id | public_buckets | A01 | Madal |
| Kaitseta Realtime’i privaatkanalid | realtime_messages_rls | A01 | Kõrge |
| Anonüümsete külastajate kasutamata kirjutusõigused | anon_table_grants_write | A01 | Madal |
| Rollid, mis RLS-ist mööduvad | roles_bypass_rls | A01 | Kõrge |
| Ligipääsuveerud, mida sisselogitud kasutajad saavad muuta | authz_columns_writable | A01 | Kõrge |
| Kustutamine ja uuesti lisamine muudab kaitstud veergu | delete_insert_bypass | A01 | Kõrge |
| Sisselogitud kasutajate tarbetud tabeliõigused | authenticated_table_grants_extra | A01 | Madal |
| Vaikeõigused, mis avavad uued objektid API-le | default_privileges_api_roles | A01 | Madal |
| Security definer funktsioonid, mis kontrollivad current_user’it | definer_checks_current_user | A01 | Keskmine |
| Poliitikad ilma rolli või käsuta | policies_without_to_or_for | A01 | Madal |
| Supabase’i Security Advisori leiud | advisor_lints | A02 | Kõrge |
| Data API-s avaldatud lisaskeemid | extra_exposed_schemas | A02 | Kõrge |
| Metamärgid ümbersuunamise URL-ides | redirect_wildcards | A02 | Keskmine |
| Ümbersuunamise URL-id üle http või localhosti | insecure_redirect_urls | A02 | Keskmine |
| Anonüümne sisselogimine sees | anonymous_signins_enabled | A02 | Keskmine |
| CAPTCHA väljas registreerimisel ja sisselogimisel | captcha_disabled | A02 | Keskmine |
| Andmebaas avatud igale IP-aadressile | network_open | A02 | Keskmine |
| Avalikud bucket’id ilma üleslaadimise piiranguteta | public_bucket_no_limits | A02 | Madal |
| Data API vastustel pole ridade ülempiiri | postgrest_max_rows | A02 | Keskmine |
| Postgresi uuendus saadaval | postgres_upgrade_available | A03 | Keskmine |
| Paigaldatud laiendused | extensions_listed | A03 | Info |
| SSL pole andmebaasiühendustel kohustuslik | ssl_enforcement_off | A04 | Keskmine |
| Juurdepääsutokenid kehtivad kauem kui tund | jwt_expiry_long | A04 | Keskmine |
| Anonüümsetele külastajatele loetavad tundlikud veerud | sensitive_columns_exposed | A04 | Kõrge |
| Vaulti saladused API rollidele loetavad | vault_secrets_exposed | A04 | Kriitiline |
| Sõnedest ehitatud dünaamiline SQL | dynamic_sql_concat | A05 | Keskmine |
| Lühike minimaalne paroolipikkus | password_min_length | A07 | Kõrge |
| Lekkinud paroolide kaitse väljas | leaked_password_protection_off | A07 | Keskmine |
| E-posti kinnitus väljas | email_confirm_off | A07 | Kõrge |
| Turvaline e-posti muutmine väljas | secure_email_change_off | A07 | Keskmine |
| Ühekordsed koodid kehtivad kauem kui tund | otp_expiry_long | A07 | Keskmine |
| Mitmefaktorilist meetodit pole sisse lülitatud | mfa_unavailable | A07 | Keskmine |
| Refresh token’i rotatsioon väljas | refresh_token_rotation_off | A07 | Keskmine |
| Parooli muutmine ilma uuesti autentimata | password_change_no_reauth | A07 | Madal |
| Edge Functions ilma JWT kontrollita | edge_functions_without_jwt | A08 | Madal |
| pgaudit pole paigaldatud | pgaudit_missing | A09 | Info |
| Varukoopiaid ei leitud | backups_or_pitr | A09 | Keskmine |
Küsimused
Mille poolest see erineb Supabase’i Security Advisorist?
Security Advisori tulemused on üks kontrollidest. Skannimine lisab auth-sätted, storage’i poliitikad, Edge Functionsid, varukoopiad ja võrgusätted, rühmitab kõik OWASP Top 10:2025 järgi ning annab igale leiule parenduse.
Kas Supabase on vaikimisi turvaline?
Platvormi hooldab Supabase, kuid ligipääsureeglid on teie omad. Tavalise SQL-iga loodud uuel tabelil on Row Level Security välja lülitatud ja poliitika kujul using (true) lubab igaühel, kellel on anon-võti, tabelit lugeda. Skannimine otsib täpselt neid sätteid.
Mida tähendab „RLS keelatud“ ja kuidas seda sisse lülitada?
Kui RLS on avaliku skeemi tabelil keelatud, saab igaüks, kellel on teie anon-võti, lugeda Data API kaudu kõiki ridu. Lülitage see sisse käsuga alter table public.teie_tabel enable row level security; ja lisage seejärel soovitud ligipääsu poliitikad.
Kas on ohutu, et minu Supabase’i anon-võti on brauseris?
Jah, anon-võti (publishable) on mõeldud avalikuks. See saab teha ainult seda, mida lubavad teie õigused ja RLS-poliitikad, ning just neid skannimine kontrollib. Võti service_role möödub RLS-ist ega tohi kunagi brauserisse jõuda.
Kontrollige oma projekti
Tasuta ja kirjutuskaitsega. Aruanne ilmub sellele lehele.
Kontrolli minu Supabase’i projekti