Fejléc

SCA a gyakorlatban: sérülékenységkezelés belép a build folyamatba

Szerző ikon InfoSec üzletág szakértője

Dátum ikon 2026.07.10

Korábbi cikkünkben bemutattuk, miért vált alapvető biztonsági kérdéssé, hogy pontosan lássuk, milyen open source és harmadik féltől származó komponensekből épülnek fel az alkalmazásaink. A Software Composition Analysis, vagyis az SCA azonban nem akkor ad igazán értéket, ha időnként lefuttatunk egy riportot a csomagokról, hanem akkor, ha beépül a fejlesztési életciklusba, és támogatja a napi fejlesztői, security és üzleti döntéseket.

A gyakorlati kérdés ugyanis nem csak az, hogy van-e sérülékeny komponens az alkalmazásban. Hanem az is, hogy:

  • mikor és melyik buildben jelent meg,
  • melyik branchhez vagy fejlesztői változtatáshoz kapcsolódik,
  • futásidőben elérhető-e,
  • valóban kihasználható-e,
  • és mi legyen vele: javítás, triázs, kivételkezelés vagy release-blokkolás.


Egy jól felépített SCA-folyamat ezekre a kérdésekre ad bizonyíték alapú választ.

Lássa, hogyan válik a biztonság a fejlesztési folyamat valódi részévé

A cikkben bemutatott megközelítések és technológiák nem csupán elméleti lehetőségek. Webinárunkon élő demókon keresztül mutattuk be, hogyan építhető be a sérülékenységkezelés a fejlesztési folyamatokba, milyen információk alapján születnek döntések, és hogyan valósul meg a problémák javítása a gyakorlatban. A résztvevők lépésről lépésre követhették végig, hogyan segít egy korszerű SCA-megoldás a kockázatok azonosításában, priorizálásában és kezelésében.

Kérje a webinár felvételét, és nézze meg, hogyan lehet a magasabb szintű alkalmazásbiztonságot nemcsak megtervezni, hanem a mindennapi fejlesztési működés részeként sikeresen megvalósítani.

Miért érdemes az SCA-t a pipeline-ba kötni?

A fejlesztési folyamatban a gyors visszajelzés kulcsfontosságú. Ha egy sérülékeny komponens csak napokkal vagy hetekkel később, egy külön riportból derül ki, akkor a javítás már nehezebben kapcsolható össze a konkrét fejlesztői változtatással. Ha viszont az SCA-vizsgálat a build részeként fut le, a csapat azonnal látja, hogy egy adott módosítás milyen kockázatot hozott be.

A CI/CD pipeline-ba integrált SCA több szempontból is hasznos:

  • automatikusan ellenőrzi a build során behúzott csomagokat,
  • jelzi a sérülékeny direkt és tranzitív függőségeket,
  • összekapcsolja a találatokat a konkrét builddel és branch-csel,
  • policy alapján meg tudja állítani a folyamatot,
  • és dokumentált triázsra kényszeríti a csapatot a kritikus esetekben.


A cél nem az, hogy minden találat megállítsa a fejlesztést. A jó bevezetés fokozatos: először láthatóvá tesszük a problémákat, majd az alkalmazás kritikussága és a csapat érettsége alapján szigorítjuk a policy-ket.

A build gate nem büntetés, hanem kontrollpont

A policy alapú build gate lényege, hogy a kritikus kockázatok ne jussanak át észrevétlenül a fejlesztési folyamat következő lépésébe. Ha a pipeline egy sérülékenység miatt elbukik, az első reakció nem az kell, hogy legyen: „az eszköz akadályozza a munkát”. Sokkal inkább az, hogy a rendszer elért egy kontrollpontot, ahol döntést kell hozni.

Ez a döntés többféle lehet:

  • a sérülékeny csomag frissítése,
  • a dependency lánc módosítása,
  • a találat false positive-ként történő dokumentált kezelése,
  • ideiglenes policy exception felvétele,
  • vagy a release blokkolása, ha a kockázat valóban magas.


