A GitLab új elemzője a SAST által kihagyott logikai hibákat keresi

A GitLab korai hozzáférésben elérhetővé tette Business Logic Security Analyzer nevű eszközét, amely a hagyományos SAST-vizsgálatok által gyakran kihagyott üzleti logikai sérülékenységeket keresi. A megoldás jelenleg a GitLab.com néhány GitLab Ultimate ügyfelének érhető el.
- A Business Logic Security Analyzer a hagyományos SAST által kihagyott logikai hibákat keresi.
- Elsőként a hibás jogosultságkezelést, a hiányzó engedélyezést és a mass assignment hibáit vizsgálja.
- Teljes kódtárat és pipeline után automatikusan merge requesteket is ellenőrizhet.
- Az eszköz korai hozzáférésben néhány GitLab Ultimate ügyfélnek érhető el a GitLab.com-on.
- A vizsgálatok GitLab Creditet fogyasztanak, költségük a támadási felület méretétől függ.
A hiányzó ellenőrzéseket a mintakeresők nem látják
Az objektumszintű hibás jogosultságkezelés, vagyis a broken object-level authorization, az OWASP API Security Top 10 listájának első helyén szerepel. Az OWASP szerint a hagyományos statikus alkalmazásbiztonsági tesztelő eszközök nehezen találják meg az ilyen hozzáférés-vezérlési hibákat.
Ennek oka, hogy egy hiányzó jogosultság-ellenőrzés valójában hiányzó kód. A mintákra építő szkenner így nem talál olyan kódrészletet, amelyhez riasztást kapcsolhatna. A hiba feltárásához előbb azt kell megérteni, hogy az adott végpontnak milyen szabályokat kellene betartania.
A GitLab példái között szerepel egy olyan végpont, amely a kérésben kapott rendelésazonosító alapján adja vissza a rendelést, de nem ellenőrzi, hogy ki a tulajdonos. Egy másik esetben a felhasználói profil szerepkörmezője elfogadja a kliens által küldött tetszőleges JSON-adatot. Az is kockázatot jelenthet, ha a felhasználói azonosítók egymást követő egész számok.
Teljes kódtárat vizsgál az új elemző
A GitLab szerint ezek a részletek külön-külön érvényes kódnak tűnhetnek, és sok hagyományos SAST-motor nem jelez rájuk, mert nem jut nem megbízható adat veszélyes célponthoz, illetve nem jelenik meg ismert hibás minta. Együttesen azonban lehetővé tehetik például minden ügyfél rendeléseinek elérését vagy rendszergazdai szerepkör megszerzését.
A Business Logic Security Analyzer a GitLab Duo Agent Platform egyik alapvető folyamata. Elsőként az objektumszintű hibás jogosultságkezelést, a hiányzó vagy helytelen engedélyezést, valamint a mass assignment, vagyis a tömeges hozzárendelés hibáit célozza.
Az eszköz feltérképezi az alkalmazás belépési pontjait, majd modellt épít arról, hogy mely felhasználók milyen rekordokhoz és műveletekhez férhetnek hozzá. Ezután az érintett kezelőket vizsgálja, és azt ellenőrzi, hogy a kód a rekord használata előtt érvényesíti-e a megfelelő szabályt. A vizsgálat teljes kódtárra indítható, a merge requesteket pedig a pipeline sikeres lefutása után automatikusan is ellenőrizheti.
A megállapítások a Vulnerability Reportban és a merge request biztonsági widgetjében, első osztályú SAST-eredményként jelennek meg. A GitLab példájában a refund_order függvény a kérésből kapott order_id alapján állítja be a refunded értéket, miközben nem ellenőrzi a tulajdonjogot vagy a rendszergazdai jogosultságot. Az elemző ezt CWE-639 besorolással, kritikus súlyossággal, az app/orders.py 17. sorában jelzi.
Korai hozzáférés és GitLab által kezelt modellek
A Business Logic Security Analyzer a GitLab szerint az első olyan GitLab-képesség, amely támogatja az Anthropic Claude Mythos 5.1 modellt. Az eszköz jóváhagyott környezetekben érhető el korai hozzáféréssel. Támogatja továbbá az Anthropic Claude Opus 5.5, Sonnet 5.5, Sonnet 5 és Sonnet 4.6 modelleket, további modellek támogatását pedig későbbi kiadásokra tervezik.
A modellek GitLab által kezelt modellként, a GitLab AI gateway rendszerén keresztül futnak. Az elemző a GitLab közlése szerint csak a GitLab által készített utasításokat és az ügyfél kódtárát látja. Ez a kódtár tartalmazza az alkalmazás adatmodelljét, szerepköreit és az egyes végpontok által érvényesített szabályokat.
A korai hozzáférés jelenleg a GitLab.com néhány GitLab Ultimate ügyfelére korlátozódik. A résztvevők saját kódbázisaikon futtatják az elemzőt, és a GitLab velük együtt vizsgálja, mikor ad helyes, téves vagy hiányzó találatot. Minden vizsgálat GitLab Creditet fogyaszt, a költség pedig az alkalmazás támadási felületének méretével arányosan változik.
A bekapcsolást az ügyfélcsapatnál lehet kezdeményezni, a már GitLabot nem használó szervezetek pedig az értékesítési csapathoz fordulhatnak. Engedélyezés után teljes kódtárvizsgálat indítható a GitLab Duo Chatből vagy az API-n keresztül, a merge requestek ellenőrzéséhez pedig a Business Logic vizsgálati profilt kell a projekthez csatolni.
