FixVibe
Covered by FixVibehigh

API Nøkkellekkasje: risikoer og utbedring i moderne nettapper

Hardkodede hemmeligheter i frontend-kode eller depothistorikk lar angripere utgi seg for tjenester, få tilgang til private data og pådra seg kostnader. Denne artikkelen dekker risikoen for hemmelig lekkasje og de nødvendige trinnene for opprydding og forebygging.

CWE-798

Virkning

Lekking av hemmeligheter som API-nøkler, tokens eller legitimasjon kan føre til uautorisert tilgang til sensitive data, tjenesteetterligning og betydelig økonomisk tap på grunn av ressursmisbruk [S1]. Når en hemmelighet er forpliktet til et offentlig depot eller buntet inn i en frontend-applikasjon, bør den anses som kompromittert [S1].

Grunnårsak

Grunnårsaken er inkludering av sensitiv påloggingsinformasjon direkte i kildekoden eller konfigurasjonsfiler som senere blir forpliktet til versjonskontroll eller servert til klienten [S1]. Utviklere koder ofte nøkler for enkelhets skyld under utvikling eller inkluderer ved et uhell .env-filer i deres commits [S1].

Betongrettinger

  • Roter kompromitterte hemmeligheter: Hvis en hemmelighet lekkes, må den oppheves og erstattes umiddelbart. Bare å fjerne hemmeligheten fra den gjeldende versjonen av koden er utilstrekkelig fordi den forblir i versjonskontrollhistorikken [S1][S2].
  • Bruk miljøvariabler: Lagre hemmeligheter i miljøvariabler i stedet for å hardkode dem. Sørg for at .env-filer legges til .gitignore for å forhindre utilsiktede commits [S1].
  • Implementer hemmelig administrasjon: Bruk dedikerte hemmelige administrasjonsverktøy eller hvelvtjenester for å injisere legitimasjon i applikasjonsmiljøet ved kjøretid [S1].
  • Purge Repository History: Hvis en hemmelighet ble begått til Git, bruk verktøy som git-filter-repo eller BFG Repo-Cleaner for å permanent fjerne sensitive data fra alle grener og tagger i depothistorikken [S2].

Hvordan FixVibe tester for det

FixVibe inkluderer nå dette i live-skanninger. Passiv secrets.js-bundle-sweep laster ned JavaScript-bunter med samme opprinnelse og matcher kjente API-nøkkel-, token- og legitimasjonsmønstre med entropi- og plassholderporter. Relaterte live-sjekker inspiserer nettleserlagring, kildekart, auth- og BaaS-klientbunter og GitHub-repokildemønstre. Omskriving av Git-historikk forblir et utbedringstrinn; FixVibes livedekning fokuserer på hemmeligheter som finnes i leverte eiendeler, nettleserlagring og gjeldende repo-innhold.