Prohledejte veřejnou stránku na 25 druhů uniklých tajných klíčů
Aplikace vytvořené vibe codingem často posílají klíče do prohlížeče. Zadejte adresu jedné stránky, kterou provozujete, a skener přečte HTML této stránky a odkazované soubory skriptů a vyhledá API klíče, tokeny a URL databází, které by si návštěvník mohl zkopírovat. Hodnoty se zobrazují zamaskované.
Výsledek
Co toto prohledání nevidí
Skener čte jen soubory, které prohlížeč návštěvníka ze stránky stahuje. Nevidí tajné údaje, které zůstávají na serveru, stránky za přihlášením, soubory načítané později přes import() ani source mapy. Čistý výsledek není důkaz, že je aplikace bezpečná.
Všech 25 druhů klíčů
Tajných klíčů, které se nikdy nesmí dostat do prohlížeče: 20. Veřejných záměrně: 5.
Klíče označené jako veřejné, například anon klíč Supabase, apiKey Firebase nebo publishable klíč Stripe, jsou určené do prohlížeče. Jsou bezpečné jen tehdy, když data za nimi chrání pravidla vaší databáze.
| Druh klíče | ID | Závažnost | Povaha |
|---|---|---|---|
| API klíč OpenAI | openai-key | Kritická | Tajný |
| API klíč Anthropic | anthropic-key | Kritická | Tajný |
| Ostrý tajný klíč Stripe | stripe-secret | Kritická | Tajný |
| Testovací tajný klíč Stripe | stripe-test-secret | Střední | Tajný |
| Publishable klíč Stripe | stripe-publishable | Info | Veřejný záměrně |
| ID přístupového klíče AWS | aws-access-key | Vysoká | Tajný |
| Tajný přístupový klíč AWS | aws-secret | Kritická | Tajný |
| Token GitHub | github-token | Kritická | Tajný |
| API klíč Google | google-api-key | Info | Veřejný záměrně |
| apiKey z webové konfigurace Firebase | firebase-web-config | Info | Veřejný záměrně |
| Klíč service_role od Supabase | supabase-service-role-jwt | Kritická | Tajný |
| Klíč anon od Supabase | supabase-anon-jwt | Info | Veřejný záměrně |
| JSON Web Token | jwt-other | Nízká | Tajný |
| Tajný klíč Supabase | supabase-secret-key | Kritická | Tajný |
| Publishable klíč Supabase | supabase-publishable-key | Info | Veřejný záměrně |
| Token Slack | slack-token | Kritická | Tajný |
| URL webhooku Slack | slack-webhook | Vysoká | Tajný |
| API klíč SendGrid | sendgrid-key | Kritická | Tajný |
| SID API klíče Twilio | twilio-key | Vysoká | Tajný |
| API klíč Mailgun | mailgun-key | Vysoká | Tajný |
| Blok privátního klíče | private-key-block | Kritická | Tajný |
| URL databáze s heslem | database-url | Kritická | Tajný |
| Token npm | npm-token | Kritická | Tajný |
| Token Hugging Face | huggingface-token | Vysoká | Tajný |
| API klíč Resend | resend-key | Vysoká | Tajný |
Otázky
Co skener tajných klíčů čte?
Čte HTML stránky a až 14 souborů skriptů, na které odkazuje, celkem 3 MB: prvních 512 KB stránky a prvních 1 MB z každého souboru. Hledá známé formáty klíčů, například API klíče, přístupové tokeny, bloky privátních klíčů a URL databází s heslem.
Kde prohledání běží a jak dlouho trvá?
Prohledání běží ve vašem prohlížeči; náš server pro něj jen stahuje soubory, jeden požadavek na soubor. Nic se neukládá. Na pomalém webu může prohledání trvat až zhruba minutu a půl.
Co skener nevidí?
Tajné údaje, které existují jen na serveru, stránky za přihlášením, části kódu, které stránka načítá později přes import(), a source mapy. Také nepozná, zda je nalezený klíč stále aktivní. Čistý výsledek není důkaz, že je aplikace bezpečná.
Proč jsou některé klíče označené jako veřejné záměrně?
Klíč anon nebo publishable od Supabase, apiKey Firebase, API klíč Google a publishable klíč Stripe jsou vytvořené k odeslání do prohlížeče. Identifikují váš projekt a dávají jen to, co dovolí pravidla vaší databáze, omezení API a kontroly na serveru. Hlásí se proto, abyste si ověřili, že tato pravidla existují, ne proto, že by samotný klíč byl únik.
Co dělat, když unikne skutečný tajný klíč?
Nejdřív ho vyměňte: vytvořte nový klíč u poskytovatele a starý zrušte. Pak nový klíč přesuňte do kódu na serveru nebo do proměnných prostředí a nasaďte znovu. Smazání klíče z kódu nestačí, protože stará hodnota zůstává v dřívějších buildech, mezipaměti a historii gitu.
Proč aplikace vytvořené vibe codingem tak často prozrazují klíče?
Kód psaný rychle s nástroji AI často volá placené nebo privilegované API přímo z prohlížeče a klíč skončí ve skriptu, který stahuje každý návštěvník. Bezpečnost vibe codingu začíná tím, že taková volání zůstanou na serveru.