FixVibe
Covered by FixVibehigh

API Kulcsszivárgás: Kockázatok és elhárítás a modern webalkalmazásokban

A frontend kódban vagy a lerakatelőzményekben található keményen kódolt titkok lehetővé teszik a támadók számára, hogy kiadják magukat a szolgáltatásoknak, hozzáférjenek a személyes adatokhoz, és költségeket terheljenek. Ez a cikk a titkos szivárgás kockázatait, valamint a tisztítás és megelőzés szükséges lépéseit ismerteti.

CWE-798

Hatás

Az olyan titkok kiszivárogtatása, mint a API kulcsok, tokenek vagy hitelesítő adatok, jogosulatlan hozzáféréshez vezethetnek bizalmas adatokhoz, a szolgáltatás megszemélyesítéséhez és jelentős anyagi veszteséghez vezethetnek az erőforrásokkal való visszaélés miatt. [S1]. Ha egy titkot elhelyeztek egy nyilvános adattárban, vagy egy előtér-alkalmazásba csomagolták, akkor azt veszélyeztetettnek kell tekinteni. [S1].

Kiváltó ok

A kiváltó ok az érzékeny hitelesítő adatok közvetlenül a forráskódba vagy a konfigurációs fájlba való felvétele, amelyet ezt követően a verziófelügyelet alá helyeznek, vagy kiszolgálnak a [S1] ügyfélnek. A fejlesztők gyakran kódolnak kulcsokat a kényelem érdekében a fejlesztés során, vagy véletlenül .env fájlokat vesznek fel a [S1] commitokba.

Konkrét javítások

  • A feltört titkok forgatása: Ha egy titok kiszivárog, azt azonnal vissza kell vonni és ki kell cserélni. A titkos kód egyszerű eltávolítása a kód jelenlegi verziójából nem elegendő, mert az megmarad a [S1][S2] verziókezelési előzményekben.
  • Környezeti változók használata: A titkos kódolás helyett a környezeti változókban tárolja a titkokat. Győződjön meg arról, hogy a .env fájlokat hozzáadta a .gitignore fájlhoz, hogy megelőzze a véletlenül végrehajtott [S1] fájlokat.
  • Titkoskezelés megvalósítása: Használjon dedikált titkosításkezelő eszközöket vagy tárolószolgáltatásokat a hitelesítő adatok beszúrásához az alkalmazáskörnyezetbe a [S1] futási időben.
  • Az adattár előzményeinek törlése: Ha egy titkot elköteleztek a Gitben, használjon olyan eszközöket, mint a git-filter-repo vagy a BFG Repo-Cleaner, hogy véglegesen eltávolítsa a bizalmas adatokat a [S2] lerakatelőzmények összes ágáról és címkéjéről.

Hogyan teszteli a FixVibe

A FixVibe ezt már tartalmazza az élő szkennelésekben. A passzív secrets.js-bundle-sweep letölti az azonos eredetű JavaScript-csomagokat, és egyezteti az ismert API kulcs-, token- és hitelesítőadat-mintákat entrópia- és helyőrző kapukkal. A kapcsolódó élő ellenőrzések megvizsgálják a böngésző tárhelyét, a forrástérképeket, a hitelesítési és BaaS ügyfélcsomagokat, valamint a GitHub repoforrásmintákat. A Git előzményeinek újraírása továbbra is a helyreállítási lépés marad; A FixVibe élő közvetítése a szállított eszközökben, a böngésző tárhelyében és az aktuális repotartalomban jelen lévő titkokra összpontosít.