Hopp til innhold

Skann en offentlig side etter 25 typer lekkede hemmeligheter

Apper laget med vibe coding sender ofte nøkler til nettleseren. Oppgi adressen til én enkelt side du driver, så leser skanneren HTML-en til den siden og skriptfilene den lenker til, på jakt etter API-nøkler, tokens og database-URL-er som en besøkende kan kopiere. Verdier vises maskert.

Side som skal skannes

Én side, ikke hele nettstedet.Skanningen leser denne adressen og skriptene den lenker til. Vil du sjekke en annen side, skann adressen til den også.

Bekreft at du er et menneske

Dette holder automatiske forespørsler unna tjenesten.

Dette henter bare de offentlige filene på adressen du oppgir, fra Cloudflares nettverk. Ingenting lagres.

Resultat

Hva denne skanningen ikke kan se

Skanneren leser bare filene en besøkendes nettleser laster ned fra siden. Den ser ikke hemmeligheter som blir på serveren, sider bak innlogging, filer som lastes senere med import() eller source maps. Et rent resultat er ikke bevis for at appen er trygg.

Alle 25 nøkkeltyper

20 av dem er hemmeligheter som aldri må nå en nettleser. 5 er offentlige av design.

Nøkler merket som offentlige, som en Supabase anon key, en Firebase apiKey eller en Stripe publishable key, er ment å ligge i nettleseren. De er trygge bare så lenge databasereglene dine beskytter dataene bak dem.

NøkkeltypeIDAlvorlighetsgradSlag
OpenAI API-nøkkelopenai-keyKritiskHemmelig
Anthropic API-nøkkelanthropic-keyKritiskHemmelig
Stripe live secret keystripe-secretKritiskHemmelig
Stripe test secret keystripe-test-secretMiddelsHemmelig
Stripe publishable keystripe-publishableInfoOffentlig av design
AWS access key idaws-access-keyHøyHemmelig
AWS secret access keyaws-secretKritiskHemmelig
GitHub-tokengithub-tokenKritiskHemmelig
Google API-nøkkelgoogle-api-keyInfoOffentlig av design
Firebase web config apiKeyfirebase-web-configInfoOffentlig av design
Supabase service_role-nøkkelsupabase-service-role-jwtKritiskHemmelig
Supabase anon keysupabase-anon-jwtInfoOffentlig av design
JSON Web Tokenjwt-otherLavHemmelig
Supabase secret keysupabase-secret-keyKritiskHemmelig
Supabase publishable keysupabase-publishable-keyInfoOffentlig av design
Slack-tokenslack-tokenKritiskHemmelig
Slack webhook-URLslack-webhookHøyHemmelig
SendGrid API-nøkkelsendgrid-keyKritiskHemmelig
Twilio API key sidtwilio-keyHøyHemmelig
Mailgun API-nøkkelmailgun-keyHøyHemmelig
Blokk med privat nøkkelprivate-key-blockKritiskHemmelig
Database-URL med passorddatabase-urlKritiskHemmelig
npm-tokennpm-tokenKritiskHemmelig
Hugging Face-tokenhuggingface-tokenHøyHemmelig
Resend API-nøkkelresend-keyHøyHemmelig

Spørsmål

Hva leser secret scanner?

Den leser sidens HTML og opptil 14 skriptfiler siden lenker til, 3 MB til sammen, de første 512 KB av siden og de første 1 MB av hver fil. Den leter etter kjente nøkkelformater, som API-nøkler, tilgangstokens, blokker med privat nøkkel og database-URL-er med passord.

Hvor kjører skanningen, og hvor lang tid tar den?

Skanningen kjører i nettleseren din; serveren vår henter bare filene for den, én forespørsel per fil. Ingenting lagres. En skanning kan ta opptil omtrent halvannet minutt på et tregt nettsted.

Hva kan ikke skanneren se?

Hemmeligheter som bare finnes på serveren, sider bak innlogging, chunks som siden laster senere med import(), og source maps. Den kan heller ikke avgjøre om en funnet nøkkel fortsatt er aktiv. Et rent resultat er ikke bevis for at appen er trygg.

Hvorfor er noen nøkler merket som offentlige av design?

En Supabase anon- eller publishable-nøkkel, en Firebase apiKey, en Google API-nøkkel og en Stripe publishable key er laget for å sendes til nettleseren. De identifiserer prosjektet ditt og gir bare det databasereglene, API-begrensningene og serverkontrollene dine tillater. De rapporteres slik at du kan bekrefte at disse reglene finnes, ikke fordi selve nøkkelen er en lekkasje.

Hva bør jeg gjøre hvis en ekte hemmelighet lekker?

Roter den først: lag en ny nøkkel hos leverandøren og tilbakekall den gamle. Flytt deretter den nye nøkkelen til serverkode eller miljøvariabler og publiser på nytt. Det holder ikke å slette nøkkelen fra koden, fordi den gamle verdien blir liggende i tidligere builds, cacher og git-historikk.

Hvorfor lekker apper laget med vibe coding nøkler så ofte?

Kode som skrives raskt med AI-verktyg kaller ofte et betalt eller privilegert API rett fra nettleseren, og nøkkelen havner i skriptet som hver besøkende laster ned. Sikkerhet ved vibe coding starter med å holde slike kall på serveren.