Sigurnosni istraživači otkrili su kako je zlonamjerna datoteka AGENTS.md, neprimjetno spremljena u korisnikovu mapu Downloads, navela AI programerskog agenta da instalira lažni npm paket. Pritom glavna slabost nije bila klasičan propust modela nego automatsko povjerenje u lokalne upute pronađene u radnom direktoriju.
Napadač je iskoristio ponašanje preglednika koji preuzetu datoteku može spremiti bez dodatne potvrde. Kada je korisnik poslije pokrenuo agenta nad sadržajem te mape, alat je AGENTS.md protumačio kao legitimna projektna pravila. Zlonamjerna uputa zatim je usmjerila agenta prema paketu koji je izgledao kao potrebna ovisnost, ali je služio napadaču.
AGENTS.md je tekstualni format kojim razvojni timovi agentima objašnjavaju strukturu projekta, naredbe za testiranje i lokalna pravila. Problem nastaje kada alat takvu datoteku tretira kao autoritativnu samo zato što se nalazi na disku. U tom modelu povjerenja web-stranica može posredno ostaviti naredbu za sustav koji će biti pokrenut tek kasnije.
Napad spaja dvije površine koje su se dosad često branile odvojeno: preglednik i razvojno okruženje. Sigurnosni filtar može dopustiti običnu Markdown datoteku jer ne sadrži izvršni kod, dok AI agent njezin sadržaj pretvara u radnju. Time se granica izvršavanja pomiče s binarne datoteke na prirodni jezik koji alat smatra operativnom uputom.
Najvažnija obrana je ograničiti pretraživanje instrukcijskih datoteka na eksplicitno odobren korijen projekta. Agent ne bi smio nasljeđivati pravila iz Downloads, privremenih mapa ili nadređenih direktorija bez jasne obavijesti. Korisniku treba prikazati izvor svake pronađene upute i zatražiti potvrdu kada se povjereni skup pravila promijeni.
Druga je kontrola razdvajanje čitanja od izvršavanja. Čak i ako agent analizira nepoznatu datoteku, instalacija paketa, pokretanje skripte i pristup vjerodajnicama trebaju zasebno odobrenje. Dopuštenja moraju biti vezana uz konkretnu naredbu i projekt, a ne uz opću potvrdu kojom agent dobiva trajni pristup ljusci i korisničkom profilu.
Za npm i druge registre potrebni su dopušteni popisi, zaključane verzije i provjera porijekla paketa. Slično ime legitimne ovisnosti više nije samo rizik za čovjeka koji tipka naredbu; agent može sam pronaći, odabrati i instalirati paket. Sustav za kontinuiranu integraciju zato mora ponoviti provjere neovisno o lokalnom agentu.
Dobavljači alata trebaju bilježiti lanac odluke: koju je datoteku agent pročitao, koja je uputa potaknula radnju i koju je naredbu izvršio. Bez takvog zapisa sigurnosni tim teško razlikuje korisničku namjeru od prompt injectiona. Dnevnik mora biti zaštićen od izmjene i dovoljno razumljiv da ga administrator može brzo pregledati tijekom incidenta.
Slučaj pokazuje da antivirus i skeniranje preuzimanja više nisu dovoljni ako se tekst može pretvoriti u naredbu kroz AI posrednika. Organizacije moraju u model prijetnji uključiti dokumente, repozitorije, poruke i web-sadržaj koji agent može čitati. Svaki od tih izvora može sadržavati skrivenu uputu koja pokušava nadjačati pravila sustava.
Sljedeći korak za razvojne timove jest popisati agente, njihove radne direktorije i ovlasti te testirati ponašanje s nepoznatim AGENTS.md datotekama. Popravak se može provjeriti jednostavno: alat mora upozoriti na novi izvor uputa i odbiti instalaciju paketa bez izričite potvrde. Ako to ne radi, rizik ostaje i nakon edukacije korisnika.
Razvojni timovi trebaju ukloniti stare vjerodajnice iz korisničkih profila jer agent s pristupom ljusci može pronaći tokene koje čovjek ne vidi. Najmanje ovlasti, kratkotrajni tokeni i izolirano okruženje ograničavaju štetu čak i kada zlonamjerna uputa prođe početni filtar.
Tvrtke trebaju u razvojnom okruženju zabraniti automatsko izvođenje skripti iz neprovjerenih repozitorija. Sigurnosna provjera mora obuhvatiti i tekstualne instrukcije jer upravo one određuju kako agent tumači sadržaj i koje alate bira.