Upotreba AST-a u radnom procesu i sigurnosnom kodiranju

Posljednje ažuriranje: 7 April 2026
  • Korištenje apstraktnih sintaktičkih stabala omogućava modeliranje i vizualizaciju softverskih radnih procesa, olakšavajući njihovu validaciju, prenosivost i automatiziranu analizu.
  • Rješenja za testiranje sigurnosti aplikacija (SAST, DAST, IAST, MAST, SCA, RASP i ASTO) pokrivaju različite faze životnog ciklusa aplikacije kako bi otkrila i ublažila ranjivosti.
  • Statička analiza koda i napredne tehnike protoka informacija zahtijevaju internalizaciju koda u kvalitetnom AST-u, prevazilazeći sintaktičke i semantičke dvosmislenosti.
  • Paralelno s tim, automatizacija procesa s RPA i analizom sigurnosti na radu primjenjuju istu filozofiju razbijanja tokova kako bi se poboljšala sigurnost, efikasnost i kontrola.

Upotreba AST-a u kodu radnog procesa

Kada govorimo o AST-u u kodu radnog procesa , zapravo spajamo nekoliko svjetova koji su, iako naizgled različiti, sve više međusobno povezani: tradicionalni softverski inženjering , sigurnost aplikacija, automatizacija procesa pomoću RPA, generiranje koda pomoću AI i, zanimljivo, čak i prevencija profesionalnog rizika. Sve se vrti oko toga kako modeliramo, analiziramo, automatiziramo i osiguravamo radne procese koji upravljaju složenim sistemima.

Apstraktna sintaksna stabla (AST) postala su ključni alat za razumijevanje i transformaciju koda, automatizaciju revizija, generiranje testova, jačanje sigurnosti, pa čak i grafičko predstavljanje poslovnih tokova rada. Istovremeno, akronim AST obuhvata koncepte poput testiranja sigurnosti aplikacija i analize sigurnosti posla, koji ukazuju na drugu osnovnu ideju: uzimanje tokova rada (softverskih ili ljudskih) i podvrgavanje istih sistematskoj analizi kako bi se otkrili nedostaci, rizici i mogućnosti za poboljšanje.

AST kao apstraktno sintaksno stablo u radnim procesima i generiranju koda

U razvoju prilagođenog softvera, upotreba apstraktnih sintaktičkih stabala (AST) omogućava vam prelazak s neprozirnog koda na vizualne i razumljive strukture koje precizno opisuju logiku radnog procesa. AST rastavlja program na čvorove koji predstavljaju operacije, kontrolne strukture, pozive funkcija, podatke i odnose između njih, tako da logika prestaje biti "labave linije koda" i postaje navigacijski graf.

Ova reprezentacija je posebno korisna pri upravljanju agentima vještačke inteligencije ili distribuiranim arhitekturama, gdje su tokovi rada složeni i teško ih je mentalno pratiti. Transformacijom koda toka rada u AST (Automatska analiza softvera), moguće je generirati dijagrame koji intuitivno prikazuju grane odlučivanja, zavisnosti komponenti, redoslijed izvršavanja i kritične tačke procesa, olakšavajući razvoj, pregled i donošenje tehničkih odluka.

Kompanije specijalizirane za prilagođeni softver, kao što je Q2BSTUDIO , koriste ova sintaksna stabla kako bi transformirale složene radne procese u pristupačne, vizualno jasne i, prije svega, funkcionalno korisne dijagrame. Ne radi se samo o "crtanju okvira", već o strukturiranom modelu koji se može koristiti za usavršavanje algoritama, identifikaciju uskih grla, lociranje logičkih grešaka i postavljanje temelja za buduće optimizacije.

Velika prednost AST-a u ovom kontekstu je što je nezavisan od konačnog programskog jezika . Iz istog stabla, tok se može kompajlirati ili transformirati u različite jezike ili platforme (na primjer, različita okruženja za izvršavanje u oblaku poput AWS-a ili Azurea), uz održavanje konzistentne poslovne logike. Ovo omogućava fleksibilnije, prenosivije i održivije arhitekture, gdje je jezgro procesa definirano apstraktno, a izvršni kod je kontrolirana derivacija.

