Gå til indhold

Scan en offentlig side for 25 slags lækkede hemmeligheder

Apps bygget med vibe coding sender ofte nøgler til browseren. Angiv adressen på én enkelt side, du driver, så læser scanneren den sides HTML og de scriptfiler, den linker til, efter API-nøgler, tokens og database-URL’er, som en besøgende kan kopiere. Værdier vises maskeret.

Side der skal scannes

Én side, ikke hele websitet.Scanningen læser denne adresse og de scripts, den linker til. Vil du tjekke en anden side, så scan også dens adresse.

Bekræft, at du er et menneske

Det holder automatiske forespørgsler væk fra tjenesten.

Dette henter kun de offentlige filer på den adresse, du angiver, fra Cloudflares netværk. Intet gemmes.

Resultat

Hvad denne scanning ikke kan se

Scanneren læser kun de filer, en besøgendes browser henter fra siden. Den kan ikke se hemmeligheder, der bliver på serveren, sider bag et login, filer der indlæses senere med import(), eller source maps. Et rent resultat er ikke bevis for, at appen er sikker.

Alle 25 nøgletyper

20 af dem er hemmeligheder, der aldrig må nå en browser. 5 er offentlige af design.

Nøgler markeret som offentlige, som en Supabase anon key, en Firebase apiKey eller en Stripe publishable key, er tiltænkt at ligge i browseren. De er kun sikre, så længe dine databaseregler beskytter dataene bag dem.

NøgletypeIDAlvorlighedArt
OpenAI API-nøgleopenai-keyKritiskHemmelig
Anthropic API-nøgleanthropic-keyKritiskHemmelig
Stripe live secret keystripe-secretKritiskHemmelig
Stripe test secret keystripe-test-secretMellemHemmelig
Stripe publishable keystripe-publishableInfoOffentlig af design
AWS access key idaws-access-keyHøjHemmelig
AWS secret access keyaws-secretKritiskHemmelig
GitHub-tokengithub-tokenKritiskHemmelig
Google API-nøglegoogle-api-keyInfoOffentlig af design
Firebase web config apiKeyfirebase-web-configInfoOffentlig af design
Supabase service_role-nøglesupabase-service-role-jwtKritiskHemmelig
Supabase anon keysupabase-anon-jwtInfoOffentlig af design
JSON Web Tokenjwt-otherLavHemmelig
Supabase secret keysupabase-secret-keyKritiskHemmelig
Supabase publishable keysupabase-publishable-keyInfoOffentlig af design
Slack-tokenslack-tokenKritiskHemmelig
Slack webhook-URLslack-webhookHøjHemmelig
SendGrid API-nøglesendgrid-keyKritiskHemmelig
Twilio API key sidtwilio-keyHøjHemmelig
Mailgun API-nøglemailgun-keyHøjHemmelig
Blok med privat nøgleprivate-key-blockKritiskHemmelig
Database-URL med adgangskodedatabase-urlKritiskHemmelig
npm-tokennpm-tokenKritiskHemmelig
Hugging Face-tokenhuggingface-tokenHøjHemmelig
Resend API-nøgleresend-keyHøjHemmelig

Spørgsmål

Hvad læser secret scanner?

Den læser sidens HTML og op til 14 scriptfiler, som siden linker til, 3 MB i alt, de første 512 KB af siden og de første 1 MB af hver fil. Den leder efter kendte nøgleformater, som API-nøgler, adgangstokens, blokke med privat nøgle og database-URL’er med adgangskode.

Hvor kører scanningen, og hvor lang tid tager den?

Scanningen kører i din browser; vores server henter kun filerne til den, én forespørgsel pr. fil. Intet gemmes. En scanning kan tage op til cirka halvandet minut på et langsomt websted.

Hvad kan scanneren ikke se?

Hemmeligheder, der kun findes på serveren, sider bag et login, chunks som siden indlæser senere med import(), og source maps. Den kan heller ikke afgøre, om en fundet nøgle stadig er aktiv. Et rent resultat er ikke bevis for, at appen er sikker.

Hvorfor er nogle nøgler markeret som offentlige af design?

En Supabase anon- eller publishable-nøgle, en Firebase apiKey, en Google API-nøgle og en Stripe publishable key er lavet til at blive sendt til browseren. De identificerer dit projekt og giver kun det, som dine databaseregler, API-begrænsninger og serverkontroller tillader. De rapporteres, så du kan bekræfte, at de regler findes, ikke fordi selve nøglen er en lækage.

Hvad skal jeg gøre, hvis en rigtig hemmelighed lækker?

Roter den først: opret en ny nøgle hos udbyderen og tilbagekald den gamle. Flyt derefter den nye nøgle til serverkode eller miljøvariabler og udgiv igen. Det er ikke nok at slette nøglen fra koden, fordi den gamle værdi bliver i tidligere builds, caches og git-historik.

Hvorfor lækker apps bygget med vibe coding så ofte nøgler?

Kode skrevet hurtigt med AI-værktøjer kalder ofte et betalt eller privilegeret API direkte fra browseren, og nøglen havner i det script, som hver besøgende henter. Sikkerhed ved vibe coding begynder med at holde sådanne kald på serveren.