Skenējiet publisku lapu pēc 25 noplūdušu noslēpumu veidiem
Lietotnes, kas radītas ar vibe coding, bieži sūta atslēgas uz pārlūku. Ievadiet vienas savas lapas adresi, un skeneris nolasa šīs lapas HTML un saistītos skriptu failus, meklējot API atslēgas, tokenus un datubāzu URL, ko apmeklētājs varētu nokopēt. Vērtības tiek rādītas aizklātas.
Rezultāts
Ko šī skenēšana neredz
Skeneris nolasa tikai failus, ko apmeklētāja pārlūks lejupielādē no lapas. Tas neredz noslēpumus, kas paliek serverī, lapas aiz pieteikšanās, failus, kas vēlāk tiek ielādēti ar import(), un source map. Tīrs rezultāts nav pierādījums, ka lietotne ir droša.
Visi 25 atslēgu veidi
Noslēpumi, kam nekad nedrīkst nonākt pārlūkā: 20. Publiskas ar nolūku: 5.
Publiski atzīmētās atslēgas, piemēram, Supabase anon atslēga, Firebase apiKey vai Stripe publishable atslēga, ir paredzētas pārlūkam. Tās ir drošas tikai tad, kamēr datus aiz tām sargā jūsu datubāzes noteikumi.
| Atslēgas veids | ID | Svarīgums | Raksturs |
|---|---|---|---|
| OpenAI API atslēga | openai-key | Kritiska | Noslēpums |
| Anthropic API atslēga | anthropic-key | Kritiska | Noslēpums |
| Stripe darbības slepenā atslēga | stripe-secret | Kritiska | Noslēpums |
| Stripe testa slepenā atslēga | stripe-test-secret | Vidēja | Noslēpums |
| Stripe publishable atslēga | stripe-publishable | Info | Publiska ar nolūku |
| AWS piekļuves atslēgas id | aws-access-key | Augsta | Noslēpums |
| AWS slepenā piekļuves atslēga | aws-secret | Kritiska | Noslēpums |
| GitHub tokens | github-token | Kritiska | Noslēpums |
| Google API atslēga | google-api-key | Info | Publiska ar nolūku |
| Firebase tīmekļa konfigurācijas apiKey | firebase-web-config | Info | Publiska ar nolūku |
| Supabase service_role atslēga | supabase-service-role-jwt | Kritiska | Noslēpums |
| Supabase anon atslēga | supabase-anon-jwt | Info | Publiska ar nolūku |
| JSON Web Token | jwt-other | Zema | Noslēpums |
| Supabase secret atslēga | supabase-secret-key | Kritiska | Noslēpums |
| Supabase publishable atslēga | supabase-publishable-key | Info | Publiska ar nolūku |
| Slack tokens | slack-token | Kritiska | Noslēpums |
| Slack webhook URL | slack-webhook | Augsta | Noslēpums |
| SendGrid API atslēga | sendgrid-key | Kritiska | Noslēpums |
| Twilio API atslēgas sid | twilio-key | Augsta | Noslēpums |
| Mailgun API atslēga | mailgun-key | Augsta | Noslēpums |
| Privātās atslēgas bloks | private-key-block | Kritiska | Noslēpums |
| Datubāzes URL ar paroli | database-url | Kritiska | Noslēpums |
| npm tokens | npm-token | Kritiska | Noslēpums |
| Hugging Face tokens | huggingface-token | Augsta | Noslēpums |
| Resend API atslēga | resend-key | Augsta | Noslēpums |
Jautājumi
Ko noslēpumu skeneris nolasa?
Tas nolasa lapas HTML un līdz 14 skriptu failiem, uz kuriem lapa norāda, kopā 3 MB: lapas pirmos 512 KB un katra faila pirmos 1 MB. Tas meklē zināmus atslēgu formātus, piemēram, API atslēgas, piekļuves tokenus, privāto atslēgu blokus un datubāzu URL ar paroli.
Kur skenēšana notiek un cik ilgi tā ilgst?
Skenēšana notiek jūsu pārlūkā; mūsu serveris tikai ielādē failus tai, viens pieprasījums katram failam. Nekas netiek glabāts. Lēnā vietnē skenēšana var ilgt līdz apmēram pusotrai minūtei.
Ko skeneris neredz?
Noslēpumus, kas pastāv tikai serverī, lapas aiz pieteikšanās, koda daļas, ko lapa vēlāk ielādē ar import(), un source map. Tas arī nevar pateikt, vai atrastā atslēga joprojām ir aktīva. Tīrs rezultāts nav pierādījums, ka lietotne ir droša.
Kāpēc dažas atslēgas ir atzīmētas kā publiskas ar nolūku?
Supabase anon vai publishable atslēga, Firebase apiKey, Google API atslēga un Stripe publishable atslēga ir veidotas, lai tās sūtītu uz pārlūku. Tās identificē jūsu projektu un dod tikai to, ko atļauj jūsu datubāzes noteikumi, API ierobežojumi un servera pārbaudes. Par tām ziņo, lai jūs varētu pārliecināties, ka šie noteikumi pastāv, nevis tāpēc, ka pati atslēga būtu noplūde.
Ko darīt, ja noplūst īsts noslēpums?
Vispirms nomainiet to: izveidojiet jaunu atslēgu pie pakalpojumu sniedzēja un veco atsauciet. Pēc tam pārvietojiet jauno atslēgu uz servera kodu vai vides mainīgajiem un izvietojiet vēlreiz. Atslēgas izdzēšana no koda nepietiek, jo vecā vērtība paliek agrākajos būvējumos, kešatmiņās un git vēsturē.
Kāpēc lietotnes, kas radītas ar vibe coding, tik bieži atklāj atslēgas?
Kods, kas ātri rakstīts ar AI rīkiem, bieži izsauc maksas vai priviliģētu API tieši no pārlūka, un atslēga nonāk skriptā, ko lejupielādē katrs apmeklētājs. Vibe coding drošība sākas ar to, ka šādi izsaukumi paliek serverī.