Prompt injection u jqwiku razotkrio slabu točku AI coding agenata
AI agent čita repozitorij kao operativni kontekst, a ne samo kao kod.📷 AI-generated image / TECH&SPACE
- ★Skrivena uputa u jqwiku navodno je ciljala AI coding agente i tražila brisanje izlaza aplikacije.
- ★Rizik nije u kompajleru, nego u tome što agenti mogu zamijeniti tekst iz repozitorija za operativnu naredbu.
- ★AI razvojni alati trebaju sandbox, ograničene dozvole i potvrdu prije destruktivnih akcija.
Važno je ne pretvoriti ovaj slučaj u pogrešnu vrstu panike. Ovo nije opis klasičnog napada na kompajler, memoriju, autentikaciju ili zlonamjerni binarni paket. Oštriji problem je semantički. Ako agent čita komentare, testne podatke, README fragmente ili tekstualne artefakte iz repozitorija, taj tekst može postati više od dokumentacije. Može postati instrukcija sustavu koji ima pristup datotekama, build izlazu, testovima ili terminalu.
Upravo zato je jqwik zanimljiv kao signal. Alat je dio Java razvojnog ekosustava, a njegov javni repozitorij postoji na GitHubu. Kada se takav projekt koristi kao kontekst za agenta, granica povjerenja ne završava na izvornom kodu. Ona uključuje povijest izmjena, review disciplinu, tekst u testovima i sve što agent može pročitati prije nego što predloži ili izvrši sljedeći korak.
Skrivena uputa u Java alatu za property-based testiranje navodno je agentima nalagala brisanje izlaza aplikacije, što problem pomiče iz chata u sam repozitorij.
Skrivena uputa u diffu pretvara review u sigurnosni problem.📷 AI-generated image / TECH&SPACE
Izraz vibe coding ovdje nije samo internetska naljepnica. On opisuje način rada u kojem programer snažno prepušta AI alatu generiranje, izmjene i interpretaciju koda, često brže nego što bi išao ručni pregled. Takav pristup može biti koristan, ali se raspada ako agent ne razlikuje namjeru vlasnika projekta od teksta koji je netko sakrio u kodnoj bazi. OWASP LLM Top 10 prompt injection opisuje upravo kao problem miješanja podataka i naredbi.
Neugodna lekcija je da razvojni agenti više nisu pasivni autocomplete. Mogu čitati cijele repozitorije, predlagati patcheve, pokretati testove i, u nekim konfiguracijama, izvršavati naredbe u radnom okruženju. Time se sigurnosna granica seli iz chatbot prozora u lokalni worktree, CI skripte i open-source ovisnosti. Repozitorij prestaje biti samo ulazni materijal; postaje potencijalni napadački sloj.
Praktičan zaključak nije zabrana AI asistencije u programiranju. Zaključak je da agent ne smije dobiti implicitno povjerenje samo zato što radi unutar poznatog IDE-a ili poznatog projekta. Potrebne su ograničene dozvole, sandbox za radne datoteke, jasna potvrda prije brisanja ili prepisivanja izlaza te filtri koji tekst iz koda ne pretvaraju automatski u operativnu naredbu. Ako alat može obrisati output zato što je takvu rečenicu pronašao u repozitoriju, skrivena poruka je samo simptom. Arhitektura povjerenja oko agenta je stvarni problem.