Još jedna ključna tačka je ponovna upotreba čvorova unutar AST-a . Moguće je definirati logičke blokove (na primjer, validacije unosa, obrasce pristupa podacima ili mehanizme revizije) koji se ponovo koriste kao sigurne i već validirane komponente. Ako su ovi čvorovi poznati i AI-u koji generira kod, on ih može referencirati umjesto da ih izmišlja od nule, što značajno povećava sigurnost i konzistentnost generiranog softvera.

AST i generiranje karakteristika zasnovano na vještačkoj inteligenciji: sigurnost, validnost i povjerenje

Pojava AI modela koji generiraju kod otvorila je novi front : kako možemo vjerovati funkcijama koje je napisala AI bez ručnog pregledavanja svake linije? Čvrsto rješenje nije direktno zahtijevanje "izvršnog koda", već strukturirani prikaz logike korištenjem AST-a (Automatic Support Tool), koji se zatim validira i transformira u kod pomoću pouzdanog alata.

Radeći s AST-ovima umjesto običnog koda , AI generira čvorove, operacije, kontrolne strukture i tokove podataka koji se mogu automatski analizirati: tipovi, putanje izvršavanja, konzistentnost parametara, rukovanje greškama, granični uvjeti i druga svojstva provjeravaju se prije nego što dođu do kompajlera ili interpretera. Ovaj filter drastično smanjuje rizik od izvršavanja zlonamjernog ili jednostavno netačnog koda.

Q2BSTUDIO i druge organizacije koje istražuju ove tehnike stavljaju poseban naglasak na osiguravanje da se logika generirana umjetnom inteligencijom može pratiti i provjeriti. AST (Automatizirana analiza sistema) postaje "posredna istina" na koju se primjenjuju sigurnosna pravila, standardi kvalitete, interne politike i analize utjecaja. Dakle, svaka generirana funkcija se uklapa u biblioteku sigurnih čvorova, koristeći prethodno revidirane elemente.

