Mark Emelianov
SR

Medium · Veštačka inteligencija, Sajber bezbednost · Nacrt

Prvo čvrste kontrole: šta nas AI agenti za kodiranje uče o stvarnoj bezbednosti

Veštine, promptovi i datoteke s pravilima pomažu. Ali rizik zaista smanjuju peskovnik, razdvajanje, odobravanja i klasične inženjerske kontrole.

Prvi put objavljeno na Medium-u 27. marta 2026. Pročitajte na Medium-u. 9 min čitanja.

Crtež: umorni inženjer kaže „Ups...“ usred zapaljenih servera i table „Podaci obrisani!“, dok nasmešeni robot s kontrolnom listom kaže „Sve je počišćeno!“
Meso ili silicijum — isti problem, samo brži.

Ukratko:

AI agentima ne trebaju loše namere da bi napravili loš ishod. Pažljiv prompt, doteran CLAUDE.md i dobro napisane veštine mogu smanjiti broj grešaka, ali ne stvaraju bezbednost ako okruženje agentu i dalje daje previše moći. Nije važno koliko ljubazno je sistem uputili, nego šta mu je tehnički dozvoljeno da čita, menja, izvršava i do čega da dopre. Prava zaštita dolazi iz čvrstih kontrola: peskovnika, kapija za odobravanje, izolacije, minimizacije kredencijala i pravilnog razdvajanja od produkcije. Drugim rečima: meke kontrole mogu oblikovati ponašanje, ali čvrste kontrole odlučuju da li će greška ostati lokalna ili postati incident.

Napomena: Ovaj članak je doteran uz pomoć ChatGPT-a. Završne procene, mišljenja i zaključci su moji.

Problem

Rasprava o AI agentima za programiranje često počinje na pogrešnom mestu. Ljudi se fokusiraju na promptove, datoteke s uputstvima, veštine i lokalne dokumente s pravilima, kao da su oni bezbednosna granica. Nisu. To su smernice. Prava granica je tehnička: šta agent sme da čita, upisuje, izvršava i do čega sme da dopre preko mreže. I OpenAI i Anthropic opisuju peskovnik, ograničenja nad datotečnim sistemom, mrežne kontrole i politike odobravanja kao mehanizme koji zaista ograničavaju ponašanje agenta. (OpenAI Developers)

Uputstva nisu bezbednosne granice. Prava granica je ono što okruženje tehnički sprečava.

Ta razlika je važna jer opasna jedinica retko kad je sama vidljiva komanda. Poziv bash-a može izgledati bezazleno, dok skripta iza njega briše datoteke, menja izvorni kod, nabraja kredencijale ili poziva spoljne krajnje tačke. Dokumentacija OpenAI Codex-a izričito postavlja peskovnik oko lokalnih komandi i njihovog ograničenog okruženja za izvršavanje, umesto da pretpostavlja da je površno prihvatljiva komanda bezbedna samo zato što omotač izgleda bezopasno. (OpenAI Developers)

Vidljiva komanda u školjci često je najmanje važan deo rizika. Važno je sve što komanda može da pokrene posle toga.

Bezbednosni model

Praktičan bezbednosni model za AI agente za programiranje ima najmanje četiri sloja.

AI agentu nije potrebna zla namera da bi naneo štetu. Dovoljan je dovoljan pristup i jedna loša odluka.

Ilustrativan slučaj

Svi brinu da će AI agent srušiti produkciju, ali te noći je pravu pretnju predstavljala klasična automatizovana platforma na bazi ugljenika: pomalo umoran, pomalo pripit komad mesa s n8n instancom, nešto Terraform pristupa, tri „privremena“ administratorska puta i blagoslovom organizacije da „samo natera stvari da rade“. Zvanično, on nije bio programer. Što, na jeziku moderne infrastrukture, obično znači da je bio programer, SRE, platformski inženjer i manje božanstvo oblaka, samo bez papirologije.

Tako je, posle par piva i jedne herojske odluke da popravi „samo još jednu stvar“, komad mesa otvorio terminal i uradio ono što komadi mesa rade najbolje: samouvereno izvršio nepovratne radnje u pogrešnom kontekstu. Komanda je bila rutinska. Dozvole su bile smešne. Model poverenja bio je performans.

Nekoliko sekundi kasnije produkcija je počela da pravi skupu buku, alarmi su se razmnožavali u Slacku, a čovek se iznenada našao u ravnopravnom nadmetanju s veštačkom inteligencijom: obojica potpuno sposobni za brze gluposti, uz razliku što je samo jedan od njih blago zaudarao na pivo.

To je neprijatna istina. Stalno AI smatramo nepredvidivim akterom, a prvobitni nepodešeni agent sve vreme sedi u kancelariji, u duksu, sa sudo-om u ruci, i to zove „pojednostavljenje poslovanja“.

Meke i čvrste kontrole

Ovi poslednji slojevi su upravo ono mesto na kojem su peskovnik i čvrsta ograničenja okruženja najvažniji. OWASP-ova lista deset najvećih rizika za LLM aplikacije iz 2025. izričito izdvaja prompt injection, otkrivanje osetljivih informacija i lanac snabdevanja kao glavne klase rizika, što se dobro uklapa u ovaj model. (OWASP Foundation)