Fontos, hogy a build gate ne legyen túl általános. Egy üzletileg kritikus, külső ügyfeleket kiszolgáló alkalmazásnál indokolt lehet, hogy kritikus vagy ismert exploittal rendelkező sérülékenység esetén a build elbukjon. Egy kevésbé kritikus belső komponensnél elegendő lehet figyelmeztetést adni és ticketet nyitni.

Nem minden kritikus találat jelent valódi kockázatot

Az SCA-eszközök sokszor helyesen jelzik, hogy egy sérülékeny komponens jelen van az alkalmazásban. Ez azonban önmagában még nem bizonyítja, hogy a sérülékenység kihasználható.

Előfordulhat például, hogy egy csomag valóban települ, de az alkalmazás nem használja azt a funkciót, amelyen keresztül a sérülékenység aktiválódna. Ilyenkor komponensszinten helyes a jelzés, de alkalmazási kontextusban nem feltétlenül jelent valós támadási felületet.

Ezért van szükség fejlesztői és security oldali közös triázsra. A security csapat látja a sérülékenységi kontextust, a fejlesztő pedig meg tudja mondani, hogy az adott csomag vagy funkció ténylegesen része-e a futó logikának.

Egy false positive döntés akkor védhető, ha bizonyíték áll mögötte. Nem elég annyit mondani, hogy „ezt nem használjuk”. Dokumentálni kell például:

  • melyik komponensről van szó,
  • milyen dependency útvonalon került be,
  • melyik sérülékeny funkció lenne érintett,
  • az alkalmazás használja-e ezt a kódutat,
  • ki ellenőrizte,
  • ki hagyta jóvá,
  • és meddig érvényes a kivétel.


Ez auditálhatósági szempontból is fontos. Egy későbbi ellenőrzésnél nem az lesz a kérdés, hogy volt-e találat, hanem az, hogy milyen döntés született róla, milyen bizonyíték alapján, és követhető-e a folyamat.

Amikor a tranzitív függőség valódi problémát jelent

A gyakorlatban sok komoly sérülékenység nem direkt dependency-ként jelenik meg, hanem egy másik csomag által behúzott tranzitív függőségként. Ez azért veszélyes, mert a fejlesztő gyakran nem is találkozik közvetlenül az érintett csomag nevével.

Egy webes keretrendszer például behúzhat egy query feldolgozó komponenst, amelyben ismert sérülékenység van. Ha ez a komponens a futó alkalmazás része, és HTTP requesten keresztül elérhető kódúthoz kapcsolódik, akkor már nem beszélhetünk egyszerűen elméleti kockázatról.

Ilyenkor az SCA hozzáadott értéke különösen jól látszik. Nemcsak azt mutatja meg, hogy van egy sérülékeny csomag, hanem azt is, hogy:

  • melyik direkt csomagon keresztül került be,
  • milyen verzió érintett,
  • van-e javított verzió,
  • hogyan néz ki a dependency tree,
  • és milyen frissítési út javasolt.


A javítás sokszor nem azt jelenti, hogy közvetlenül a mélyen lévő tranzitív csomagot próbáljuk felülírni. Biztonságosabb megközelítés lehet a direkt dependency frissítése olyan verzióra, amely már javított tranzitív függőséget húz be.

Mikor javítsunk azonnal, és mikor triázsoljunk?

A sérülékenységkezelés egyik legfontosabb gyakorlati kérdése, hogy mikor érdemes azonnal javítani, és mikor indokolt mélyebb triázst végezni. Nincs minden helyzetre érvényes válasz, de vannak jól használható döntési szempontok.