Ovaj pristup također otvara vrata višenamjenskim izradama : iz istog AST-a, kod se može generirati u različitim jezicima (na primjer, Python za mikroservise, C# za interne servise ili specijalizirane skripte za orkestratore oblaka). Za kompanije koje rade u hibridnim ili višeoblačnim okruženjima, ovo je posebno atraktivno jer osigurava da je poslovni tok konzistentan bez obzira na konačni stek.

Konačno, upotreba višekratno upotrebljivih čvorova unutar AST-a omogućava konstrukciju certificiranih "logičkih biblioteka". Umjesto izmišljanja obrazaca pristupa bazi podataka, sigurnosnih validacija ili tragova evidentiranja, AI ih konstruira od ovih gradivnih blokova, poboljšavajući i sigurnost i performanse te olakšavajući naknadnu analitiku u alatima poput Power BI-a ili drugih platformi za poslovnu inteligenciju.

AST primijenjen na inteligentno testiranje u Pythonu i maksimalnu pokrivenost koda

AST je također osnova naprednih automatiziranih rješenja za testiranje , kao što su određeni open source alati za Python koji koriste strukturu koda za generiranje testnih paketa s mnogo većom pokrivenošću nego što se obično postiže ručnim pisanjem.

Ova vrsta alata kombinuje tri glavne mogućnosti : automatsko generisanje jediničnih testova za određenu Python datoteku, vođeno fuzziranje za podvrgavanje kritičnih funkcija ekstremnim i deformisanim ulazima i generisanje testova orijentisano na pokrivenost, gdje se AST temeljito analizira kako bi se locirale sve moguće grane, petlje, uslovi i putanje izuzetaka.

Ključno je to što alat gradi AST (Analog Test Asset) Python koda i, na osnovu njega, identificira putanje izvršavanja koje još nisu pokrivene testovima. S ovim informacijama, zadaje AI modelu (na primjer, Gemini) kreiranje testnih slučajeva posebno dizajniranih za aktiviranje svake putanje. Zatim izvršava testove i mjeri pokrivenost pomoću alata poput coverage.py, čime se zatvara automatizirani ciklus kontinuiranog poboljšanja.

  Potpuni vodič za Unified Modeling Language UML

Ovaj pristup ne generira samo početnu seriju testova ; on omogućava iteraciju i poboljšanje. Ako nakon prvog kruga još uvijek postoje rute koje nisu testirane, one se ponovo ispituju korištenjem AST-a (Napredni testni test) i od umjetne inteligencije se traže novi slučajevi. Ovo čini proces prilagodljivim i novom kodu i naslijeđenim kodnim bazama uz malo ili nimalo prethodnog testiranja.

Projekat je postavljen kao MCP (Model Context Protocol) server , tako da funkcioniše kao lokalni servis koji se može pozvati iz editora ili komandne linije. Korištenje BAML-a osigurava da generirani testni kod bude u skladu s preciznim formatom, da ga je lako analizirati i da ne prekida rad alata za kontinuiranu integraciju koji ga koriste.

AST kao analiza sigurnosti na radu: sigurni tokovi u radnom okruženju

Pod istim akronimom AST nalazimo još jedan široko korišten koncept u prevenciji rizika na radu: Analiza sigurnosti na radu (Job Safety Analysis). Iako djeluje na drugačijem nivou od koda, dijeli sa Apstraktnim sintaktičkim stablima ideju razbijanja toka (u ovom slučaju, ljudskih zadataka) u faze, identificiranja rizika i definiranja kontrola prije izvršenja.

Analiza sigurnosti na radu je preventivni proces koji se primjenjuje prvenstveno na aktivnosti visokog rizika, kao što su rad na visini, upravljanje složenim mašinama ili rukovanje opasnim supstancama. Tok rada je podijeljen u korake, a za svaki korak se identificiraju specifične opasnosti, procjenjuje se nivo rizika i specificiraju se kontrolne mjere (LZO, signalizacija, uputstva za hitne slučajeve itd.).

Ključne prednosti procjene sigurnosti na radnom mjestu uključuju smanjenje broja nesreća, poboljšanu usklađenost s propisima, povećanu operativnu efikasnost i ojačanu kulturu sigurnosti. Jasna podjela poslova smanjuje improvizaciju, sprječava prekide zbog incidenata i smanjuje troškove povezane s povredama, kaznama ili prekidima proizvodnje.

Tipična procedura za provođenje JSA u radnom okruženju uključuje: precizno definiranje zadatka i njegovog konteksta (okruženje, oprema, materijali), podjelu na faze, identificiranje opasnosti i rizika u svakoj fazi (padovi, izloženost hemikalijama, zarobljavanja, kvarovi opreme), uspostavljanje specifičnih kontrolnih mjera, komunikaciju i obuku uključenih radnika te provođenje kontinuiranog praćenja i praćenja kako bi se prilagodila analiza ako se uvjeti promijene.

Da bi ova analiza bila zaista efikasna, preporučljivo je koristiti matrice rizika, kontrolne liste i, sve više, digitalne alate koji olakšavaju dokumentiranje, praćenje i sljedivost preduzetih mjera. Konsultantske firme poput GMS Consultinga integrišu ove Analize sigurnosti na radu (JSA) u sisteme upravljanja kao što je ISO 45001, pomažući organizacijama da prođu interne i eksterne revizije i održe ciklus kontinuiranog poboljšanja u oblasti sigurnosti i zdravlja na radu.

Testiranje sigurnosti aplikacija (AST): SAST, DAST, IAST, MAST i još mnogo toga

U oblasti sajber sigurnosti, AST se obično odnosi na testiranje sigurnosti aplikacija (Application Security Testing) , odnosno skup tehnika i alata usmjerenih na otkrivanje ranjivosti u modernim aplikacijama, prilagođavajući se agilnim metodologijama i rastućoj složenosti softvera.

AST rješenja su temelj svakog robusnog AppSec programa jer su ručni pregledi koda i tradicionalni planovi testiranja spori i ne prilagođavaju se dobro stalnoj pojavi novih ranjivosti. Nadalje, brojni propisi i regulatorni okviri (kao što je PCI-DSS, između ostalih) eksplicitno nalažu upotrebu takvih alata.

U okviru testiranja sigurnosti aplikacija danas možemo razlikovati nekoliko glavnih kategorija : statička analiza (SAST), dinamička analiza (DAST), interaktivne i hibridne tehnike (IAST), testiranje specifično za mobilne aplikacije (MAST) i druge komplementarne usluge kao što su SCA, RASP, otkrivanje aplikacija, testiranje kao usluga ili alati za korelaciju i pokrivenost.

Statička AST (SAST) tehnologija analizira kod u stanju mirovanja (izvorni kod, bajtkod ili binarni kod) tokom faza programiranja i testiranja životnog ciklusa razvoja softvera. Smatra se testom "bijele kutije" jer analitičar ima pristup i kodu i dizajnu aplikacije. Ovi alati traže slabosti kao što su numeričke greške, problemi s validacijom ulaza, uslovi utrke, nesigurne reference, prekoračenja i tako dalje.

S druge strane, dinamička AST (DAST) tehnologija fokusira se na pokrenutu aplikaciju , obično u kontroliranim testnim ili produkcijskim okruženjima. Simulirani napadi se pokreću izvana kako bi se otkrili problemi poput injekcija, neuspjeha autentifikacije, lošeg upravljanja sesijama, grešaka interfejsa ili problema s rukovanjem odgovorima. To je pristup "crne kutije", gdje se ne pretpostavlja poznavanje internog koda.

IAST tehnologije kombinuju najbolje od SAST-a i DAST-a . Aplikacija je instrumentalizovana (na primjer, agentom u JVM-u ili .NET CLR-u) kako bi se posmatralo njeno ponašanje iznutra dok se izvršavaju dinamički testovi. Ovo omogućava korelaciju tokova podataka i izvršenja, razumijevanje da li je teorijska ranjivost zapravo iskoristiva i smanjenje lažno pozitivnih rezultata validacijom nalaza u hodu.

MAST, ili testiranje sigurnosti mobilnih aplikacija , primjenjuje kombinaciju statičke, dinamičke i forenzičke analize posebno na iOS i Android aplikacije, uključujući njihove backend komponente. Ova rješenja posvećuju posebnu pažnju scenarijima kao što su rootani ili otključani uređaji, lažne Wi-Fi mreže, nepravilno upravljanje certifikatima, curenje osjetljivih podataka i druge karakteristike mobilnog okruženja.

Dodatne usluge: SCA, RASP, otkrivanje, baze podataka i orkestracija ASTO-a

Mnogi AST pružatelji usluga proširili su svoju ponudu ključnim komplementarnim uslugama kako bi pokrili cijeli ekosistem sigurnosti aplikacija i upravljanja rizicima u kibernetičkoj sigurnosti , od sastavljanja softvera do baze podataka i orkestracije svih alata.

Analiza sastava softvera (SCA) fokusira se na identifikaciju komponenti trećih strana i komponenti otvorenog koda uključenih u aplikaciju i njihovo poređenje s poznatim bazama podataka o ranjivostima kao što su NIST NVD, CVE i komercijalni repozitorij poput VulnDB. Ovi alati mogu otkriti zastarjele verzije ili one s čekajućim sigurnosnim zakrpama, ali obično ne identificiraju ranjivosti u vlastitom kodu aplikacije.

RASP (Runtime Application Self-Protection - Samozaštita aplikacije tokom izvršavanja) ide korak dalje u oblasti instrumentacije, koristeći tehnike slične IAST-u za praćenje pokrenute aplikacije i blokiranje napada u realnom vremenu, na neki način se takmičeći sa tradicionalnim WAF-ovima. Mnogi timovi počinju aktiviranjem instrumentacije samo u dijagnostičke svrhe (IAST mod) i, kada su sigurni u rezultate, prelaze na RASP mod sa efikasnim blokiranjem napada.

  Otporni predložak za CISO: praktični vodič za vođenje kibernetičke sigurnosti

Također je relevantna mogućnost otkrivanja aplikacija , koja analizira web ekosistem organizacije i locira sve izložene stranice i usluge, uključujući i one koje su zaboravljene, ali ostaju potencijalna ulazna tačka.

Na nivou sloja podataka , alati za analizu sigurnosti baze podataka pregledavaju verzije, zakrpe, konfiguracije, lozinke, politike pristupa i druge ranjivosti, kako za podatke u mirovanju, tako i, u nekim proizvodima, za podatke u tranzitu. Ovo je ključno jer mnoge ranjivosti koje se mogu iskoristiti proizlaze iz lošeg upravljanja bazom podataka, a ne iz nedostataka u kodu aplikacije.

Model ASTaaS (Application Security Testing as a Service - Testiranje sigurnosti aplikacija kao usluga) prepušta dio ili cijeli proces sigurnosnog testiranja specijaliziranom pružatelju usluga, kombinirajući statičku i dinamičku analizu, testiranje penetracije, evaluaciju API-ja i analizu rizika. Posebno je atraktivan u cloud okruženjima, gdje je postavljanje i skaliranje testnih okruženja jednostavnije.

Kako bi se nosili s poplavom nalaza iz više alata, pojavila su se rješenja za korelaciju rezultata i analizatori pokrivenosti. Prvi ujedinjuju i daju prioritet ranjivostima otkrivenim različitim rješenjima kao što su SAST, DAST, IAST, MAST itd., dok drugi mjere koji je postotak koda ili logičkih grana zapravo testiran, pomažući u uspostavljanju prihvatljivih pragova kvalitete i otkrivanju koda koji se ne može testirati.

Konačno, Orkestracija testiranja sigurnosti aplikacija (ASTO) predlaže integraciju svih ovih alata na koordiniran način unutar životnog ciklusa razvoja softvera (SDLC) i CI/CD cjevovoda, s centraliziranim upravljanjem politikama, izvršavanjima i izvještavanjem. Iako je još uvijek područje u razvoju, ono se bavi potrebom za automatizacijom sigurnosnog testiranja koliko god je to moguće bez usporavanja tempa isporuke.

Sigurnosno orijentirana statička analiza izvornog koda: standardi, tehnike i izazovi

Statička analiza izvornog koda s fokusom na sigurnost sve je veći zahtjev za organizacije koje žele uskladiti se sa standardima sigurnog razvoja i najboljim praksama. Okviri kao što su CLASP, OpenSAMM, Touchpoints i Microsoft SDL eksplicitno integriraju ovu fazu u životni ciklus razvoja, jačajući koncept "sigurnosti po dizajnu".

Metodologije poput OWASP-a i sigurnih SDLC okvira pružaju konkretne smjernice za izvođenje statičke analize, definiranje kriterija pregleda, iskorištavanje rezultata i mapiranje nalaza u odnosu na mjerila poput OWASP Top 10 (XSS, SQL Injection, File Inclusion, itd.). Postojeći SAST alati - i komercijalni i otvorenog koda - uveliko se oslanjaju na teoriju kompajlera, AST i analizu toka informacija kako bi izvukli korisno znanje iz koda.

Među osnovnim tehnikama možemo spomenuti napredni grep (traženje obrazaca i mogućih tajni u običnom tekstu), verifikaciju uvlačenja i strukture, analizu toka podataka kako bi se pratio životni vijek varijable od njene definicije do njene upotrebe, propagaciju konstanti kako bi se procijenio utjecaj nepromjenjivih vrijednosti i analizu pseudonima ili pokazivača kako bi se razumjeli indirektni referenci u jezicima niskog nivoa.

Na nivou klasifikacije nalaza , korisno je razlikovati greške (odstupanja između onoga što je programer namjeravao i onoga što softver zapravo radi), kršenja najboljih praksi ili jezičkih pravila (neidealan kod) i ranjivosti, shvaćene kao podskup problema s utjecajem na sigurnost. Dio koda može biti i greška i kršenje, a ipak ne biti iskorištavan zbog dodatnih sigurnosnih slojeva.

Glavni izazov je to što su mnogi popularni SAST alati (kao što su PMD, SonarQube ili FindBugs) više fokusirani na kvalitet koda nego na čistu sigurnost, a njihov puni potencijal se ostvaruje kada se integrišu od samog početka projekta, što se ne dešava uvijek. U okruženjima gdje se postojeći kod – često napisan od strane trećih strana – revidira, ovi alati mogu zakazati, što čini neophodnim izradu prilagođenih analizatora prilagođenih potrebama tima.

Proces izgradnje statičkog analizatora je obično organizovan kao cjevovod: počevši od izvornog koda (generirani kod, binarne datoteke ili mašinski kod nisu uključeni u ovu kategoriju), izvodi se proces internalizacije kako bi se dobio apstraktni model vjeran originalnom kodu (obično obogaćeni AST), izvode se modeli entiteta i izvršenja, primjenjuju se tehnike analize i konačno se generišu izvještaji. Kvalitet cijelog procesa kritično zavisi od faze internalizacije.

Internalizacija i generiranje AST-a: frontendovi, gramatike i dvosmislenosti

Faza internalizacije ima za cilj prevođenje izvornog koda u strukturu kojom parser može upravljati, obično AST ili sličan graf. To se može postići korištenjem frontendova postojećih kompajlera (kao što su GCC za C, Mono za .NET ili Eclipse JDT za Javu), koji pružaju provjerene i efikasne strukture.

Međutim, oslanjanje na ove frontendove ima nedostatke . Mnogi su dizajnirani za integraciju s IDE-om, zahtijevaju kreiranje dodatnih projekata i konfiguracija te generiraju modele usmjerene na interakciju s korisnikom, a ne na analizu velikih razmjera. Nadalje, često rade na prethodno obrađenom kodu (na primjer, C s riješenim makroima), što može uzrokovati neslaganja s originalnim izvornim kodom prilikom prijavljivanja grešaka.

Kada ove opcije nisu dovoljne , postaje neophodno pribjeći klasičnim tehnikama teorije kompajlera: konstruisanju gramatika, definisanju parsera alatima poput ANTLR-a, Bison-a ili Flex-a, ili čak programiranju kombinatora parsera ili rješenja zasnovanih na PEG-u. Ovo zahtijeva duboko razumijevanje sintakse i semantike jezika koji se obrađuje.

Uobičajeni problemi u ovoj fazi uključuju sintaktičke dvosmislenosti (izraze koje gramatika može interpretirati na nekoliko valjanih načina), kontekstualno zavisne ili semantičke dvosmislenosti (npr. razlikovanje da li fragment predstavlja deklaraciju množenja ili pokazivača) i razlučivanje referenci (poznavanje u svakoj upotrebi koja se varijabla, tip ili član zapravo referencira).

U složenim jezicima poput C++ ili u mješovitim okruženjima - na primjer, ASPX sa C#, Android sa Java/Dalvikom - ove dvosmislenosti se množe. Čak i napredni IDE-ovi pokazuju greške u bojanju ili prepoznavanju simbola u teškim fragmentima, što ilustruje nivo teškoće za one koji grade vlastite alate za analizu.

Zaključak je da ne postoje magična rješenja : potrebno je savladati gramatiku, semantiku, memorijski model jezika, pravila razrješenja imena i imati vrlo jasan cilj analize, jer se lako izgubiti u detaljima implementacije koji ne dodaju vrijednost reviziji ili slučaju upotrebe koji se provodi.

Napredne tehnike analize: tokovi informacija i modeli izvršenja

Nakon što su uspostavljeni robusni interni modeli (AST, memorijski i modeli izvršenja) , počinje stvarna faza analize. Analiza toka podataka je ovdje ključna, proučavajući kako se informacije šire kroz aplikaciju od nepouzdanih izvora (korisnički unosi, datoteke, socketi itd.) do potencijalno opasnih odvoda ( SQL upiti , sistemske naredbe, renderiranje HTML-a bez izlaza itd.).

  Firefox VPN besplatno 50 GB: Kako funkcioniše i koje su alternative dostupne

Analiza toka vam omogućava da proučite sve moguće putanje izvršavanja koje povezuju ulaz sa ranjivom tačkom, i naprijed i nazad, što je ključno za tehnike analize oštećenja. Zahtijeva precizno razumijevanje memorijskog modela jezika i implicitnih mehanizama propagacije (prenos po vrijednosti ili referenci, zatvaranja, nepromjenjivi objekti, niti itd.).

Također je potrebno modelirati ili uključiti ponašanje biblioteka trećih strana , budući da se veliki dio poslovne logike i ulaznih/izlaznih tačaka nalazi u njima. Ako se to ne uzme u obzir, analize mogu generirati veliki broj lažno pozitivnih ili, još gore, lažno negativnih rezultata koji ostaju nezapaženi.

Ilustrativan primjer je analiza aplikacije ranjive na SQL injekciju : kod može izgledati jednostavno, ali kroz analizu taint-a može se primijetiti kako se parametar koji kontrolira korisnik širi kroz nekoliko funkcija dok ne dođe do konstrukcije upita, koja se izvršava bez odgovarajuće parametrizacije. Bez detaljnog modela toka i memorije, ove zavisnosti je teško automatski otkriti.

Drugi, složeniji slučaj uključuje dijeljene statičke varijable, povratne pozive ili događaje , gdje vrijednost koja dospijeva do odvoda zavisi od prethodnih izvršavanja ili manje očiglednih puteva. Ovdje nam model izvršavanja – koji predstavlja stanja, prijelaze i kontekste – u kombinaciji s AST-om omogućava da sklopimo slagalicu i izvučemo pouzdane zaključke o sigurnosti koda.

Iako ove tehnike uvode dodatne izazove , kao što su analiza više jezika ili tačna evaluacija izraza u veoma dinamičnim okruženjima, one donose odličan kvalitet rezultatu: manje grešaka u interpretaciji, brže procese nakon što je infrastruktura izgrađena i standardizovani okvir koji se može prilagoditi različitim projektima i tehnologijama.

Automatizacija radnih procesa pomoću RPA u AST-u (Aragonske telematske usluge)

Pored analize koda, radni tokovi se optimiziraju i u javnoj upravi putem tehnologija robotske automatizacije procesa (RPA). Ilustrativan slučaj je Aragonesa de Servicios Telemáticos (AST), javni subjekt koji pruža ICT usluge vladi Aragona i djeluje kao telekomunikacijski operater za autonomnu zajednicu.

AST upravlja širokim katalogom digitalnih usluga - upravljanje dokumentima, elektronski potpis, platni sistemi, poslovno informiranje (BI), infrastruktura prostornih podataka, hosting aplikacija, radne stanice, povezivost i usluge s dodanom vrijednošću - i naišao je na kritično usko grlo: ručni proces kreiranja faktura, koji je trošio veliku količinu vremena i resursa u vrlo koncentriranim periodima.

Kako bi se riješio ovaj izazov, angažovan je Hiberus , koji je predložio RPA rješenje koristeći UiPath. Pristup je slijedio strukturirani slijed: stvaranje specijaliziranog Agile centra (RPA konsultanti, arhitekti, programeri, testeri), konsultacije o procesima za identifikaciju automatiziranih podataka, sistema i tokova rada, razvoj PDD dokumenta s funkcionalnom definicijom, i odatle, izgradnja okruženja i razvoj rješenja.

Automatizacija je uključivala integraciju s korporativnom platformom za digitalni potpis , ključnim sistemom za potpisivanje faktura, pa čak i dodavanje sistema upozorenja koji je nedostajao originalnom alatu. Implementirana su razvojna i produkcijska okruženja, a izvršen je i specifičan plan testiranja usmjeren na predprodukcijske sisteme, što je omogućilo AST-u da validira robota bez utjecaja na njegove svakodnevne operacije.

Nakon validacije, rješenje je implementirano u produkciju , koristeći prednosti UiPath-ovih prednosti: sposobnost automatizacije složenih i procesa velikog obima, niske zahtjeve za programiranjem, jednostavnost horizontalnog skaliranja, brzinu razvoja, ugrađeni sistem obavještavanja i mogućnost zaustavljanja izvršavanja ako se otkriju bilo kakvi problemi.

Projekat je završen detaljnom obukom za AST osoblje , zajednički pripremljenim korisničkim priručnicima i praktičnim sesijama kako bi se osiguralo da menadžeri mogu samostalno koristiti alat, prilagođavati postavke i razumjeti rezultate bez stalnog oslanjanja na dobavljača.

Kvantitativni rezultati bili su izuzetno značajni : u periodu od dva mjeseca generirano je preko 500 faktura, što je 60% više nego prethodne godine, a vrijeme po fakturi smanjeno je sa 10 minuta na približno 2, što predstavlja smanjenje prosječnog vremena obrade za 80%. Srednjoročno gledano, predviđaju se uštede stotina sati ručnog rada, pored kvalitativnih koristi kao što su eliminacija ljudske greške, veća agilnost u ponovnom podnošenju faktura, povećana produktivnost i bolja usklađenost s ciljevima naplate.

Sa strateške perspektive , ovaj pilotni RPA projekat je usklađen sa AST-ovim planom uvođenja robotske automatizacije procesa i automatiziranih administrativnih procedura unutar aragonske administracije. Nadalje, poslužio je za pregled i pojašnjenje poslovnih pravila u procesu fakturisanja, poboljšanje razmjene informacija među zainteresovanim stranama i identifikaciju novih procesa koji bi se mogli automatizirati u narednim fazama.

Uzeta zajedno, cijela ova slika pokazuje kako je koncept AST-a , u svojim različitim značenjima, u srži poboljšanja radnih procesa: modeliranje programske logike korištenjem apstraktnih sintaktičkih stabala za inteligentan razvoj i testiranje, ispitivanje sigurnosti aplikacija specijaliziranim alatima, raščlanjivanje radnih zadataka radi eliminacije rizika ili orkestriranje robota koji se brinu o repetitivnim zadacima kako bi se ljudi mogli usredotočiti na aktivnosti veće vrijednosti.

razvoj sigurnosti
Povezani članak:
Sigurnost u razvoju softvera i DevSecOps