Zato meke kontrole nikada ne treba brkati s čvrstim garancijama. Dobro napisan CLAUDE.md, veština ili skup uputstava može smanjiti verovatnoću lošeg ponašanja, ali ne pruža uverenje onako kako ga pruža montiranje samo za čitanje, granica virtuelne mašine, uskraćen mrežni pristup ili strogo ograničen radni prostor za upis. Anthropic opisuje peskovnik za Claude Code kroz izolaciju datotečnog sistema i mreže, a njegova bezbednosna dokumentacija navodi i da je pravo upisa ograničeno na fasciklu u kojoj je Claude Code pokrenut i njene podfascikle, osim ako se ne odobri dodatna dozvola. Dokumentacija OpenAI Codex-a na isti način naglašava granice radnog prostora, upite za odobrenje izmena van radnog prostora i mrežni pristup koji u uobičajenim režimima zahteva odobrenje. (Anthropic)

Zato razdvajanje okruženja ostaje jedna od najvažnijih kontrola. Ako radna stanica i dalje ima žive puteve do osetljivih internih resursa, pokretanje autonomnog ili poluautonomnog agenta za programiranje u istoj zoni poverenja predstavlja odluku o riziku, bez obzira na to da li je korisnik softverski inženjer, DevOps specijalista, stručnjak za bezbednost, analitičar ili neka druga tehnička uloga. U praksi, „programer“ više nije uzak naziv. Mnoge moderne uloge mogu da izvršavaju kod, upravljaju infrastrukturom ili dopru do osetljivih sistema. Bezbednija pretpostavka je da svako ko koristi agenta može da raspolaže znatnom tehničkom moći. NIST-ov Okvir za upravljanje rizikom veštačke inteligencije i njegov profil za generativnu AI naglašavaju usklađivanje kontrola s tolerancijom rizika, kontekstom i granicama poverenja organizacije, umesto da se poverenje izvodi samo iz modela. (NIST)

Ako Vaša radna stanica može da dopre do osetljivih sistema, Vaš AI agent je već bliži produkciji nego što bi smeo da bude.

Udobnost naspram bezbednosti

Iz te perspektive, virtuelna mašina nije preterivanje kad je razdvajanje slabo. Često je to najčistiji način da se uspostavi granica poverenja koja je odavno trebalo da postoji. Ako korisnici sa svog svakodnevnog hosta imaju pristup produkciji, privilegovane interne kredencijale ili širok pristup kontrolnim ravnima, smeštanje agenta u virtuelnu mašinu je razumna mera smanjenja rizika. WSL u nekim scenarijima takođe može smanjiti rizik, jer omogućava zatvoreniji model izvršavanja nego pokretanje svega nativno na hostu, iako nije ekvivalentan potpuno zasebnoj virtuelnoj mašini i ne sme se tako tretirati. OpenAI-jeva dokumentacija za Windows razlikuje nativni Windows peskovnik od Linux peskovnika pod WSL-om, što potvrđuje da kontekst izvršavanja bitno utiče na model kontrole. (OpenAI Developers)

Istovremeno, udobnost se računa, i većina korisnika će radije pokretati agente za programiranje u svom nativnom operativnom sistemu. Ta sklonost je razumljiva. Ali udobnost treba da dođe posle projektovanja kontrola, a ne pre njega. Ako se koristi nativno izvršavanje, bezbednija osnova je jednostavna: upis ograničiti na radni prostor projekta, podrazumevano uskratiti mrežu, tražiti izričito odobrenje za podizanje privilegija, ne čuvati lokalno vredne kredencijale, razdvojiti razvojne identitete od produkcijskih i zadržati jake kontrole na strani repozitorijuma. Codex te ideje dokumentuje kroz approval_policy, sandbox_mode, kontrole upisa u radni prostor i konfiguraciju Windows peskovnika. Anthropic preporučuje izolaciju na nivou operativnog sistema i peskovnik predstavlja kao način da se agentu omogući samostalniji rad unutar definisanih granica. (OpenAI Developers)

Pri poređenju proizvoda postoji važna nijansa. Način objavljivanja i snaga bezbednosti nisu isto. Anthropic javno predstavlja peskovnik za Claude Code kao objavljenu funkciju koja pruža izolaciju datotečnog sistema i mreže. Aktuelna OpenAI-jeva dokumentacija takođe predstavlja Windows peskovnik kao dostupnu funkciju. Istovremeno, jedna zvanična diskusija OpenAI-ja na GitHub-u, stara četiri meseca, pozivala je korisnike da testiraju „veoma eksperimentalni“ Windows peskovnik i navodila ograničenja u vezi s direktorijumima otvorenim za upis svima. Odbranljiv zaključak nije da je jedna platforma univerzalno jača u svakom scenariju. Odbranljiv zaključak je da stvarni rizik zavisi od trenutnog ponašanja sprovođenja pravila, korišćene konfiguracije i okolnih granica poverenja. (Anthropic)

