Namen raziskave je primerjati delovanje dveh odprtokodnih orodij za statično analizo, SonarQube CE in Semgrep CE, ter ovrednotiti njuno učinkovitost pri zaznavanju tipičnih varnostnih ranljivosti v aplikacijah Java.
V diplomskem delu je obravnavano področje statične analize izvorne kode (SAST) kot pomembnega mehanizma za zgodnje odkrivanje varnostnih ranljivosti v programski opremi.
Za prvi del primerjave orodij je bil uporabljen standardizirani testni sklop OWASP Benchmark Java, saj tak pristop omogoča bolj strukturirano in primerljivo vrednotenje rezultatov na enakem naboru testnih primerov.
V diplomskem delu je obravnavano področje statične analize izvorne kode (SAST) kot pomembnega mehanizma za zgodnje odkrivanje varnostnih ranljivosti v programski opremi. Za prvi del primerjave orodij je bil uporabljen standardizirani testni sklop OWASP Benchmark Java, saj tak pristop omogoča bolj strukturirano in primerljivo vrednotenje rezultatov na enakem naboru testnih primerov. Kot drugi del primerjave je bila ustvarjena lastna aplikacija Java, v kateri sta bila testirana vpliv in funkcionalnost orodij med razvojnim procesom.
Zakaj je problem resničen
Metoda
V diplomskem delu je obravnavano področje statične analize izvorne kode (SAST) kot pomembnega mehanizma za zgodnje odkrivanje varnostnih ranljivosti v programski opremi. Namen raziskave je primerjati delovanje dveh odprtokodnih orodij za statično analizo, SonarQube CE in Semgrep CE, ter ovrednotiti njuno učinkovitost pri zaznavanju tipičnih varnostnih ranljivosti v aplikacijah Java. V teoretičnem delu so raziskani splošni pomen kibernetske varnosti, statične analize kode ter opis in dokumentacija obeh orodij za analizo kode.
V praktičnem delu sta orodji Semgrep CE in SonarQube CE testirani v programskem jeziku Java ter v aplikacijo namerno implementirane ranljivosti, kot so SQL injekcija, XSS (Cross-Site Scripting) in ranljivost tipa Path Traversal.
Kaj je nastalo
Za prvi del primerjave orodij je bil uporabljen standardizirani testni sklop OWASP Benchmark Java, saj tak pristop omogoča bolj strukturirano in primerljivo vrednotenje rezultatov na enakem naboru testnih primerov. Kot drugi del primerjave je bila ustvarjena lastna aplikacija Java, v kateri sta bila testirana vpliv in funkcionalnost orodij med razvojnim procesom. Takšna razdelitev praktičnega dela je omogočila, da sta bili orodji preverjeni tako na bolj standardiziranem testnem naboru kot tudi na manjšem lastnem razvojnem primeru.
S tem je bila lahko primerjava izvedena z vidika uspešnosti zaznavanja ter z vidika dejanske uporabe orodij pri delu z izvorno kodo. Orodji sta bili pripravljeni v enotnem testnem okolju, nato pa sta bili izvedeni analiza ter sistematična primerjava zaznanih rezultatov. Posebna pozornost je bila namenjena natančnosti zaznavanja, številu lažno pozitivnih rezultatov ter uporabniški izkušnji pri uporabi orodij, predvsem z vidika začetnika.
Cilj diplomskega dela je bil oceniti primernost obeh pristopov za uporabo v izobraževalnem okolju ter pri razvijalcih z manj izkušnjami na področju kibernetske varnosti. Diplomsko delo tako prispeva k razumevanju praktične uporabnosti sodobnih orodij SAST ter njihovih omejitev pri zaznavanju varnostnih ranljivosti.
Objavljeno 17. 6. 2026 · licenca CC BY-NC 4.0 (besedilo in PDF diplomskega dela; fotografije in videi © Academia) · izvirna objava: academia.si.
Slike, sheme in zaslon

Še iz modula Programsko inženirstvo

Varnostna analiza lokalnega in oblačnega shranjevanja podatkov pri celičnih terapijah

Avtomatizacija backend procesov z uporabo umetne inteligence

Komparativna študija sodobnih spletnih ogrodij: ogrodje Next.js in ogrodje SvelteKit
Želite v dveh letih narediti tak projekt?
Pustite e-pošto. V enem delovnem dnevu dobite osebni odgovor karierne svetovalke: ali je modul pravi za vas, kako se prizna vaša služba kot praksa in koliko stane – plus predmetnik, urnik in cenik.
Go Higher.