Skannaa julkinen sivu 25 tyypin vuotaneiden salaisuuksien varalta
Vibe codingilla tehdyt sovellukset lähettävät usein avaimia selaimeen. Syötä yhden ylläpitämäsi sivun osoite, niin skanneri lukee kyseisen sivun HTML:n ja linkitetyt skriptitiedostot ja etsii API-avaimia, tokeneita ja tietokanta-URL:eja, jotka kävijä voisi kopioida. Arvot näytetään peitettyinä.
Tulos
Mitä tämä skannaus ei näe
Skanneri lukee vain tiedostot, jotka kävijän selain lataa sivulta. Se ei näe salaisuuksia, jotka pysyvät palvelimella, kirjautumisen takana olevia sivuja, tiedostoja, jotka ladataan myöhemmin import()-kutsulla, eikä source mapeja. Puhdas tulos ei todista, että sovellus on turvallinen.
Kaikki 25 avaintyyppiä
20 niistä on salaisuuksia, joita ei saa koskaan päästää selaimeen. 5 on julkisia tarkoituksella.
Julkisiksi merkityt avaimet, kuten Supabase anon key, Firebase apiKey tai Stripe publishable key, on tarkoitettu olemaan selaimessa. Ne ovat turvallisia vain niin kauan kuin tietokantasääntösi suojaavat niiden takana olevaa dataa.
| Avaintyyppi | ID | Vakavuus | Laji |
|---|---|---|---|
| OpenAI API -avain | openai-key | Kriittinen | Salainen |
| Anthropic API -avain | anthropic-key | Kriittinen | Salainen |
| Stripe live secret key | stripe-secret | Kriittinen | Salainen |
| Stripe test secret key | stripe-test-secret | Keskitaso | Salainen |
| Stripe publishable key | stripe-publishable | Info | Julkinen tarkoituksella |
| AWS access key id | aws-access-key | Korkea | Salainen |
| AWS secret access key | aws-secret | Kriittinen | Salainen |
| GitHub-token | github-token | Kriittinen | Salainen |
| Google API -avain | google-api-key | Info | Julkinen tarkoituksella |
| Firebase web config apiKey | firebase-web-config | Info | Julkinen tarkoituksella |
| Supabase service_role -avain | supabase-service-role-jwt | Kriittinen | Salainen |
| Supabase anon key | supabase-anon-jwt | Info | Julkinen tarkoituksella |
| JSON Web Token | jwt-other | Matala | Salainen |
| Supabase secret key | supabase-secret-key | Kriittinen | Salainen |
| Supabase publishable key | supabase-publishable-key | Info | Julkinen tarkoituksella |
| Slack-token | slack-token | Kriittinen | Salainen |
| Slack webhook -URL | slack-webhook | Korkea | Salainen |
| SendGrid API -avain | sendgrid-key | Kriittinen | Salainen |
| Twilio API key sid | twilio-key | Korkea | Salainen |
| Mailgun API -avain | mailgun-key | Korkea | Salainen |
| Yksityisen avaimen lohko | private-key-block | Kriittinen | Salainen |
| Tietokanta-URL salasanalla | database-url | Kriittinen | Salainen |
| npm-token | npm-token | Kriittinen | Salainen |
| Hugging Face -token | huggingface-token | Korkea | Salainen |
| Resend API -avain | resend-key | Korkea | Salainen |
Kysymyksiä
Mitä secret scanner lukee?
Se lukee sivun HTML:n ja enintään 14 sivun linkittämää skriptitiedostoa, yhteensä 3 MB, sivusta ensimmäiset 512 KB ja jokaisesta tiedostosta ensimmäiset 1 MB. Se etsii tunnettuja avainmuotoja, kuten API-avaimia, käyttötokeneita, yksityisen avaimen lohkoja ja salasanallisia tietokanta-URL:eja.
Missä skannaus ajetaan ja kauanko se kestää?
Skannaus ajetaan selaimessasi; palvelimemme hakee sille vain tiedostot, yksi pyyntö tiedostoa kohti. Mitään ei tallenneta. Skannaus voi kestää hitaalla sivustolla jopa noin puolitoista minuuttia.
Mitä skanneri ei näe?
Salaisuuksia, jotka ovat vain palvelimella, kirjautumisen takana olevia sivuja, chunkkeja, jotka sivu lataa myöhemmin import()-kutsulla, ja source mapeja. Se ei myöskään voi tietää, onko löydetty avain yhä aktiivinen. Puhdas tulos ei todista, että sovellus on turvallinen.
Miksi jotkin avaimet on merkitty julkisiksi tarkoituksella?
Supabase anon- tai publishable-avain, Firebase apiKey, Google API -avain ja Stripe publishable key on tehty lähetettäviksi selaimeen. Ne yksilöivät projektisi ja antavat vain sen, minkä tietokantasääntösi, API-rajoituksesi ja palvelintarkistuksesi sallivat. Ne raportoidaan, jotta voit varmistaa näiden sääntöjen olemassaolon, eikä siksi, että avain itse olisi vuoto.
Mitä teen, jos oikea salaisuus vuotaa?
Kierrätä se ensin: luo palveluntarjoajalla uusi avain ja peruuta vanha. Siirrä sitten uusi avain palvelinkoodiin tai ympäristömuuttujiin ja julkaise uudelleen. Avaimen poistaminen koodista ei riitä, koska vanha arvo säilyy aiemmissa buildeissa, välimuisteissa ja git-historiassa.
Miksi vibe codingilla tehdyt sovellukset vuotavat avaimia niin usein?
Nopeasti tekoälytyökaluilla kirjoitettu koodi kutsuu usein maksullista tai etuoikeutettua API:a suoraan selaimesta, ja avain päätyy skriptiin, jonka jokainen kävijä lataa. Vibe coding -tietoturva alkaa siitä, että tällaiset kutsut pidetään palvelimella.