Als je een AI vraagt om "mijn app aan Stripe/OpenAI/Supabase te koppelen", zet die de sleutel vaak zo in de frontend-code. Het probleem: alles wat de browser bereikt is openbaar. Iedereen kan het lezen.
Hoe een aanvaller het ziet
Open de DevTools (F12) → tabblad "Network" of "Sources" en zoek naar strings als sk_live_, AKIA of eyJ.... Staat je geheime sleutel daar, dan heeft hij die al.
Welke sleutels gevaarlijk zijn
- Geheime sleutels (Stripe
sk_live, OpenAI, AWS): mogen de server nooit verlaten. - De service_role van Supabase: die omzeilt alle beveiliging van je database. Nooit in de frontend.
- Access-tokens opgeslagen in
localStorage: te stelen met een simpele XSS.
De gouden regel
Geheime sleutels wonen op de server (omgevingsvariabelen, serverless functies). De frontend gebruikt alleen publieke sleutels die daarvoor bedoeld zijn (zoals de anon-sleutel van Supabase, beschermd door RLS).
Hoe je het controleert
Scanaris scant het JavaScript van je site en waarschuwt je als het blootgestelde API-sleutels of secrets ontdekt — voordat iemand anders dat doet.