GitHub CodeQL dobiva deklarativne sanitizatore i validatore, bez pisanja QL koda
GitHub je u CodeQL-u 2.25.2 omogućio deklarativno definiranje sanitizatora i validatora kroz YAML, bez pisanja QL koda. Podržano je 8 jezika (C/C++, C#, Go, Java/Kotlin, JS/TS, Python, Ruby, Rust), što demokratizira statičku analizu sigurnosti za timove bez stručnjaka za QL.
Ovaj članak generiran je uz pomoć umjetne inteligencije na temelju primarnih izvora.
GitHub je u verziji CodeQL 2.25.2 proširio pristup models-as-data novom funkcionalnošću koja omogućuje definiranje sanitizatora i validatora kroz YAML, bez potrebe za pisanjem upita u QL jeziku.
Što su sanitizatori i validatori
Sanitizatori su funkcije koje ulazne podatke čiste od potencijalno opasnih sadržaja, primjerice uklanjaju HTML oznake prije ispisa. Validatori su funkcije koje vraćaju booleov ishod i signaliziraju je li podatak siguran za daljnju obradu. U terminologiji CodeQL-a, sanitizatori se modeliraju kao barriers (prekidi protoka zaraženih podataka), a validatori kao barrier guards (uvjetni prekidi). Do sada su timovi morali pisati vlastite QL upite da bi CodeQL prepoznao njihove interne sigurnosne funkcije. Nove ekstenzibilne predikate barrierModel i barrierGuardModel dovoljno je popuniti kroz YAML model pack.
Podržani jezici i praktični utjecaj
Funkcionalnost pokriva osam programskih jezika: C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, Ruby i Rust. Za svaki jezik tim može definirati vlastite ulaze, izlaze i uvjete bez dubokog poznavanja QL-a. GitHub ovaj pomak opisuje kao demokratizaciju statičke analize sigurnosti. Organizacije koje imaju vlastite helper funkcije za escape-anje SQL upita, sanitizaciju HTML-a ili validaciju JWT tokena sada mogu te obrasce dodati u standardni CodeQL skener kroz pull request u svom model pack repozitoriju.
Tko bi trebao probati
Očekuje se da će ovo najviše koristiti security timovi koji rade u većim monorepoima s internim sigurnosnim knjižnicama, kao i open source održavatelji koji žele pokrivati svoje utility funkcije. Funkcionalnost je dostupna uz CodeQL 2.25.2 iz travnja 2026. godine. Za male timove koji već koriste GitHub Advanced Security, ovo je niskorizičan način da prošire pokrivenost bez angažmana QL specijalista. Tipičan primjer upotrebe je organizacija koja je napisala vlastitu funkciju za escape-anje korisničkih ulaza prije SQL upita. Bez ovih ekstenzija, CodeQL bi i dalje prijavljivao false positive upozorenja o SQL injectionu iako je podatak zapravo siguran. Dodavanjem YAML unosa u model pack, ti se false positivei eliminiraju, a analiza ostaje konzistentna kroz pull request-ove. Dokumentacija i primjeri YAML ekstenzija dostupni su u službenom CodeQL repozitoriju, a GitHub najavljuje daljnje proširenje kroz kvartalna ažuriranja.
Česta pitanja
- Što je CodeQL?
- CodeQL je GitHubov alat za statičku analizu koda koji traži ranjivosti kroz upite u QL jeziku. Koristi ga GitHub Advanced Security.
- Zašto je ovo važno?
- Do sada su timovi morali pisati QL kod za prepoznavanje internih funkcija koje čiste podatke. Sada je dovoljna YAML konfiguracija, što znatno snižava prag ulaska.
Povezane vijesti
Anthropic: Project Glasswing pronašao 10.000 visokorizičnih ranjivosti u prvom mjesecu rada s Claude Mythos Preview
arXiv:2605.22786: LCGuard štiti dijeljeni KV cache između agenata u multi-agent sustavima od curenja podataka
GitHub: npm 11.15.0 uvodi staged publishing i tri nova install-time --allow flaga za supply chain hardening