FixVibe
Covered by FixVibehigh

API Rrjedhja kryesore: Rreziqet dhe korrigjimi në aplikacionet moderne të uebit

Sekretet e koduara të forta në kodin frontend ose në historinë e depove i lejojnë sulmuesit të imitojnë shërbimet, të kenë akses në të dhënat private dhe të bëjnë kosto. Ky artikull mbulon rreziqet e rrjedhjeve sekrete dhe hapat e nevojshëm për pastrimin dhe parandalimin.

CWE-798

Ndikimi

Rrjedhja e sekreteve të tilla si çelësat, argumentet ose kredencialet API mund të çojë në akses të paautorizuar në të dhëna të ndjeshme, imitim të shërbimit dhe humbje të konsiderueshme financiare për shkak të abuzimit me burimet [S1]. Pasi një sekret të jetë kryer në një depo publike ose të bashkohet në një aplikacion frontend, ai duhet të konsiderohet i rrezikuar [S1].

Shkaku rrënjësor

Shkaku kryesor është përfshirja e kredencialeve të ndjeshme drejtpërdrejt në kodin burimor ose skedarët e konfigurimit që më pas janë të angazhuara në kontrollin e versionit ose i janë shërbyer klientit [S1]. Zhvilluesit shpeshherë çelësat me kod të fortë për lehtësi gjatë zhvillimit ose përfshijnë aksidentalisht skedarët .env në detyrat e tyre [S1].

Rregullime konkrete

  • Rrotulloni sekretet e komprometuara: Nëse një sekret zbulohet, ai duhet të revokohet dhe të zëvendësohet menjëherë. Thjesht heqja e sekretit nga versioni aktual i kodit është i pamjaftueshëm sepse ai mbetet në historikun e kontrollit të versionit [S1][S2].
  • Përdorni variablat e mjedisit: Ruani sekretet në variablat e mjedisit në vend që t'i kodoni ato. Sigurohuni që skedarët .env të shtohen në .gitignore për të parandaluar kryerjet aksidentale [S1].
  • Zbatoni Menaxhimin Sekret: Përdorni mjete të dedikuara të menaxhimit sekret ose shërbime të kasafortës për të injektuar kredencialet në mjedisin e aplikacionit në kohën e ekzekutimit [S1].
  • Pastrimi i historisë së depove: Nëse një sekret është kryer në Git, përdorni mjete si git-filter-repo ose BFG Repo-Cleaner për të hequr përgjithmonë të dhënat e ndjeshme nga të gjitha degët dhe etiketat në historikun e depove [S2].

Si e teston FixVibe për të

FixVibe tani e përfshin këtë në skanimet e drejtpërdrejta. secrets.js-bundle-sweep pasive shkarkon paketa JavaScript me origjinë të njëjtë dhe përputhet me çelësat, tokenat dhe modelet e kredencialeve të njohura API me entropinë dhe portat mbajtëse të vendeve. Kontrollet e drejtpërdrejta të lidhura inspektojnë hapësirën ruajtëse të shfletuesit, hartat burimore, paketat e klientëve auth dhe BaaS dhe modelet e burimit të repove GitHub. Rishkrimi i historisë Git mbetet një hap korrigjues; Mbulimi i drejtpërdrejtë i FixVibe fokusohet në sekretet e pranishme në asetet e dërguara, ruajtjen e shfletuesit dhe përmbajtjet aktuale të repos.