Dopad útočníka
Útočník může získat neoprávněný přístup k citlivým uživatelským datům, upravit databázové záznamy nebo unést infrastrukturu využitím běžných dohledů v nasazení MVP. To zahrnuje přístup k datům mezi klienty kvůli chybějícím přístupovým kontrolám [S4] nebo používání uniklých klíčů API ke vzniku nákladů a exfiltraci dat z integrovaných služeb [S2].
Hlavní příčina
Ve spěchu se spuštěním MVP vývojáři – zejména ti, kteří používají „kódování vibrací“ pomocí AI – často přehlížejí základní konfigurace zabezpečení. Hlavními příčinami těchto zranitelností jsou:
- Tajný únik: Pověření, jako jsou databázové řetězce nebo klíče poskytovatele AI, jsou náhodně svěřeny do správy verzí [S2].
- Broken Access Control: Aplikace nedokážou vynutit přísné hranice autorizace, což uživatelům umožňuje přístup ke zdrojům patřícím jiným [S4].
- Permisivní zásady databáze: V moderních nastaveních BaaS (Backend-as-a-Service), jako je Supabase, když se nepovolí a správně nenakonfiguruje zabezpečení na úrovni řádků (RLS), nechává klientské knihovny otevřené přímo na straně klienta. [S5].
- Slabá správa tokenů: Nesprávné zacházení s ověřovacími tokeny může vést k únosu relace nebo neoprávněnému přístupu API [S3].
Opravy betonu
Implementujte zabezpečení na úrovni řádků (RLS)
Pro aplikace využívající backendy založené na Postgresu, jako je Supabase, musí být RLS povoleny na každé tabulce. RLS zajišťuje, že samotný databázový stroj vynucuje omezení přístupu a brání uživateli v dotazování na data jiného uživatele, i když má platný ověřovací token [S5].
Automatizujte tajné skenování
Integrujte tajné skenování do pracovního postupu vývoje a zjistěte a zablokujte předávání citlivých přihlašovacích údajů, jako jsou klíče API nebo certifikáty [S2]. Pokud dojde k úniku tajného tajemství, musí být okamžitě odvoláno a otočeno, protože by mělo být považováno za ohrožené [S2].
Prosazujte přísné tokenové postupy
Dodržujte průmyslové standardy pro zabezpečení tokenů, včetně používání zabezpečených souborů cookie pouze HTTP pro správu relací a zajištění toho, aby tokeny byly tam, kde je to možné, omezeny odesílatelem, aby se zabránilo opětovnému použití útočníky [S3].
Použijte hlavičky General Web Security Headers
Zajistěte, aby aplikace implementovala standardní opatření pro zabezpečení webu, jako jsou zásady zabezpečení obsahu (CSP) a zabezpečené transportní protokoly, aby zmírnila běžné útoky založené na prohlížeči [S1].
Jak to testuje FixVibe
FixVibe již pokrývá tuto třídu úniku dat na více živých skenovacích plochách:
- Supabase RLS expozice:
baas.supabase-rlsextrahuje veřejné Supabase páry URL/anon-key ze svazků stejného původu, potvrzují, zda REST provádějí kontroly SELECT-přečtení vystavených postg jsou vystavena data tabulky. - Mezery v repo RLS:
repo.supabase.missing-rlskontroluje autorizované migrace SQL úložiště GitHub pro veřejné tabulky, které jsou vytvořeny bez odpovídající migraceALTER TABLE ... ENABLE ROW LEVEL SECURITY. - Supabase pozice úložiště:
baas.supabase-security-checklist-backfillkontroluje metadata veřejného segmentu úložiště a anonymní výpis bez nahrávání nebo změny zákaznických dat. - Tajemství a stav prohlížeče: Příznaky
secrets.js-bundle-sweep,headers.security-headersaheaders.cookie-attributesunikly přihlašovací údaje na straně klienta, chybějící záhlaví zpevnění prohlížeče a slabé příznaky auth-cookie. - Gated access-control sondy: když zákazník povolí aktivní skenování a je ověřeno vlastnictví domény, testy
active.idor-walkingaactive.tenant-isolationobjevily cesty pro vystavení dat mezi zdroje a mezi nájemci ve stylu IDOR/BOLA.
