2. in 3. september 2026
MARIBOR
2. in 3. september 2026
MARIBOR
Vodja sekcije: Tina Beranič
Na podlagi konkretnega forenzično analiziranega primera bomo sledili tipičnemu poteku sodobne bančne goljufije, pri kateri storilec z uporabo socialnega inženiringa in aplikacije za oddaljeni dostop pridobi dejanski vpliv na uporabnikovo napravo ter uporabnika pripelje do “navidezno legitimne” avtentikacije spornih dejanj. Primer bo izhodišče za širšo strokovno obravnavo vprašanj, ki so danes ključna za varnost e-bančništva: omejitve močne avtentikacije pri manipuliranem uporabniku, tveganja uporabe vseh avtentikacijskih faktorjev na isti napravi, pomen preverjanja prejemnika, vedenjskih in transakcijskih kontrol, omejevanja tveganj pri oddaljenem dostopu ter sodobne evropske usmeritve na področju preprečevanja plačilnih goljufij. Poseben poudarek bo na tem, katere dodatne varnostne plasti lahko banke uvedejo, da zmanjšajo verjetnost uspešne prevare tudi tedaj, ko je formalna avtentikacija izpolnjena.
V preteklih letih smo v sistemu COBISS razvili pametnega asistenta na osnovi velikih jezikovnih modelov in pristopa RAG. Začetna implementacija je temeljila na uporabi zunanjih storitev (OpenAI), nato pa smo z uvedbo lokalnih modelov in knjižnice Langchain4j poenostavili razvoj ter izboljšali razširljivost rešitev. Pozitivne izkušnje so potrdile našo strateško usmeritev k uporabi lokalno nameščenih odprtokodnih modelov, kar omogoča večji nadzor nad podatki, večjo zasebnost in nižje stroške. Umetno inteligenco smo razširili tudi na druga področja sistema COBISS. V COBISS Lib smo nadgradili obstoječe asistente, dodatno pa razvili več novih rešitev. Mikrostoritev CAT-AI omogoča avtomatizirano ekstrakcijo bibliografskih metapodatkov iz dokumentov in slik. Z umetno inteligenco podprta pomoč uporabnikom (help-desk) omogoča semantično iskanje po interni bazi znanja. Implementirali smo iskanje v naravnem jeziku, ki uporabniške poizvedbe pretvori v strukturirane iskalne zahteve za iskanje po bibliografskih oziroma raziskovalnih virih. Rešitve temeljijo na javanskem ekosistemu (Quarkus, Langchain4j) in arhitekturi mikrostoritev. V prispevku so predstavljene praktične izkušnje pri uvajanju lokalnih modelov ter integraciji umetne inteligence v sistem COBISS.
Digitalno gospodarstvo temelji na avtomatizirani izmenjavi podatkov med sistemi, kjer se je pri spletnih storitvah kot prevladujoči pristop uveljavil arhitekturni slog REST. Kljub tehnični zrelosti spletnih vmesnikov pa področje neposredne programatične monetizacije podatkov dolgo ni imelo odprtega in standardiziranega mehanizma. Ponudniki podatkov zato večinoma uporabljajo lastne modele naročnin ali posredniških plačilnih sistemov, ki povečujejo stroške, uvajajo odvisnost od centraliziranih ponudnikov ter zmanjšujejo interoperabilnost med sistemi.
Prispevek predstavlja protokol x402, odprti standard za strojno izvajanje plačil na spletu, ki temelji na HTTP statusni kodi 402 (Payment Required) in tehnologiji verige blokov. Protokol omogoča neposredno monetizacijo dostopa do podatkov in storitev brez posrednikov ter podpira mikroplačila med sistemi oziroma agenti. Delovanje temelji na mehanizmu zahteva–odgovor: strežnik ob neplačanem zahtevku vrne HTTP 402 s podatki o plačilu, odjemalec podpiše transakcijo in jo priloži ponovljenemu zahtevku, ponudnik pa transakcijo prek lastne ali zunanje komponente facilitator posreduje v izvedbo na verigo blokov.
V okviru prispevka bomo tehnično primerjali protokol x402 in Stripe Machine Payments Protocol (MPP). Medtem ko x402 predstavlja odprti in decentralizirani pristop brez centralnega upravljavca, je MPP vezan na Stripe infrastrukturo ter poleg kripto plačil podpira tudi klasična FIAT plačila. Predstavljene bodo ključne razlike v arhitekturi, interoperabilnosti, načinu integracije in primernosti za različne scenarije uporabe.
Poseben poudarek bo namenjen razlikam med različicama x402 v1 in v2. Druga različica uvaja podporo za poljubne ERC-20 žetone in različne verige blokov ter premik plačilnih podatkov iz telesa HTTP odgovora v HTTP glave, kar poenostavi integracijo v obstoječe infrastrukture in izboljša strojno obdelavo zahtevkov.
Predstavili bomo tudi konkretne primere uporabe protokola x402. Eden izmed najbolj aktualnih scenarijev je plačevanje uporabe AI agentov, ki avtonomno dostopajo do zunanjih podatkov in storitev brez človeškega posredovanja. Poleg tega bo prikazana realna implementacija protokola znotraj povezovalnika podatkovnih prostorov DSX Engine, kjer x402 omogoča decentralizirano in suvereno monetizacijo dostopa do podatkov v podatkovnem prostoru DADS (DIH AGRIFOOD Data Space). Prispevek bo tako naslovil tako arhitekturne kot tudi praktične vidike uvajanja strojnih plačil v sodobne digitalne ekosisteme.
Vodja sekcije: Milan Gabor
V prispevku prikazujemo napredek sistema SKRINJA, ki smo ga v zadnjih mesecih uspešno nadgradili z dodatnimi funkcionalnostmi: Odprto SKRINJO in modulom Napovedna analitika, kar predstavlja dodano vrednost v državni upravi Slovenije.
Sistem SKRINJA – poslovno inteligenčna horizontalne platforma za organe državne uprave vključuje podatkovno skladišče s poslovno inteligenčnim sistemom. V ciljnem stanju sistem omogoča pretok prečiščenih podatkov v informacije v realnem času in tako vpogled v dnevno stanje ključnih kazalnikov za potrebe odločanja. V sistem SKRINJA je vključenih že več podatkovnih virov različnih državnih organov.
Odprta SKRINJA je nova pridobitev, ki odpira podatke širši javnosti na spletu in omogoča prikaz informacij z orodji poslovne inteligence. Kot prvi vir odpiranja podatkov za javnost smo uporabili podatke Oddanih javnih naročil v Sloveniji, s katerim upravlja Direktorat za javno naročanje Ministrstva za javno upravo. V tem primeru je Odprta SKRINJA integrirana na Portal Javnih naročil – eJN in uporabnikom prikazuje podatke o oddanih javnih naročilih v obliki Power BI poročil na nadzorni plošči (Dashboard). Uporabnikom omogoča izbor nabora podatkov na »klik«, uporabo različnih filtrov, vpogled v podatke posamičnega naročila in enostaven izvoz podatkov za podrobno analiziranje. Odprta SKRINJA temelji na oblačni rešitvi v Azure oblaku, kjer se omejen set podatkov iz področnega podatkovnega skladišča oddanih javnih naročil potiska v »javno« podatkovno skladišče, izključno za namen javne objave podatkov za zainteresirano javnost. Povezava na eJN: https://ejn.gov.si/skrinja.html.
Napovedna analitika je nova dodana vrednost sistema in predstavlja korak naprej. Razvijamo »modul« za napovedno analitiko, ki ga bodo uporabniki lahko uporabili na podatkih Skupne kmetijske politike Ministrstva za kmetijstvo, gozdarstvo in prehrano. Od junija dalje bodo uporabniki že lahko analizirali podatke in napovedovali trend opuščanja kmetijskih dejavnosti in posledično vzpostavljajo nadzor in potrebne ukrepe za strukturne spremembe v kmetijskem sistemu. Napovedni model je zasnovan kot pilotna nadgradnja obstoječega podatkovnega vira Skupna kmetijska politika z uporabo metod strojnega učenja. Namen modela je, na podlagi zgodovinskih podatkov oceniti verjetnost, ali bo posamezna kmetija v prihodnjem triletnem obdobju opustila kmetijsko dejavnost oziroma ne bo več izkazovala aktivnosti, ki so predmet spremljanja. Pri tem so upoštevani dejavniki iz preteklih obdobij, kot so spol in starost nosilca kmetije, osnovne značilnosti kmetije, zgodovina oddajanja zbirnih vlog, obseg kmetijskih površin, standardni prihodek, odvisnost kmetije od subvencij, nagib kmetije, podatki o živalih in drugo, kar s pomočjo ustreznih algoritmov omogoča napoved in trende v prihodnjem obdobju.
Novo razviti funkcionalnosti bomo kot dodatna modula ponudili organom državne uprave, ki so svoje podatke že pripeljali v podatkovno skladišče sistema SKRINJA in bodo tako pripravljeni za večje nadgradnje: Odprto SKRINJO za večjo transparentnost in odpiranje podatkov za javnost(kjer zakonodaja to dopušča), napovedno analitiko pa kot storitev MLaaS za samostojno napovedovanje trendov in uvajanje ustreznih ukrepov /politik za pripravo izboljšav.
Predstavljamo zasnovo, implementacijo in načrt evalvacije agentnega sistema RAG, ki zaposlenim v velikem telekomunikacijskem podjetju omogoča pogovorno iskanje informacij po notranjih bazah znanja. Prispevek se osredotoča na tri faze: zajem zahtev v realnem podjetniškem okolju, izvedbo sistema na osnovi ogrodja LlamaIndex in storitev oblaka Azure ter pripravo postopka evalvacije.
Ključne besede: agentni sistem, RAG, vektorsko iskanje, LlamaIndex, Azure AI Search, podpora zaposlenim, veliki jezikovni modeli.
Umetna inteligenca (UI) postaja nepogrešljiv sestavni del poslovnih aplikacij, vendar njena vgradnja v poslovno-kritične sisteme zahteva bistveno drugačen pristop od preprostega posredovanja podatkov velikim jezikovnim modelom. Prispevek na podlagi praktičnih izkušenj z razvojem platforme za upravljanje virov v projektno usmerjenih storitvenih podjetjih predstavi sistematičen pristop k vgradnji UI ter ključne arhitekturne odločitve, pasti in mehanizme za vzpostavitev zaupanja vrednih agentnih rešitev.
V prvem delu prispevek obravnava zakaj se vgradnje UI v poslovne aplikacije ne moremo lotiti kot enotnega projekta, temveč moramo pristopiti iterativno — identificirati posamezne uporabniške scenarije, za vsakega posebej opredeliti ustrezno stopnjo avtonomije ter vgraditi ustrezne varovalke. Predstavimo spekter vključevanja UI v poslovne procese: od UI kot razširitve človeških sposobnosti, kjer sistem podaja priporočila in jih uporabnik potrjuje, prek pol-avtonomnih agentov, ki samostojno pridobivajo podatke in pripravljajo predloge za akcije, do avtonomnih agentov, ki v ozadju izvajajo optimizacijo in uporabniku predstavijo končne predloge. Za vsako stopnjo avtonomije opredelimo ustrezne governance mehanizme — kako zagotoviti sledljivost, revizijsko sled, nadzor nad akcijami in smiselno vključevanje človeka v odločitveni proces.
V drugem delu prispevek naslavlja ključno tezo: informacijske sisteme bomo v prihodnosti morali graditi ne zgolj za človeške uporabnike, temveč tudi za agente UI. To pomeni, da bodo poslovne aplikacije morale ponuditi dva vzporedna dostopa: uporabniški vmesnik za ljudi in programski vmesnik za agente, na primer preko protokola MCP (Model Context Protocol). Pri tem ne moremo enostavno izpostaviti enakih funkcionalnosti, kot jih ponujamo človeškim uporabnikom. Moramo natančno opredeliti, katere zmogljivosti omogočimo zunanjim agentom, in vgraditi varovalke v same orodja, ne le v agente — saj nad zunanjimi agenti nimamo nadzora. Prispevek predstavi konkretne razlike v governance pristopu med internimi agenti, kjer imamo nadzor nad delovanjem, in zunanjimi agenti, ki dostopajo do sistema preko MCP, kjer moramo predvideti in preprečiti neželene posledice avtonomnega delovanja.
V tretjem delu predstavimo praktične izkušnje na treh konkretnih primerih agentov UI iz platforme Alloxy: (1) pametno priporočanje virov (smart allocation), kjer kombinacija determinističnega ocenjevanja, strojnega učenja in velikega jezikovnega modela zagotavlja ponovljive, razložljive in organizaciji prilagojene predloge; (2) poizvedovanje razpoložljivosti virov ter rezervacija virov s pomočjo agentov, kjer ista orodja znotraj aplikacije delujejo pod neposrednim nadzorom, pri izpostavitvi preko MCP pa zahtevajo bistveno strožje varovalke, saj rezervacija vira preko zunanjega agenta brez ustreznih omejitev lahko povzroči konflikte v razporejanju ali neželene spremembe v planu; ter (3) avtonomni optimizacijski agent, ki v ozadju analizira izkoriščenost virov, vpliv odsotnosti in maržo ter samostojno pripravi predloge za optimizacijo, ki jih uporabnik pregleda, po potrebi korigira in potrdi.
Prispevek naslavlja razvijalce in arhitekte poslovnih rešitev, ki načrtujejo vgradnjo UI v obstoječe ali nove sisteme, in ponuja prenosljiv okvir za odločanje o stopnji avtonomije, governance mehanizmih ter pripravi aplikacij na svet, kjer bodo uporabniki sistemov tudi UI agenti.
Uvodoma prispevek iz klasičnega problema dveh generalov izpelje preprosto, a uporabno vprašanje: kaj v resnici pomeni zanesljivost, ko odločitev ni več odvisna od enega samega sistema, temveč od več storitev, dogodkov in potrditev. S tem odpre razpravo o porazdeljenih sistemih. Nato to vprašanje prevede v vsakdanje situacije, kjer negotovost hitro postane oprijemljiva: odpoved rezervacije, prekinjena komunikacija v kritičnem trenutku, podvojeno naročilo ali nasprotujoče si sporočilo o istem dogodku. Takšni primeri pokažejo, da so težave porazdeljenih arhitektur v osnovi težave usklajevanja, nepopolnih informacij in časovnega zamika. Šele potem prispevek te situacije poimenuje s pojmi, ki jih poznajo arhitekti in razvijalci: distribuirane transakcije, delno izvedene akcije, podvojena sporočila, dogodki v napačnem vrstnem redu in podobno. Poudarek ni na implementaciji, temveč na razumevanju, zakaj se ob porazdelitvi sistema skoraj neizogibno pojavi dodatna plast kompleksnosti. Pred zaključkom prispevek nakaže tudi, da izbira arhitekture ni omejena zgolj na klasično dilemo med monolitno arhitekturo in mikrostoritvami. V praksi obstaja širši nabor razvojnih pristopov in vmesnih možnosti, ki so lahko v konkretnem organizacijskem in poslovnem kontekstu primernejše, preglednejše in dolgoročno bolj obvladljive. Zaključek ne ponuja enostavnega odgovora. Mikrostoritve imajo pomembne prednosti pri razdelitvi odgovornosti, samostojnosti ekip in prilagodljivosti razvoja, vendar so smiselni predvsem tam, kjer organizacijska in poslovna potreba upraviči dodatno tehnično zahtevnost.
DevOps se je uveljavil kot pomemben pristop pri sodobnem razvoju informacijskih rešitev, saj povezuje razvojne in operativne vidike razvoja, hkrati pa organizacijam omogoča, da razvoj poteka hitreje, bolj zanesljivo in z manj truda. Ker pa DevOps ne predstavlja enotne metode ali standardnega nabora točno določenih praks, ga organizacije pogosto uvajajo postopoma in na različne načine. Pri tem težko ocenijo, kako zreli so njihovi procesi, kje so največje vrzeli in katere izboljšave so najbolj nujne. Modeli zrelosti lahko pri tem pomagajo, vendar se v praksi razlikujejo po tem, kaj merijo, kako podrobni so in na katere vidike DevOps se osredotočajo. Pogosto so usmerjeni predvsem na organizacijsko raven, kulturo sodelovanja, procese in širšo stopnjo avtomatizacije, manj pa na konkretno tehnično izvedbo avtomatizacije oz. cevovode neprekinjene dostave informacijskih rešitev. Poleg tega vrednotenje pogosto temelji na samooceni, pri čemer so kriteriji v modelih opisani precej splošno. Posledično lahko različni ocenjevalci iste prakse razumejo in vrednotijo drugače, kar otežuje primerljivost ocen med ekipami. Takšni modeli so torej koristni za celostno razumevanje DevOps zrelosti, manj pa za natančno presojo zrelosti konkretnih cevovodov, preko katerih se pomemben del DevOps praks dejansko izvaja.
Prispevek se zato osredotoča na zrelost cevovodov neprekinjene dostave informacijskih rešitev, kjer je ta opredeljena kot stopnja, do katere cevovod podpira avtomatizirano, ponovljivo in zanesljivo izvajanje aktivnosti neprekinjene integracije, dostave in namestitve. Predstavljena so izhodišča za model zrelosti cevovodov neprekinjene dostave informacijskih rešitev, ki opredeljuje področja ocenjevanja, ravni zrelosti in kriterije, na podlagi katerih je mogoče presojati trenutno stanje cevovoda. Zrelost razdeli na več ravni, ki segajo od osnovne avtomatizacije do cevovoda, ki celovito podpira razvojne aktivnosti kot so testiranje, izdaja in namestitev. Model upošteva tudi, kako so vključene aktivnosti avtomatizirane (npr. ali se pred produkcijsko namestitvijo izvede namestitev v testno okolje) ter v kolikšni meri je njihova izvedba ponovljiva in vključena v celoten razvojni proces.
Model je zasnovan kot okvir za sistematično ocenjevanje in načrtovanje razvoja cevovodov neprekinjene dostave informacijskih rešitev. Pri ocenjevanju ne izhaja le iz splošnih opisov praks, temveč iz konkretnejših kriterijev, ki opredeljujejo, katere aktivnosti so v cevovod že vključene, kako so implementirane in kaj še manjka za doseganje višje ravni zrelosti. Tako ocena ne ostane zgolj opis trenutnega stanja, temveč postane podlaga za nadaljnji razvoj cevovoda. Model s tem dopolnjuje obstoječe modele zrelosti DevOps tam, kjer ti pogosto ostajajo na preveč splošni ravni organizacijskih in procesnih opisov, ter ponuja bolj oprijemljiv in praktično uporaben pogled na zrelost cevovodov neprekinjene dostave informacijskih rešitev.
Na projektu v reguliranem okolju smo ugotovili, da klasični Scrum ne prinaša več pričakovanih rezultatov. Pogoste spremembe zahtev, omejena testna okolja, redke namestitve in ozka grla v procesu dostave so povzročali zamude, frustracije in slabo predvidljivost. V prispevku bom predstavil, kako smo prepoznali ključne zastoje, zakaj več ljudi ni pomenilo hitrejše izvedbe ter kako smo začeli preusmerjati pozornost iz sprintov na pretok dela, hitrejše povratne informacije in izboljševanje celotnega procesa dostave. Predavanje temelji na konkretnih izkušnjah, izzivih in prvih rezultatih iz prakse.
Umetna inteligenca hitro spreminja področje kibernetske varnosti. Za napadalce postaja AI nov napadalni vektor in pospeševalec obstoječih tehnik: omogoča hitrejše izvidovanje tarč, avtomatizirano pripravo phishing kampanj, ustvarjanje prepričljivih lažnih vsebin, pomoč pri pisanju ali prilagajanju zlonamerne kode ter iskanje ranljivosti v aplikacijah in konfiguracijah. Hekerji lahko AI uporabljajo tudi za socialni inženiring, generiranje napadov po meri ter zlorabo AI podprtih sistemov prek tehnik, kot so prompt injection, manipulacija vhodnih podatkov in izkoriščanje slabo zaščitenih integracij.
Predavanje bo predstavilo, kako AI spreminja napadalno površino organizacij in zakaj morajo varnostne ekipe razumeti ne le tradicionalne grožnje, temveč tudi nove oblike napadov na AI sisteme in z AI podprte procese. Kot primer dobrih praks bomo vključili smernice skupnosti OWASP AI, predvsem pri razumevanju tveganj, kot so prompt injection, uhajanje občutljivih podatkov, prekomerno zaupanje rezultatom modelov, neustrezna kontrola dostopa in varnost AI podprtih aplikacij.
Drugi del predavanja bo osredotočen na uporabo AI v obrambi, predvsem v SOC okolju. Predstavljeni bodo primeri, kako lahko AI pomaga pri triaži opozoril, zmanjševanju lažno pozitivnih zaznav, korelaciji dogodkov med SIEM, EDR/XDR, požarnimi pregradami, oblačnimi okolji in sistemi za upravljanje identitet. Poseben poudarek bo namenjen prepoznavanju tveganj: kateri dogodki so za organizacijo res kritični, katere ranljivosti so dejansko izpostavljene in kako se lahko manjši varnostni signali povežejo v resen incident.
Namen predavanja je pokazati, da AI ni zgolj orodje napadalcev ali čarobna rešitev za obrambo, temveč nova realnost kibernetske varnosti. Organizacije bodo morale AI obravnavati hkrati kot tveganje, napadalno površino in obrambno plast. Ključno sporočilo je, da bodo uspešne tiste varnostne ekipe, ki bodo znale združiti kakovostne podatke, avtomatizacijo, umetno inteligenco in strokovno presojo ljudi.
Varnost dobavnih verig programske opreme (angl. software supply chain security ) v obdobju 2025–2026 zaznamuje premik od izoliranih varnostnih incidentov na ravni posameznih komponent proti večstopenjskim in sistematično usklajenim napadalnim kampanjam. Namesto klasičnih napadov na posamezne odprtokodne pakete sodobni napadalci vse pogosteje izkoriščajo verige zaupanja med odprtokodnimi registri, CI/CD cevovodi, identitetnimi sistemi in SaaS integracijami, pri čemer napad na dobavno verigo na eni komponenti pogosto predstavlja izhodišče za širjenje napada skozi celoten razvojni ekosistem.
Prispevek obravnava evolucijo napadov na programske dobavne verige ter sistematizira ključne vektorje napadov v sodobnih razvojnih okoljih. Poseben poudarek je na povezovanju tehnik, kot so dependency confusion, prevzem računov vzdrževalcev paketov, zloraba CI/CD skrivnosti, kraja OAuth žetonov ter zlorabe OIDC avtentikacijskih mehanizmov v oblačnih in SaaS okoljih. Analiza pokaže, da sodobni incidenti redko vključujejo zgolj en sam napadalni vektor, temveč praviloma temeljijo na zaporednem izkoriščanju odnosov zaupanja med več medsebojno povezanimi sistemi.
Medtem ko so primeri, kot sta SolarWinds in Codecov, postavili temelje razumevanja teh groženj, sodobni incidenti v letih 2025 in 2026, vključno z napadi na AI registre (npr. Hugging Face), zlorabami Web3 infrastruktur ter obsežnimi kampanjami v npm ekosistemu, kažejo na novo stopnjo avtomatizacije. Napadalci vse pogosteje ciljajo infrastrukturne elemente, ki omogočajo distribucijo, podpisovanje ali avtomatizirano integracijo programske opreme. Pri tem začetni napad pogosto omogoči lateralno gibanje med razvojnimi in produkcijskimi okolji, pridobivanje privilegiranih dostopov ter nadaljnjo zlorabo identitetnih mehanizmov v oblačnih storitvah, kar lahko povzroči kaskadne učinke v širših medorganizacijskih ekosistemih.
Dodatno obravnavamo vpliv avtomatizacije razvoja programske opreme in uporabe generativne umetne inteligence v razvojnih procesih. Povečana uporaba AI-podprtih orodij za generiranje kode, pregledovanje sprememb in avtomatizacijo razvojnih delovnih tokov lahko zmanjša obseg človeške verifikacije ter poveča verjetnost, da subtilne ranljivosti ali zlonamerne spremembe ostanejo neopažene znotraj legitimnih razvojnih procesov. Sistemi umetne inteligence pri tem niso nujno neposreden vzrok varnostnih incidentov, temveč predvsem dejavnik, ki lahko dodatno okrepi obstoječe sistemske slabosti pri preverjanju, odobravanju in integraciji kode.
Ugotovitev prispevka je, da se napadi na programske dobavne verige razvijajo v smeri visoko avtomatiziranih, ponovljivih in operativno zrelih napadalnih kampanj, pri katerih napadalci sistematično izkoriščajo odnose zaupanja med komponentami sodobnega razvojnega ekosistema. To nakazuje premik od izoliranih incidentov na ravni posameznih komponent proti modelu trajnih, večvektorskih napadalnih operacij, kjer programska dobavna veriga postaja ena ključnih sistemskih ranljivosti sodobnih digitalnih okolij.
V Sloveniji je že precej uveljavljeno iskanje ranljivosti z varnostnimi pregledi, ki se izvajajo enkrat letno (kampanjski pristop, predpisan s strani regulatorjev). Ti pregledi so dragi zaradi svojega obsega in omejenega števila strokovnjakov v Sloveniji, stanejo pa enako, ne glede na to, ali ima rešitev tisoč ranljivosti ali nobene. Program Security Bug Bounty omogoča pokritost 365 dni v letu in neomejen nabor strokovnjakov z vsega sveta za ceno, ki je sorazmerna trenutni varnostni kondiciji rešitve.
Vsebina predavanja bo uporabna tako za tiste, ki bi radi začeli iskati varnostne ranljivosti (kot glavni ali dodatni vir prihodka), kot za tiste, ki ranljivosti producirajo (razvijalci, arhitekti, upravljavci rešitev …), pa tudi za tiste, ki bi morali skrbeti za varno delovanje rešitev (vodje razvoja, informacijska varnost in upoštevanje regulatornih okvirov).
Družabno srečanje s koncertom Vlada Kreslina
Klub Fenix (Maribox, Loška ulica 13, Maribor, dvigalo – nivo L)
Digitalni postopki preverjanja identitete so danes pogosto počasni, ponavljajoči in odvisni od ročnega preverjanja dokumentov. Uporabniki morajo iste podatke vedno znova posredovati različnim ponudnikom storitev, podjetja pa jih morajo zbirati, preverjati, hraniti in varovati. To povečuje stroške, podaljšuje postopke vključevanja novih strank ter odpira vprašanja skladnosti, varnosti in varstva osebnih podatkov. To področje pomembno spreminja Evropska denarnica za digitalno identiteto (European Digital Identity Wallet – EUDIW), ki je del evropskega okvira za digitalno identiteto in prenovljene uredbe eIDAS, pogosto imenovane eIDAS 2.0. Uredba je začela veljati maja 2024, države članice pa morajo državljanom v naslednjih letih zagotoviti EUDIW in spremljajočo infrastrukturo za uporabo v čezmejnih storitvah. Vzporedno Evropska komisija pripravlja tudi predlog za evropske poslovne denarnice (angl. European Business Wallet – EBW), ki naj bi podjetjem in javnim organom omogočile varno identifikacijo, avtentikacijo in izmenjavo podatkov z ustreznim pravnim učinkom po vsej EU, tudi v komunikaciji s strankami, dobavitelji, poslovnimi partnerji in javnimi upravami.
V prispevku bomo predstavili širši kontekst ekosistema EUDIW, glavne vloge v njem ter razliko med osebno digitalno denarnico (EUDIW), namenjeno posameznikom, in poslovnimi denarnicami (EBW), ki naslavljajo potrebe pravnih oseb, zakonitih zastopnikov, pooblastil, poslovnih registrov ter interakcij med podjetji, javnimi organi in uporabniki. Za podjetja je ključno vprašanje, kako se lahko vključijo v ta ekosistem. V praksi bodo lahko nastopala kot izdajatelji digitalnih dokazil, na primer potrdil, licenc, članstev, poslovnih atributov ali rezultatov preverjanj strank in poslovnih subjektov oziroma preverjanj KYC in KYB. Druga bodo nastopala kot preveritelji, ki bodo od uporabnikov ali drugih podjetij zahtevali preverjene podatke za izvedbo storitve. Tretja bodo razvijala podporne platforme, ki bodo organizacijam omogočile lažjo vključitev v takšne rešitve. Tehnični del prispevka bo obsegal pregled ključnih protokolov in standardov ekosistema EUDIW ter celoten tok izdaje in preverjanja digitalnega dokazila: od izdaje pri izdajatelju, hrambe v denarnici do preverjanja pri ponudniku storitve. Posebej bomo izpostavili selektivno razkrivanje podatkov, kjer uporabnik ne deli celotnega dokumenta, ampak samo tiste podatke, ki so potrebni za izvedbo storitve, na primer potrditev starosti brez razkritja točnega datuma rojstva. Na kratko bomo predstavili tudi standarde in formate, ki to omogočajo, kot so OpenID4VCI, OpenID4VP, SD-JWT VC in mDoc. Pomemben del prispevka bo namenjen zaupanju in varnosti, saj ekosistem EUDIW ne temelji samo na izmenjavi podatkov, ampak na preverljivem zaupanju med udeleženci oziroma na okviru zaupanja. Zato bomo predstavili pomen zaupanja vrednih seznamov, registracije udeležencev, certifikatov, preverjanja statusa dokazil in varnega upravljanja kriptografskih ključev. V praktičnem delu bomo predstavili platformo za izdajo in preverjanje digitalnih dokazil, združljivih z EUDIW, ter njeno delovanje prikazali na konkretnih primerih, kot so izdaja osebne izkaznice, odpiranje bančnega računa, najem avtomobila in registracija eSIM. Prispevek bomo umestili tudi v širši evropski kontekst pilotnih projektov in zakonodajnega razvoja, med njimi WE BUILD, ter pokazali, kaj EUDIW in nastajajoče poslovne denarnice pomenijo za digitalne procese podjetij in zakaj priprav ni smiselno odlagati.
Umetna inteligenca (AI) in veliki jezikovni modeli (ang. Large Language Models, LLM) so v zadnjih letih spremenili pričakovanja glede tega, kaj podatkovni sistemi zmorejo. Toda za vsem, kar je vidno na površini, stoji pogosto spregledana resnica: AI sistemi so toliko zanesljivi, kolikor so kakovostni in pomensko bogati podatki, na katerih temeljijo. Prispevek se ne ukvarja z AI samim po sebi, temveč s podatkovnimi temelji, ki zanesljivo in razložljivo delovanje AI v analitiki sploh omogočijo.
Klasično podatkovno skladišče (ang. Data Warehouse, DWH) in poslovna inteligenca (ang. Business Intelligence, BI) sta odlično opisovala strukturo podatkov: tabele, ključe, relacije, mere. Nista pa opisovala, kaj ti podatki pomenijo — kakšen je poslovni kontekst dimenzije, kako so pojmi hierarhično ali logično povezani, kaj velja za izjemo in kaj za pravilo. Ta semantična praznina ni nova težava, a postaja ozko grlo prav zdaj, ko analitični sistemi od podatkov pričakujejo več kot le števila v tabelah.
Osrednji pojem prispevka je semantična podatkovna plast (ang. Semantic Data Layer) — arhitekturni gradnik, ki podatkovnim modelom doda pomen. Prispevek bo poslušalce popeljal skozi ključne komponente: kaj je ontologija in kako se razlikuje od podatkovnega modela, kaj je graf znanja (ang. knowledge graph) in zakaj relacijska baza sama po sebi ni dovolj za predstavitev kompleksnih domenskih razmerij, ter kako semantična plast deluje kot posrednik med strukturiranimi podatki in sistemi, ki podatke interpretirajo. Cilj ni poglobljena razlaga posameznih orodij, temveč razumevanje arhitekturnih vlog teh komponent.
Udeleženec bo skozi prispevek dobil okvir za razlikovanje med podatkovnim modelom, semantičnim modelom, ontologijo in grafom znanja. Prikazano bo, kje se posamezna komponenta nahaja v sodobni podatkovni arhitekturi, katere probleme rešuje in katerih ne. Poseben poudarek bo na tem, da semantična plast ni še eno poročilno orodje, temveč sloj, ki formalizira pomen podatkov, povezuje poslovne pojme z njihovimi tehničnimi predstavitvami ter omogoča bolj nadzorovano uporabo analitičnih in AI zmogljivosti. Hkrati predstavlja semantična plast nujen temelj za kakršen koli prehod na agentske arhitekture — naj gre za virtualnega analitika, agenta za pretvorbo naravnega jezika v poizvedbe (ang. NL2SQL) ali podobne pristope — saj brez formalnega opisa pomena podatkov takšni sistemi delujejo slepo.
Kot praktičen primer bo prikazana zaznava in razlaga anomalij v poslovnih podatkih. Klasični pristopi zahtevajo, da analitik vnaprej določi relevantne kombinacije dimenzij in pragove odstopanja. Sistem s semantično plastjo ta kontekst že nosi v sebi — pozna hierarhije, razume domeno in zna rezultate pojasniti v poslovnem jeziku. Ta primer ponazori, zakaj je semantična plast pogoj za zanesljivo delovanje analitičnih sistemov, ne pa njihova posledica. Prispevek izhaja iz praktičnih izkušenj s semantičnimi plastmi v obstoječih podatkovnih arhitekturah ter iz arhitekturnega koncepta prototipa, ki ga avtorja razvijata za soroden projekt; prikazan bo arhitekturni pogled, ne dokončana produktna rešitev.
Naslednji korak v podatkovni analitiki ni samo dodajanje AI, temveč gradnja podatkovnih temeljev, ki omogočijo zanesljivo, kontekstualno in razložljivo uporabo AI v analitiki. Semantična podatkovna plast je tisti manj opazen, a ključen arhitekturni premik, ki to omogoča. Avtorja združujeta pogled podatkovne arhitekture in podatkovnega modeliranja s pogledom umetne inteligence.
V prispevku prikazujemo »Podatkovne semantične smernice«, ki jih pred kratkim objavilo Ministrstvo za digitalno preobrazbo. Smernice so nastale ob podpori strokovnjakov iz Univerze v Ljubljani, Fakultete za računalništvo in informatiko ter v sodelovanju z različnimi organi javne uprave.
Smernice na enem mestu združujejo vsebine upravljanja podatkov in semantične interoperabilnosti. S tem je postavljen temelj za boljšo izmenljivost podatkov, tudi čezmejno, skladno z evropskimi in mednarodnimi priporočili in standardi za razvijalce aplikacij in druge uporabnike v organih javne uprave v prakso. Zaradi različnih potreb in uporabnikov so pripravljeni trije dokumenti, in sicer polna verzija Podatkovnih semantičnih smernic z vključenimi praktičnimi primeri, krajši povzetek ter še posebej letak s smernicami.
Okolje, v katerem se izmenjujejo podatki med organi državne uprave, je kompleksno in vključuje številne ovire in izzive za zagotavljanje storitev. Ovire lahko vključujejo različno interpretacijo podatkov, pomanjkanje skupnih in široko uporabnih podatkovnih modelov, odsotnost skupnih šifrantov, pomanjkanje interoperabilnostnih orodij in formatov, itd. Semantična interoperabilnost zagotavlja, da se bosta oblika in pomen podatkov ohranila, tako da bodo podatki razumljeni na enak način pri vseh uporabnikih (npr. pri elektronski izmenjavi podatkov). V Strategiji digitalnih javnih storitev 2030 je opredeljen strateški cilj »Sodobna informacijska tehnologija ter upravljanje zaupanja vrednih podatkov«, ki podpira vpeljavo podatkovnih standardov in smernic. Tudi cilj Digitalne strategije Evropske unije je zagotoviti, da bo digitalna preobrazba koristila državljanom in podjetjem ter da bo pripomogla k doseganju cilja podnebno nevtralne Evrope do leta 2050. Evropska komisija (EK) je v tem okviru opredelila obdobje 2020–2030 kot „digitalno desetletje“ Evrope. Obenem želi EK okrepiti digitalno suverenost EU in prispevati k oblikovanju standardov, pri čemer je poseben poudarek namenjen podatkom, tehnologiji in infrastrukturi. Med ciljnimi uporabniki dokumenta so organi javnega sektorja, ter drugi deležniki, ki so kakorkoli povezani z javnim sektorjem, kot denimo razvijalci, raziskovalci in drugi uporabniki podatkov oz. informacijskih rešitev. Dokument na krovni ravni vzpostavlja okvir za semantično interoperabilnost in kot takšen predstavlja pomemben korak na poti do cilja. Dokument je bil predstavljen na desetih delavnicah več kot 100 udeležencem iz več kot 30 državnih organov, vključeni so bili tudi prejeti predlogi za izboljšave. Verjamemo, da se bo vsebina v sodelovanju z deležniki sčasoma ustrezno nadgrajevala in izboljševala. Dokumenti so bili pripravljeni v okviru projekta »Razvoj novih dinamičnih e-storitev (DES)«, ki ga sofinancirata Republika Slovenija in Evropska unija iz Načrta za okrevanje in odpornost.
Veliki jezikovni modeli so pri razvoju programske opreme že uporabni kot pomočniki za pisanje kode, razlago obstoječih sistemov, pripravo dokumentacije in preverjanje rešitev. Ko jih želimo uporabiti kot več sodelujočih agentov, ki hkrati načrtujejo, implementirajo, pregledujejo in preverjajo spremembe, pa se pokaže drug problem: omejitev ni več samo sposobnost posameznega modela, temveč predvsem odsotnost zanesljivega koordinacijskega sloja. Brez trajnega spomina, jasnega modela nalog, vlog, dodelitev, statusov, pregledov, rezultatov preverjanja kakovosti oziroma QA in operaterskega nadzora se delo več agentov hitro spremeni v nepregleden tok terminalskih sej, lokalnih sprememb in sprotnega ročnega usklajevanja.
Prispevek predstavlja CODORQ, ogrodje za orkestracijo razvoja programske opreme z različnimi agentskimi orodji. CODORQ ni vezan na posamezno orodje, ponudnika modela ali vmesnik ukazne vrstice, temveč je zasnovan kot lokalno-prvo koordinacijsko izvajalno okolje. V njem lahko delujejo konkretne agentske seje, zagnane prek orodij in izvajalnikov, kot so Codex CLI, Claude Code, Gemini CLI in prihodnje podobne rešitve. Njegova naloga je, da nad obstoječimi terminali, repozitoriji, ločenimi Git delovnimi drevesi in razvojnimi orodji vzpostavi skupno, trajno in preverljivo stanje. Agentom zato ne posreduje le konteksta, ampak jim določi tudi delovni okvir: kdo ima katero vlogo, kaj je dodeljeno, kaj je blokirano, kaj čaka pregled, kaj čaka QA in kje je potreben poseg človeka.
Tehnično jedro CODORQ-a je lokalni strežnik MCP (Model Context Protocol), ki deluje kot povezovalno izvajalno okolje med agentskimi orodji, repozitoriji, terminalskimi sejami in trajnim stanjem sistema. Na tej osnovi CODORQ gradi trajni spomin, strukturirane naloge, ugotovitve pregledov, rezultate QA, kanale za kratka usmerjanja in operaterski spletni vmesnik. Trajni spomin omogoča ohranjanje pravil, preferenc, odločitev, naučenih lekcij, predaj med sejami in strnjenih povzetkov dela. Orkestracijski del večji cilj pretvori v načrt, izvedbene podnaloge, kriterije sprejema in testni načrt. Konkretne agentske seje naloge prevzemajo glede na vlogo in zahtevnost, CODORQ pa beleži statusne prehode ter podpira ločitev odgovornosti: agent, ki je spremembo implementiral, praviloma ni isti agent, ki jo dokončno pregleda ali potrdi v QA toku.
Pomemben del rešitve je operaterska izkušnja. CODORQ človeka obravnava kot vodjo izvedbe, ne kot pasivnega opazovalca. Operaterski vmesnik mora hitro pokazati aktivna delovna okolja, žive in neodzivne agente, trenutno delo, odprte blokade, naloge v pregledu in QA ter zgodovino odločitev. Povezava s tmux oziroma terminalskimi okni omogoča, da se agentske seje prepoznajo, ponovno obudijo in usmerjajo bolj sistematično kot z ročnim iskanjem po odprtih terminalih.
Prispevek bo predstavil tudi praktične izzive pri razvoju in uporabi CODORQ-a: stabilno identiteto agentskih sej po ponovnem zagonu, zmanjševanje šuma v izpisih in povratnih informacijah strežnika MCP, varčevanje s tokeni, spremljanje živosti sej, delo v ločenih Git delovnih drevesih, pripravo pregledovalnih tokov in QA tokov ter potrebo po učinkovitem nadzornem pogledu za operaterja. Posebna vrednost pristopa je, da se CODORQ uporablja za razvoj samega sebe: z njim so bili koordinirani refaktorji, dokumentacija, pregledi kode in demonstracijski projekti. CODORQ je tako predstavljen kot praktičen primer agentskega ogrodja, ki konkretnim agentskim sejam doda spomin, proces, odgovornost in operatersko vodljivost. Rešitev nastaja kot avtorjev samostojni projekt, z možnostjo poznejše odprtokodne objave. Cilj ni nadomestiti razvijalca, temveč omogočiti disciplinirano sodelovanje človeka in več agentov v realnem razvojnem ciklu.
Z neizogibnim zatonom ogrodja Xamarin se je razvojna skupnost znašla pred izzivom prehoda na sodobno platformo .NET MAUI. Čeprav so na voljo osnovna Microsoftova orodja za nadgradnjo, kot je Upgrade Assistant, ta pogosto ne zadoščajo za kompleksne korporativne aplikacije. Takšni projekti namreč temeljijo na specifičnih arhitekturnih vzorcih, specifičnih zunanjih knjižnicah (npr. DevExpress) in strogih standardih kakovosti, ki zahtevajo inteligentno prilagajanje poslovne logike in ne le preproste sintaktične zamenjave. Prispevek raziskuje metodologijo migracije z uporabo agentov umetne inteligence (UI), pri čemer analiziramo prehod od začetnih lokalnih pristopov do delovnega toka v oblaku.
Prvotna faza našega raziskovanja temelji na uporabi lokalnih agentov UI, kot je Ollama v kombinaciji z modeli DeepSeek. Glavni motiv za to odločitev je bila varnost podatkov, ohranjanje intelektualne lastnine znotraj lokalnega omrežja in popoln nadzor nad programsko kodo. Vendar se je lokalni pristop pri večjih projektih izkazal za omejenega z vidika zmogljivosti strojne opreme, omejenega kontekstnega okna in posledično nižje kakovosti rezultatov pri razumevanju obsežnih med-projektnih odvisnosti. Te omejitve so nas usmerile v ponoven pregled trga in uporabo oblačnega orodja Claude Code, ki ponuja bistveno večjo kognitivno zmogljivost za aktivno programiranje, optimizacijo in razumevanje kompleksnih arhitekturnih struktur v realnem času.
Osrednji del prispevka predstavlja podrobna študija primera, kjer smo teoretične predpostavke preverili v praksi. Na izbranem primeru aplikacije z 8 projekti, 12 pogledi XAML in z več kot 180000 vrsticami kode smo primerjali ročni pristop z agentsko podprto migracijo ter ovrednotili čas izvedbe, število iteracij do uspešne gradnje, tipične napake in posledično število ročnih popravkov ter stroškovni vidik uporabe modela. Čeprav so v povzetku izpostavljeni metodološki koraki, bo prispevek vseboval natančne numerične podatke in primerjalne analize, ki bodo omogočile objektivno oceno donosnosti uporabe agentov v njihovih lastnih razvojnih ciklih.
Preden smo delo prepustili agentu, smo ročno migrirali vzorčno aplikacijo, s čimer smo vzpostavili vzorec kodiranja. Pripravili smo vodnik z navodili namenjenimi agentu. Ta dokumentacija je služila kot strogo definiran okvir, znotraj katerega je lahko agent avtonomno sprejemal odločitve, ki so bile v skladu z našo arhitekturno vizijo. Središče metodologije predstavlja razdelitev migracije na logične mikro naloge: od priprave projektne strukture in migracije domenskih modelov s profili AutoMapper do prenove servisnega sloja (prehod iz NSwag na Refitter) in končne transformacije pogledov XAML. Takšen pristop agentu omogoči visoko stopnjo fokusa, medtem ko razvijalcem omogoči avtomatsko preverjanje gradnje po vsakem modulu.
Posebno pozornost namenjamo tveganjem uporabe oblačnih rešitev UI v korporativnem okolju, kjer je zaščita integritete intelektualne lastnine ključnega pomena. V prispevku analiziramo vzpostavitev večplastnih varnostnih protokolov: od selektivne izolacije podatkov s pomočjo konfiguracije .claudeignore do arhitekturne anonimizacije kritične poslovne logike, s katero agentu omejimo dostop zgolj na vnaprej določen del programske kode. Celoten proces dopolnjuje obvezen strokovni pregled generirane kode pred njeno končno integracijo v produkcijsko okolje. Zaključujemo z ugotovitvijo, da prihodnost kompleksnih migracij ne temelji na popolni avtomatizaciji, temveč na premišljeni simbiozi med izkušenim arhitektom in opolnomočenim agentom UI. Takšna metodologija prehod na platformo .NET MAUI transformira v predvidljiv, optimiziran in tehnološko dovršen proces.
V lanskoletnem članku »Implementacija prilagodljivega ERP sistema z malo ali nič kode« smo predstavili lastno low-code platformo, ki temelji na programskem jeziku SQL in jedru, napisanem v Javi. Pokazali smo, kako z orodjema FormTool (za oblikovanje vnosnih mask) in Linea (za design podatkovne baze) bistveno skrajšamo čas razvoja vnosnih mask, akcij ter pripadajočih baznih objektov. V letošnjem prispevku se posvečamo vprašanju, ki se nam je v zadnjem letu vse pogosteje pojavljalo: ali lahko umetno inteligenco, ki je postala precej zmogljiva in dostopna, uporabimo kot resnično pomoč pri razvoju in vzdrževanju naših internih orodij? Odgovor smo začeli iskati pri enem manjšem, a dobro definiranem orodju: QueryTool.
QueryTool je naše interno orodje za razčlenitev SQL stavkov na sestavne komponente: kolone v izboru SELECT skupaj s pripadajočimi podatkovnimi tipi, kolone v pogoju WHERE skupaj s tipi in operatorji, tabele in poglede v FROM in JOIN delih, parametre (npr. :ID, :COUN_ID), agregacijske in skupinske klavzule (GROUP BY, HAVING), urejanje (ORDER BY) ter ugnezdene poizvedbe. Razčlenjena struktura se uporablja na več mestih v naši ERP rešitvi — pri povezovanju SQL parametrov s polji na vnosni maski, pri povezovanju rezultatov poizvedbe s polji na maski, …. Ker je QueryTool funkcionalno zaokrožen smo ga prepoznali kot idealnega kandidata za pilotni projekt.
V članku bomo predstavili, kako smo s pomočjo umetne inteligence prepisali QueryTool iz obstoječega okolja v novo web platformo, zgrajeno na ogrodju Laravel. Opisali bomo, kakšen razvojni proces se je obnesel: kako smo orodju z umetno inteligenco predstavili izvorno kodo in poslovno logiko, kako smo razdelili delo na manjše, preverljive enote, kako smo preverjali skladnost rezultatov nove implementacije z obstoječo ter katere napake in omejitve smo opazili. Posebej se bomo posvetili vprašanju, kje je bila pomoč umetne inteligence zares produktivna in kje je razvijalec še vedno moral prevzeti vodilno vlogo.
Če se pilotni projekt prepisa QueryTool-a izkaže kot uspešen, načrtujemo, da na enak način postopoma prepišemo tudi ostala interna orodja — predvsem FormTool in Linea — ter jih preselimo na sodobnejšo tehnološko osnovo. V končni fazi razmišljamo tudi o uporabi umetne inteligence pri samodejnem testiranju vnosnih mask, kjer bi umetna inteligenca lahko prevzela vlogo virtualnega testerja in s tem dodatno razbremenila razvojno ekipo. Prispevek tako predstavlja prvi korak v širšem premisleku o tem, kako naj se uveljavljene interne razvojne prakse soočijo z orodji, ki postajajo iz dneva v dan bolj sposobna.
Vodja sekcije: Muhamed Turkanović
Predstavitve študentskih projektov
Ta članek predstavlja povsem nov sistem biometrične identifikacije in zagotavljanja identitete dojenčka, ki temelji na minucijah prstnih odtisov, ki so edini biometrični podatki, ki se pri ljudeh oblikujejo prenatalno. Izključno predstavljamo kvalitativno raziskavo kot dokaz, da ima dojenček prstni odtis, ki ga je mogoče pridobiti, shraniti, šifrirati in predvsem zagotoviti njegovo identiteto. Testirali smo otrokove minucije na vseh možnih vrstah skenerjev prstnih odtisov in ugotovili, kateri je za ta namen optimalen. S tem smo si postavili trdno osnovo za nadaljnji razvoj naših raziskav.
Vse to potrjuje, da je to ogromen družbeni problem po vsem svetu, ki zahteva rešitev s 100-odstotno natančnostjo v bolnišnicah in porodnišnicah v vsaki državi, saj so se primeri zamenjave otrok zgodili na skoraj vseh celinah sveta.
Tukaj bomo našteli le nekatere od njih, ki potrjujejo to problematiko:
https://www.bbc.com/news/articles/cp3njqd9nl9o
Vsi ti primeri vzbujajo sum v javnozdravstvene sisteme in vzbujajo vse večje strahove pri vsaki nosečnici na svetu, česar pa ne bi smelo biti. To je glavni razlog za vzpostavitev projekta Varna rojstna mesta v pametnih bolnišnicah, ki temelji na biometriji prstnih odtisov. Z izvedbo projekta pametnih rojstnih mest bomo odpravili takšne napake in zagotovili boljšo raven varnosti. Glavni cilj pa je zagotoviti identiteto vsakega novorojenčka. Dojenčki imajo svojo identiteto, ni jim je treba pridobivati, kot so na primer ogrlice … Prvi korak je bil izdelava prototipa naše patentirane naprave. Gre za dvojni skener prstnih odtisov, ki hkrati skenira dva prsta, materinega in otrokovega.
Naprava se bo nekoliko razlikovala od današnjih klasičnih čitalnikov prstnih odtisov, saj bo imela dve polji za skeniranje prstov dveh različnih oseb (matere in dojenčka). Ti dve polji za skeniranje se lahko fizično ločita med postopkom izdelave naprave ali pa se programsko preslikata na površino za skeniranje, kot to počnejo obstoječi čitalniki. To bo resnično učinkovita naprava, saj je zelo praktična in enostavna za uporabo, enostavna za upravljanje in manipulacijo. Vzdrževanje naprave je enostavno, klasično in podobno kot pri drugih čitalnikih prstnih odtisov. Poleg običajnega namena in hkratnega skeniranja dveh prstov različnih oseb bo zagotavljala edinstveno identifikacijsko referenco (podobno primarnemu ključu), ki bo osnova za vsak par skeniranih prstov mati-dojenček. Čitalnik prstnih odtisov z dvema poljema – najprej se izvede postopek skeniranja (prstov matere in dojenčka), nato naprava ustvari edinstveno referenco, ki bo identifikacijska številka za vsak odnos mati-dojenček za vsakega novorojenčka v bolnišnici.
Vse to je bilo storjeno prvič v raziskovalni metodologiji in rezultati so predstavljeni izključno v tem članku. Gre za nadaljevanje dela, ki predstavlja popolnoma novo metodo ugotavljanja identitete, ki temelji na minucijah otrokovih prstnih odtisov namesto trenutnih sistemov, ki so polni napak, in bo preprečila morebitno zamenjavo ali krajo identitete v vsakem rojstnem kraju. Prvič lahko določimo skener prstnih odtisov, pokažemo, da je mogoče z novo napravo pridobiti in preveriti minucije otrokovih prstnih odtisov, in končno zagotovimo starševstvo s 100-odstotno natančnostjo. Imeli bomo varna rojstna mesta in bolnišnice.
V prispevku predstavljamo razvoj sistema na osnovi tehnologij umetne inteligence za samodejno generiranje prometnih novic za potrebe obveščanja javnosti preko radijskih postaj. Rezultati projekta so se vrednotili in uporabljali na radijskih postajah RTV Slovenija, natančneje na radiu Val 202. Trenutno morajo uredniki ročno iz različnih prometnih virov sami izluščiti najpomembnejše dogodke, jih urediti in oblikovati v ustrezno besedilo za radijski program. Z razvojem velikih jezikovnih modelov se odpira možnost (delne) avtomatizacije tega procesa, vendar takšna uporaba zahteva zanesljivo obdelavo vhodnih podatkov, sledljivost odločitvam, nadzor nad kakovostjo izhodnega besedila in vključitev človeka v končno uredniško presojo.
Sistem temelji na podatkih Nacionalnega spletnega portala (NAP), ki v realnem času zagotavlja prometne podatke – podatke o dogodkih na cestah, delih na cestah in drugih informacijah, relevantnih za potek prometa. Razvita rešitev periodično pridobiva surove podatke, jih shranjuje v podatkovno bazo, normalizira v procesirane zapise in jih pripravi kot vhod za nadaljnjo klasifikacijo ter generiranje poročil. Arhitektura vključuje zaledni sistem z uporabo lastnih modelov umetne inteligence in zunanjih storitev, relacijsko podatkovno bazo, pomnilniško podatkovno bazo za podporo asinhronim procesom in obveščanju, komunikacijo za sprotno posredovanje nujnih informacij ter spletni uporabniški vmesnik. Celoten sistem se vzpostavi v okolju Docker.
Poseben poudarek je namenjen uporabi jezikovnih modelov v nadzorovanem produkcijskem procesu. Za prepoznavanje nujnih prometnih dogodkov smo naučili in uporabili lokalni klasifikacijski model, ki omogoča hitro označevanje dogodkov brez odvisnosti od zunanjih storitev. Kadar je dogodek prepoznan kot nujen, se preko vtičnika nemudoma posreduje v uporabniški vmesnik, kjer ga lahko radijski voditelj takoj uporabi. Poleg nujnih obvestil sistem omogoča tudi generiranje rednih prometnih poročil na zahtevo, na primer na določen časoven interval ali pa ročno s klikom na gumb “generiraj poročilo”.
Pri generiranju besedil uporabljamo dvostopenjski pristop z velikim jezikovnim modelom OpenAI, do katerega dostopamo prek programskega vmesnika. V prvi stopnji se vhodni prometni zapisi pretvorijo v strukturirane semantične in jezikovne fragmente, ki vsebujejo podatke o cesti, smeri, lokaciji, vrsti dogodka, vzroku in učinku na promet. V drugi stopnji se ti normalizirani zapisi uredijo, združijo, razvrstijo po uredniških pravilih in pretvorijo v končno slovensko besedilo, primerno za radijsko branje. Takšna zasnova se je po preizkušanju izkazala za najbolj robustno, saj zmanjšuje možnost jezikovnih napak, podvajanja informacij in izmišljanja dejstev.
V okviru projekta vrednotimo lokalne jezikovne modele kot tudi modele v oblaku, tako za klasifikacijo kot tudi za generiranje poročil, z vidika kakovosti generiranih poročil, zakasnitev, stroškov uporabe, robustnosti in primernosti za slovenski jezik. Prispevek tako prikazuje praktično uporabo sodobnih metod obdelave naravnega jezika in generativne umetne inteligence v realnem informacijskem okolju, kjer so ključni dejavniki zanesljivost, ažurnost, sledljivost in uporabnost za končnega urednika oziroma radijskega voditelja.
Uporaba podatkov je v zadnjih letih postala pomemben del vodenja profesionalnih športnih ekip. Nogomet se je v ta podatkovni razvoj vključil nekoliko pozneje kot nekateri drugi športi, predvsem zaradi same narave igre. Igra je dinamična, manj strukturirana in vključuje veliko število igralcev, ki se hkrati gibljejo po velikem prostoru, zato zbiranje, obdelava in interpretacija podatkov v nogometu predstavljajo poseben izziv.
Nogometne podatke najpogosteje delimo v tri glavne sklope: dogodkovne podatke (angl. event data), sledilne podatke (angl. tracking data) in fizične podatke. Dogodkovni podatki opisujejo posamezne akcije akterjev z žogo, kot so podaje, streli, preigravanja ipd., ki so hkrati umeščene tudi v prostor na igrišču. Sledilni podatki zajemajo položaje igralcev in žoge v kratkih časovnih intervalih ter omogočajo podrobnejšo analizo, predvsem gibanja igralcev oziroma ekipe brez žoge. Poleg tega lahko iz njih pridobimo tudi nekatere podatke o fizični aktivnosti igralcev med tekmo, kot so hitrost, število sprintov in pretečena razdalja.
Iz takšnih podatkov lahko gradimo napredne nogometne modele, na primer pričakovane zadetke (angl. expected goals, xG), ki pomagajo pri analizi ekip, skavtiranju igralcev in pripravi na nasprotnike. V prispevku predstavljamo, kako lahko iz surovih nogometnih podatkov pridemo do ključnih informacij, ki jih trenerji, analitiki in drugi člani strokovnega štaba uporabijo v svojih procesih odločanja. Trenerji in analitiki pri tem niso samo zunanji opazovalci, temveč so aktivno vključeni v proces oblikovanja metrik in modelov. Ti morajo biti povezani z igralnim modelom, cilji ekipe in konkretnimi vprašanji strokovnega štaba. Ker se tekme igrajo na vsakih nekaj dni, so roki za pripravo analiz pogosto zelo kratki, zahteve pa se lahko hitro spreminjajo glede na nasprotnika, stanje ekipe in ugotovitve iz prejšnjih tekem.
Osrednji del prispevka predstavlja praktičen primer uporabe podatkov pri razvoju modela, ki povezuje igralni model ekipe z njenimi taktičnimi principi. Strokovni štab je imel jasno idejo, kako želi, da ekipa deluje v obrambi, predvsem kako povezano mora biti gibanje obrambnih igralcev glede na položaj žoge in nasprotnika. To nogometno idejo smo prevedli v podatkovni model in oblikovali metrike, s katerimi je bilo mogoče spremljati, ali ekipa dogovorjene principe dejansko izvaja na igrišču, kje prihaja do odstopanj in ali se skozi čas približuje želenemu načinu igre.
Za obdelavo, transformacijo in modeliranje podatkov smo uporabili kombinacijo DuckDB, MotherDuck in Python. DuckDB je služil kot učinkovit analitični SQL-pogon za lokalno obdelavo večjih količin podatkov, MotherDuck kot oblačno okolje za shranjevanje, deljenje in izvajanje analiz, Python pa za izračun naprednejših metrik, modeliranje ter pripravo vizualizacij in poročil. Takšna arhitektura je omogočila hitro iteracijo od surovih prostorsko-časovnih podatkov do uporabnih vpogledov brez potrebe po kompleksni klasični podatkovni infrastrukturi.
Rezultati so bili predstavljeni prek interaktivnih pregledov v Streamlitu in avtomatiziranih PDF poročil. Vizualizacije so bile prilagojene trenerjem in so prikazovale, kaj se dejansko dogaja na igrišču: položaje igralcev, gibanje ekipe, razdalje med igralci ter situacije, v katerih je prihajalo do odstopanj od dogovorjenih principov. Na ta način metrike niso ostale zgolj tehnični kazalniki, ampak so bile povezane s konkretnimi igralnimi situacijami. Strokovni štab je lahko spremljal razvoj dogovorjenih principov, hitreje prepoznal odstopanja in na podlagi informacij pripravil konkretne intervencije na treningu ali v pripravi na naslednjo tekmo.
S prispevkom želimo pokazati, da podatki v nogometu ne nadomeščajo trenerjevega znanja, ampak ga dopolnjujejo. Njihova vrednost je v tem, da taktične ideje naredijo merljive, preverljive in uporabne v vsakodnevnem delu. V predstavljenem primeru je takšen pristop strokovnemu štabu omogočil spremljanje izvajanja obrambnih principov, prepoznavanje odstopanj in pripravo bolj ciljno usmerjenih in na podatkih osnovanih sprememb. S tem so podatki postali del strokovnega procesa, ki je prispeval k izboljšanju obrambne stabilnosti in uspehu ekipe.
Trajanje: 2h
Hardware Security Module (HSM) predstavlja enega ključnih gradnikov sodobnih varnostnih arhitektur za zaščito kriptografskih ključev, digitalno podpisovanje ter izvajanje varnih operacij v poslovnih in oblačnih okoljih. Uporaba HSM rešitev danes ni več omejena zgolj na finančne institucije ali certificirane infrastrukture, temveč postaja pomemben gradnik sodobnih aplikacij, storitev v oblaku, digitalnih identitet, rešitev passkey ter sistemov za zaščito podatkov in programske opreme.
Na delavnici bomo najprej predstavili osnovne koncepte delovanja HSM sistemov ter njihovo povezavo z drugimi tehnologijami zaupanja, kot so TPM, TEE in passkeys. Obravnavali bomo tipične scenarije uporabe, arhitekturne pristope ter razlike med lokalnimi in oblačnimi HSM rešitvami.
V praktičnem delu bodo udeleženci uporabljali fizični HSM (YubiHSM) in cloud-based HSM infrastrukturo za izvajanje osnovnih operacij upravljanja ključev in digitalnega podpisovanja. Prek pripravljenega okolja bodo ustvarjali kriptografske ključe, izvajali podpisovanje ter integrirali HSM funkcionalnosti v primer poslovne aplikacije. Poseben poudarek bo namenjen razumevanju, kako HSM omogoča uporabo ključev brez njihovega razkritja aplikaciji ali infrastrukturi.
Delavnica je namenjena razvijalcem programske opreme, arhitektom rešitev, DevOps in varnostnim strokovnjakom, ki želijo razumeti praktično uporabo HSM tehnologij v sodobnih informacijskih sistemih.
Trajanje: 2h
Imate ogromne količine internega znanja, razpršenega po pravilnikih, navodilih, poročilih, tehnični dokumentaciji, pogodbah, zapisnikih in drugih dokumentih? Ključno vprašanje ni več samo, ali lahko do teh vsebin dostopamo, temveč kako jih lahko z uporabo umetne inteligence pretvorimo v hitre, uporabne in zanesljive odgovore.
Izobraževanje udeležence popelje v svet Retrieval-Augmented Generation (RAG) rešitev, ki velikim jezikovnim modelom omogočajo delo z internimi dokumenti organizacije. Udeleženci bodo spoznali, kako zgraditi sistem, ki zna poiskati relevantne informacije, jih povezati z vprašanjem uporabnika in pripraviti odgovor, podprt z ustreznimi viri.
Poseben poudarek bo na razumevanju, da kakovosten RAG ni zgolj uporaba vektorske baze ali “AI iskalnika”, temveč premišljena kombinacija priprave dokumentov, segmentacije, metapodatkov, indeksiranja, strategij iskanja, validacije odgovorov in spremljanja delovanja v praksi. Prav ti elementi pogosto odločajo, ali bo rešitev uporabna in zaupanja vredna ali pa bo ustvarjala površne, napačne ali nepreverljive odgovore.
Udeleženci bodo spoznali najpogostejše vzroke za slabe rezultate, kot so neustrezno razdeljeni dokumenti, slabo očiščena vsebina, izgubljen kontekst, pomanjkljivi metapodatki, težave pri obdelavi PDF in Word dokumentov ter preveč prosto generiranje odgovorov. Ob tem bodo dobili praktične usmeritve, kako izboljšati pridobivanje informacij, zmanjšati halucinacije in vzpostaviti osnovne mehanizme za preverjanje kakovosti.
Cilj izobraževanja je udeležencem dati jasno in uporabno sliko, kako pristopiti k vzpostavitvi RAG sistema nad internimi dokumenti: kaj je treba pripraviti, kje se najpogosteje pojavijo težave, kako jih nasloviti in kako oceniti, ali sistem deluje dovolj dobro za uporabo v realnem okolju. Po izobraževanju bodo udeleženci bolje pripravljeni na načrtovanje, uvedbo ali izboljšavo AI rešitev, ki temeljijo na organizacijskem znanju.
Trajanje: 2h
## Feature
Delavnica o tem, kako pisati boljše zahteve, uporabniške zgodbe in sprejemne kriterije za razvoj informacijskih rešitev v letu 2026.
## Business context
Zahteve danes niso več samo zapis za skrbnika izdelka, analitika, razvijalca ali testerja. Vse pogosteje so tudi vhod za razvojna orodja, AI asistente in agente, ki pomagajo pri načrtovanju, testiranju, dokumentiranju in implementaciji.
## Problem
V praksi so zahteve pogosto preveč nejasne, prevelike, premalo preverljive ali zapisane kot tehnične naloge brez jasne poslovne vrednosti. Posledica so napačna razumevanja, dodatna usklajevanja, slabši testi in več popravkov med razvojem.
## User story
Kot član agilne razvojne ekipe
želim znati zapisati jasno, preverljivo in uporabno zahtevo,
da lahko iz ideje nastane kakovostna rešitev, ki jo razumejo ljudje, razvojna orodja in AI agenti.
## Target users
Product ownerji, poslovni analitiki, projektni vodje, scrum mastri, razvijalci, testerji, arhitekti in vsi, ki sodelujejo pri pripravi ali razumevanju zahtev.
## Scope
Delavnica pokriva osnove dobrega pisanja zahtev, uporabniške zgodbe, sprejemnih kriterijev, DoR kontrolnih seznamov, dobre in slabe prakse, praktične primere ter uporabo AI kot pomočnika pri izboljševanju zahtev.
## Assumptions
Udeleženci poznajo osnovni kontekst agilnega razvoja, ni pa nujno, da imajo poglobljeno znanje snovanja zahtev ali izkušnje z AI orodji.