Tarkista Supabase-projektisi 45 OWASP Top 10:2025 -säännön mukaan ja enemmän
Yhdistä yksi projekti vain luku -oikeudella ja saat arvosanalla varustetun raportin, jossa jokaiselle löydökselle on korjaus, suoraan tällä sivulla.
Tiimeille, jotka rakentavat Supabasen päälle Lovablella, Boltilla, Cursorilla tai v0:lla. Ilmainen, ei rekisteröitymistä.
Ilmainen, ei rekisteröitymistä. Vain luku: projektiisi ei muuteta mitään.
- Yhdistä SupabaseHyväksy vain luku -pääsy osoitteessa supabase.com.
- Ajamme 45 tarkistustaPääsy ja RLS, kirjautuminen, tallennus ja funktiot, infrastruktuuri. Vain katalogi ja asetukset, ei koskaan rivejäsi.
- Raportti ja prompti AI-agentillesiKorjaus jokaiselle löydökselle sekä prompti, jonka liität Cursoriin, Claude Codeen tai Lovableen. Tallennetaan vain, jos jaat sen.
Ladataan Supabase-projektejasi…
Valitse skannattava projekti
20 pientä kirjainta, kuten osoitteessa supabase.com/dashboard/project/sinun-ref.
Vahvista, että olet ihminen
Tämä pitää automaattiset skannaukset poissa palvelusta.
Skannauksen loki
Mitä tarkistus näkee
Luemme
- Tietokantakatalogi: taulut, RLS-liput, käytännöt, oikeudet, näkymät, funktiot, laajennukset, roolit ja kuka saa lukea Vaultia
- Auth-asetukset: salasanasäännöt, sähköpostin vahvistus, MFA, uudelleenohjaus-URL:t
- Storage: bucket-luettelo, mitkä bucketit ovat julkisia sekä niiden koko- ja tiedostotyyppirajat
- Edge Functions: luettelo ja kunkin JWT-asetus
- Projektin asetukset: Postgres-versio, varmuuskopiot, SSL, verkkorajoitukset, Data API:n rivikatto
Emme koskaan lue
- Taulujesi rivejä
- API-avaimia ja salaisuuksia: Supabase sisällyttää joitakin asetusvastauksiin, ja skannaus hylkää ne saapuessaan tallentamatta, kirjaamatta tai näyttämättä niitä
- Bucketeissasi olevia tiedostoja
- Sovelluksesi koodia ja repositoriota
Raportti tallennetaan vain, kun luot jakolinkin, enintään 7 päiväksi. Pääsyoikeus peruutetaan heti tarkistuksen jälkeen.
Mitä vain luku -pääsy ei voi tarkistaa
- A06 Turvaton suunnittelu ja A10 Poikkeustilanteiden virheellinen käsittely ovat sovelluksesi koodissa, eivät projektin asetuksissa.
- Frontendin riippuvuudet (A03:n npm-osuus) ja frontend-koodiin päätynyt service_role-avain. Tarkista ne repositoriostasi.
- Pääsysäännöt, jotka ovat vain sovelluskoodissa tai Edge Functionsissa, kuten frontendin plan = 'pro' -tarkistus. Skannaus näkee vain sarakkeet, joita tietokanta itse käyttää käytännöissä, funktioissa ja auth hookeissa, joten läpimeno kirjoitettavien pääsysarakkeiden kohdalla ei tarkoita, että ne ovat turvassa.
- Voiko yksi kirjautunut käyttäjä lukea toisen käyttäjän rivejä. Se vaatii testin kahdella oikealla käyttäjällä: näin testaat Supabase RLS:n
Supabase Security Advisor ja tämä tarkistus
| Kysymys | Security Advisor | Tämä tarkistus |
|---|---|---|
| Missä se ajetaan | Supabase-dashboardissa, yksi projekti kerrallaan | Tällä sivulla vain luku -OAuthin jälkeen, valitsemallesi projektille |
| Mitä se lukee | Tietokannan lint-tarkistukset | Samat lint-tarkistukset yhtenä tarkistuksena sekä auth, storage, Edge Functions, varmuuskopiot ja verkkoasetukset |
| Miten tulokset ryhmitellään | Lint-tarkistuksen mukaan | OWASP Top 10:2025 -luokittain, ja luokat, joita se ei voi tarkistaa, on nimetty |
| Mitä saat korjaamiseen | Linkin lint-dokumentaatioon | SQL:n tai dashboardin asetuksen jokaiselle löydökselle sekä promptin tekoälyagentillesi |
| Mitä voit säilyttää | Dashboardisi luettelon | PDF:n tai jakolinkin, joka vanhenee 7 päivässä |
OWASP Top 10:2025 -kattavuus
| Luokka | Tarkistuksia | Tila |
|---|---|---|
| A01 Rikkoutunut pääsynhallinta | 18 | Katettu |
| A02 Virheellinen tietoturvakonfiguraatio | 9 | Katettu |
| A03 Ohjelmistotoimitusketjun virheet | 2 | Osittain Vain Postgres-versio ja laajennukset. npm-riippuvuudet ovat repositoriossasi. |
| A04 Kryptografiset virheet | 4 | Katettu |
| A05 Injektio | 1 | Katettu |
| A06 Turvaton suunnittelu | 0 | Ei tarkistettavissa Turvaton suunnittelu on siinä, miten sovelluksesi toimii, ei asetuksissa. |
| A07 Tunnistautumisen virheet | 8 | Katettu |
| A08 Ohjelmiston tai datan eheyden virheet | 1 | Katettu |
| A09 Tietoturvalokituksen ja hälytysten virheet | 2 | Katettu |
| A10 Poikkeustilanteiden virheellinen käsittely | 0 | Ei tarkistettavissa Virheenkäsittely on sovelluksesi koodissa, jota vain luku -pääsy ei koskaan näe. |
Kaikki 45 tarkistusta
| Tarkistus | ID | OWASP | Pahin tapaus |
|---|---|---|---|
| RLS pois päältä julkaistuissa tauluissa | rls_disabled_exposed | A01 | Kriittinen |
| Käytännöt, jotka päästävät läpi jokaisen rivin | policy_always_true | A01 | Korkea |
| Käyttäjän metadataan luottavat käytännöt | policy_uses_user_metadata | A01 | Korkea |
| Anonyymeille kävijöille avoimet kirjoituskäytännöt | anon_write_policies | A01 | Korkea |
| RLS:n ohittavat näkymät | views_without_security_invoker | A01 | Korkea |
| Materialisoidut näkymät tai vierastaulut API:ssa | matviews_or_foreign_tables_exposed | A01 | Keskitaso |
| API:sta kutsuttavat security definer -funktiot | security_definer_executable | A01 | Korkea |
| Anonyymeille kävijöille avoimet storage-käytännöt | storage_objects_anon_policies | A01 | Korkea |
| Julkiset storage-bucketit | public_buckets | A01 | Matala |
| Suojaamattomat yksityiset Realtime-kanavat | realtime_messages_rls | A01 | Korkea |
| Anonyymien kävijöiden käyttämättömät kirjoitusoikeudet | anon_table_grants_write | A01 | Matala |
| Roolit, jotka ohittavat RLS:n | roles_bypass_rls | A01 | Korkea |
| Pääsysarakkeet, joita kirjautuneet käyttäjät voivat muuttaa | authz_columns_writable | A01 | Korkea |
| Poisto ja uudelleenlisäys muuttaa suojattua saraketta | delete_insert_bypass | A01 | Korkea |
| Tarpeettomat tauluoikeudet kirjautuneille käyttäjille | authenticated_table_grants_extra | A01 | Matala |
| Oletusoikeudet, jotka avaavat uudet objektit API:lle | default_privileges_api_roles | A01 | Matala |
| Security definer -funktiot, jotka tarkistavat current_user-arvon | definer_checks_current_user | A01 | Keskitaso |
| Käytännöt ilman roolia tai komentoa | policies_without_to_or_for | A01 | Matala |
| Supabase Security Advisorin löydökset | advisor_lints | A02 | Korkea |
| Ylimääräisiä skeemoja julkaistu Data API:ssa | extra_exposed_schemas | A02 | Korkea |
| Jokerimerkit uudelleenohjaus-URL:issa | redirect_wildcards | A02 | Keskitaso |
| Uudelleenohjaus-URL:t http:n kautta tai localhostiin | insecure_redirect_urls | A02 | Keskitaso |
| Anonyymi kirjautuminen käytössä | anonymous_signins_enabled | A02 | Keskitaso |
| CAPTCHA pois päältä rekisteröitymisessä ja kirjautumisessa | captcha_disabled | A02 | Keskitaso |
| Tietokanta avoin kaikille IP-osoitteille | network_open | A02 | Keskitaso |
| Julkiset bucketit ilman latausrajoja | public_bucket_no_limits | A02 | Matala |
| Data API:n vastauksilla ei ole rivikattoa | postgrest_max_rows | A02 | Keskitaso |
| Postgres-päivitys saatavilla | postgres_upgrade_available | A03 | Keskitaso |
| Asennetut laajennukset | extensions_listed | A03 | Tieto |
| SSL:ää ei vaadita tietokantayhteyksissä | ssl_enforcement_off | A04 | Keskitaso |
| Pääsytunnukset voimassa yli tunnin | jwt_expiry_long | A04 | Keskitaso |
| Arkaluonteisen oloiset sarakkeet anonyymien kävijöiden luettavissa | sensitive_columns_exposed | A04 | Korkea |
| Vaultin salaisuudet API-roolien luettavissa | vault_secrets_exposed | A04 | Kriittinen |
| Merkkijonoista rakennettu dynaaminen SQL | dynamic_sql_concat | A05 | Keskitaso |
| Lyhyt salasanan vähimmäispituus | password_min_length | A07 | Korkea |
| Vuotaneiden salasanojen suojaus pois päältä | leaked_password_protection_off | A07 | Keskitaso |
| Sähköpostin vahvistus pois päältä | email_confirm_off | A07 | Korkea |
| Turvallinen sähköpostin vaihto pois päältä | secure_email_change_off | A07 | Keskitaso |
| Kertakäyttökoodit voimassa yli tunnin | otp_expiry_long | A07 | Keskitaso |
| Monivaiheista tunnistautumista ei ole käytössä | mfa_unavailable | A07 | Keskitaso |
| Refresh-tunnuksen kierrätys pois päältä | refresh_token_rotation_off | A07 | Keskitaso |
| Salasanan vaihto ilman uudelleentunnistusta | password_change_no_reauth | A07 | Matala |
| Edge Functions -funktiot ilman JWT-varmennusta | edge_functions_without_jwt | A08 | Matala |
| pgauditia ei ole asennettu | pgaudit_missing | A09 | Tieto |
| Varmuuskopioita ei löytynyt | backups_or_pitr | A09 | Keskitaso |
Kysymyksiä
Miten tämä eroaa Supabase Security Advisorista?
Security Advisorin tulokset ovat yksi tarkistuksista. Skannaus lisää auth-asetukset, storage-käytännöt, Edge Functions -funktiot, varmuuskopiot ja verkkoasetukset, ryhmittelee kaiken OWASP Top 10:2025 -luokkiin ja antaa korjauksen jokaiselle löydökselle.
Onko Supabase oletuksena turvallinen?
Alustaa ylläpitää Supabase, mutta pääsysäännöt ovat sinun. Tavallisella SQL:llä luodussa uudessa taulussa Row Level Security on pois päältä, ja käytäntö muotoa using (true) antaa kenen tahansa anon-avaimen haltijan lukea taulun. Skannaus etsii juuri näitä asetuksia.
Mitä “RLS disabled” tarkoittaa, ja miten sen otetaan käyttöön?
Kun RLS on pois päältä taulussa, joka on julkaistussa skeemassa, kuka tahansa anon-avaimesi haltija voi lukea jokaisen rivin Data API:n kautta. Ota se käyttöön komennolla alter table public.sinun_taulu enable row level security; ja lisää sitten käytännöt haluamallesi pääsylle.
Onko turvallista, että Supabasen anon-avain on selaimessa?
Kyllä, anon-avain (publishable) on tarkoitettu julkiseksi. Se voi tehdä vain sen, minkä oikeutesi ja RLS-käytäntösi sallivat, ja siksi skannaus tarkistaa juuri ne. service_role-avain ohittaa RLS:n eikä saa koskaan päätyä selaimeen.
Tarkista oma projektisi
Ilmainen ja vain luku. Raportti näkyy tällä sivulla.
Tarkista Supabase-projektini