Az azonnali javítás jellemzően akkor a legjobb út, ha:

  • van stabil, kompatibilis javított verzió,
  • az upgrade nem okoz jelentős architekturális változást,
  • runtime dependency-ről van szó,
  • a csomag külső támadási felülethez kapcsolódik,
  • kritikus vagy high severity sérülékenység érintett,
  • ismert exploit áll rendelkezésre,
  • vagy a javítás gyorsabban elvégezhető és tesztelhető, mint a hosszadalmas elemzés.


Mélyebb triázsra akkor van nagyobb szükség, ha:

  • nincs gyors vagy kompatibilis fix,
  • a frissítés breaking change-et okozhat,
  • régi framework verziót kellene cserélni,
  • a policy blokkolja a CI-t vagy release-t,
  • nem egyértelmű, hogy a sérülékeny kódút elérhető-e,
  • vagy üzleti döntéshez további kontextus szükséges.


A cél nem az, hogy minden találatból hosszú elemzés legyen. Sokkal inkább az, hogy gyorsan eldönthető legyen, hol kell azonnal cselekedni, hol elegendő a dokumentált kivétel, és hol indokolt mélyebb vizsgálat.

Advisory esetén gyorsan kell látni az érintettséget

Az SCA értéke nem ér véget a buildnél. Egy ma biztonságosnak tekintett komponensről holnap kiderülhet, hogy kritikus sérülékenységet tartalmaz. Ezért fontos, hogy egy új security advisory, gyártói értesítés vagy threat intelligence jelzés esetén gyorsan meg lehessen válaszolni: érintettek vagyunk-e?

Egy ilyen helyzetben nem elegendő azt tudni, hogy az adott sérülékenység létezik. Azt kell látni, hogy:

  • mely alkalmazások használják az érintett komponenst,
  • mely verziók vannak jelen,
  • melyik komponens üzletileg kritikus,
  • van-e külső elérhetőség,
  • kezel-e érzékeny vagy tranzakciós adatokat,
  • teljesülnek-e az exploitálási feltételek,
  • és van-e ismert, aktívan kihasznált támadási minta.


Ha ugyanaz a sérülékenység több komponensben is megjelenik, nem biztos, hogy mindenhol ugyanazzal a prioritással kell kezelni. Egy ügyféltranzakciókat kezelő backend szolgáltatás előrébb kerülhet a javítási sorrendben, mint egy belső, korlátozott elérésű modul.

A legfontosabb tanulság

Az SCA gyakorlati értéke nem önmagában a sérülékenységek megtalálásában rejlik. Egy nagyobb alkalmazásban mindig lesznek találatok, és ezek száma elsőre akár riasztó is lehet. A kérdés az, hogy a szervezet képes-e ezekből kezelhető, priorizált és üzletileg is értelmezhető feladatokat létrehozni.

A CI/CD pipeline-ba integrált SCA ebben segít. Láthatóvá teszi, milyen komponensekből épül fel az alkalmazás, melyik buildben jelenik meg egy kockázat, milyen dependency láncon keresztül kerül be, és mikor kell megállítani a folyamatot.

A bizonyíték alapú triázs pedig abban segít, hogy ne minden találatot kezeljünk ugyanúgy. Van, amit azonnal javítani kell. Van, amit mélyebben elemezni érdemes. És van, amit dokumentált kivételként lehet kezelni, ha valóban nem jelent kihasználható kockázatot.

Az SCA így nem csupán egy újabb biztonsági eszköz a pipeline-ban, hanem kontrollréteg a fejlesztés, a security és az üzleti kockázatkezelés között.

Kérdése van? Vegye fel Kollégáinkkal a kapcsolatot!

    Kapcsolódó bejegyzések

    További cikkek →

    Nem elég tudni, mit fejlesztünk – azt is tudni kell, miből épül fel

    Szerző ikon Lesku Gergely

    Dátum ikon 2026.06.04

    Az open source gyorsítja a fejlesztést, de új támadási felületet nyit. Az SCA segít látni, kezelni és csökkenteni a supply chain kockázatokat.