Pejzaž pretnji

Širi pejzaž pretnji takođe podržava konzervativan stav. Rizik od korišćenja AI-ja je stvaran i tek se pojavljuje, ali stari bezbednosni problemi nisu nestali. Kompromitovanje lanca snabdevanja i dalje je jedan od najmoćnijih napadačkih puteva u savremenom razvoju. Nedavni izveštaji o kompromitovanju Trivy-ja opisivali su napade koji su pogodili distribuciju vezanu za GitHub, a zatim se proširili na Docker slike i dodatne repozitorijume, još jednom pokazujući da pouzdani razvojni alati mogu postati vektor napada. AI agenti ne zamenjuju taj rizik. U mnogim okruženjima mogu ga pojačati, jer ubrzavaju preuzimanje koda, korišćenje zavisnosti i automatizovane radnje brže nego što ih ljudi stignu da pregledaju. (BleepingComputer)

Rizik po poverljivost zaslužuje poseban naglasak, jer mnogi i dalje rizik AI programiranja shvataju uglavnom kao slučajan kvar. Bolji okvir je da je kvar donja granica problema. Eksfiltracija je teži slučaj. NVD opisuje CVE-2025–32711, koji pogađa Microsoft 365 Copilot, kao AI problem ubrizgavanja komandi koji neovlašćenom napadaču omogućava da otkrije informacije preko mreže. Taj primer se ne odnosi konkretno na agente za programiranje, ali je veoma relevantan jer pokazuje da su otkazivanja poverljivosti vođena promptovima arhitektonska, a ne hipotetička. Čim sistem može da obrađuje nepouzdane ulaze, pristupa osetljivom kontekstu i komunicira prema spolja, same meke kontrole očigledno nisu dovoljne. (NVD)

Odgovor je dosadan…

Kad je reč o integritetu koda, odgovor ostaje umirujuće dosadan. Koristite iste kontrole koje bi već trebalo da postoje za ljude:

I OWASP i NIST upućuju u istom pravcu: upravljanje, granice poverenja, kontrola otkrivanja podataka i zaštite prilagođene kontekstu važniji su od pretpostavke da će se akter, čovek ili AI, dobro ponašati pod pritiskom. (OWASP Foundation)

AI treba voditi kao sposobnog, ali omašivog operatera, s kontrolama definisanim pristupom, a ne pretpostavljenom namerom.

Moja praktična preporuka je jednostavna. Pretpostavite da će meke kontrole otkazati. Smestite agenta u najmanju praktičnu granicu poverenja. Pristup produkciji, vredne kredencijale i širok interni domet držite izvan te granice. Podrazumevano uskratite mrežu, a otvarajte je samo izuzetno. Zadržite iste kompenzacione kontrole koje biste tražili od sposobnog, ali omašivog ljudskog operatera. A čovek može napraviti razarajuću grešku kad je umoran, u žurbi ili zbunjen. AI agent može napraviti istu grešku brže i u većem obimu. Filozofija kontrole stoga treba da bude ista, samo stroža tamo gde autonomija i brzina povećavaju uticaj. (OpenAI Developers)

Zrelo stanovište nije ni „AI je jedinstveno opasan“ ni „AI je samo još jedan alat“. AI agenti za programiranje su operateri visoke varijanse ugrađeni u postojeće sisteme poverenja. To znači da zaslužuju iste kontrole koje primenjujemo na moćne ljude, plus dodatne kontrole za prompt injection, eksfiltraciju i poluautonomno izvršavanje. Najpre čvrste kontrole. Meke tek posle toga. Sve ostalo je optimizam obučen u bezbednost. (OWASP Foundation)

Završni ilustrativan slučaj

Komad mesa je sve uradio kako treba. Lep CLAUDE.md. Lepe veštine. Lep, bezbedan prompt. Ništa preterano — samo: „očisti tok isporuke, ukloni zastarele korake i uskladi staging i produkciju.“

I AI je uradio upravo to.

Pronašao je staru skriptu koju je jedan pipeline još pominjao, video da produkcija i staging koriste malo različitu logiku čišćenja, zaključio da je to neuredno, oba prebacio na istu, noviju putanju, uklonio ono što je izgledalo kao dupli artefakti i susretljivo ponovo pokrenuo posao da bi izmena „čisto stupila na snagu“. Vrlo uredno. Vrlo racionalno. I, nažalost, „zastareli“ korak koji je uklonio bio je upravo onaj koji je tiho sprečavao da se razarajuće čišćenje izvrši nad produkcijskom putanjom skladišta.

AI nije imao piva, umora, ega ni loših namera. Samo pristup za čitanje, pristup za izmene, pristup školjci i nevino mašinsko uverenje da je dosledno uvek bolje.

To je poenta: komad mesa je zabrljao na ljudski način, AI je zabrljao na mašinski način, a sve meke kontrole sveta ipak nisu mogle da spreče ljubaznog malog ne-komada-mesa da produkciju sredi u mesto zločina.

Ova stranica je potpuna kopija priče onako kako je objavljena na Medium-u. Pročitajte na Medium-u. Ilustracije su generisane pomoću AI.