FixVibe
Covered by FixVibehigh

API Key Leakage: Mga Panganib at Remediation sa Modern Web Apps

Ang mga hard-coded na lihim sa frontend code o history ng repository ay nagbibigay-daan sa mga umaatake na magpanggap bilang mga serbisyo, mag-access ng pribadong data, at magkaroon ng mga gastos. Sinasaklaw ng artikulong ito ang mga panganib ng lihim na pagtagas at ang mga kinakailangang hakbang para sa paglilinis at pag-iwas.

CWE-798

Epekto

Ang paglabas ng mga lihim gaya ng API key, token, o kredensyal ay maaaring humantong sa hindi awtorisadong pag-access sa sensitibong data, pagpapanggap ng serbisyo, at malaking pagkawala sa pananalapi dahil sa pag-abuso sa mapagkukunan [S1]. Kapag ang isang lihim ay naitalaga sa isang pampublikong repositoryo o naka-bundle sa isang frontend na application, dapat itong ituring na nakompromiso [S1].

Root Cause

Ang pangunahing dahilan ay ang pagsasama ng mga sensitibong kredensyal nang direkta sa source code o mga file ng pagsasaayos na pagkatapos ay nakatuon sa kontrol ng bersyon o inihatid sa kliyenteng [S1]. Madalas na hard-code key ang mga developer para sa kaginhawahan sa panahon ng pag-develop o hindi sinasadyang isama ang .env file sa kanilang mga commit na [S1].

Mga Konkretong Pag-aayos

  • Rotate Compromised Secrets: Kung may na-leak na sikreto, dapat itong bawiin at palitan kaagad. Ang simpleng pag-alis ng lihim mula sa kasalukuyang bersyon ng code ay hindi sapat dahil nananatili ito sa kasaysayan ng kontrol ng bersyon [S1][S2].
  • Gumamit ng Mga Variable ng Kapaligiran: Mag-imbak ng mga lihim sa mga variable ng kapaligiran kaysa sa hard-coding ang mga ito. Tiyakin na ang mga .env na file ay idinagdag sa .gitignore upang maiwasan ang hindi sinasadyang paggawa ng [S1].
  • Ipatupad ang Lihim na Pamamahala: Gumamit ng mga nakalaang tool sa pamamahala ng lihim o mga serbisyo ng vault upang mag-inject ng mga kredensyal sa kapaligiran ng application sa runtime na [S1].
  • Purge Repository History: Kung may ginawang lihim sa Git, gumamit ng mga tool tulad ng git-filter-repo o ang BFG Repo-Cleaner para permanenteng alisin ang sensitibong data mula sa lahat ng branch at tag sa history ng repository [S2].

Paano sinusuri ito ng FixVibe

Kasama na ito sa FixVibe sa mga live na pag-scan. Ang passive secrets.js-bundle-sweep ay nagda-download ng parehong orihinal na mga bundle ng JavaScript at tumutugma sa mga kilalang API na key, token, at mga pattern ng kredensyal na may entropy at placeholder gate. Sinusuri ng mga kaugnay na live na pagsusuri ang storage ng browser, mga source na mapa, auth at BaaS client bundle, at GitHub repo source patterns. Ang muling pagsusulat ng kasaysayan ng Git ay nananatiling isang hakbang sa remediation; Nakatuon ang live coverage ng FixVibe sa mga lihim na nasa mga naipadalang asset, storage ng browser, at kasalukuyang nilalaman ng repo.