Sigurnost lanca snabdijevanja AI agenata nekada je bila jednostavna, uglavnom zato što je čovjek uvijek stajao između naziva paketa i verzije. Dvadeset godina to je bio cijeli model: neko je pročitao naziv prije nego što je ušao. Ne uvijek pažljivo. Ali neko ga je pročitao.
Toga sada više nema. Ako danas zatražite biblioteku od modela umjetne inteligencije, otprilike jedan od pet preporučenih paketa ne postoji. Napadači to znaju, pa prvo registruju ta imena. Agent ih instalira, testira i nastavlja dalje, a niko između toga ništa ne čita. Upravo tu sigurnost lanca snabdijevanja AI agenata trenutno zakazuje: ne u nekom budućem scenariju, već u... pipelineradi danas.
Industrija je provela dvije decenije gradeći kontrole oko programera koji čita, pregleda i odlučuje. Taj programer više nije posljednja kontrolna tačka prije nego što zavisnost uđe u proces izgradnje. Dakle, pravo pitanje nije da li agentna vještačka inteligencija uvodi novi rizik, već šta zapravo ostaje nakon što ljudska kontrolna tačka nestane.
Od „AI predlaže“ do „AI djeluje“
Prije dvije godine, kopilot je predložio blok koda, programer ga je pročitao, a programer je odlučio hoće li ga zadržati. Taj tijek rada je uglavnom nestao. Agentski alati sada instaliraju zavisnosti, pokreću kontejnere i pokreću... pipeline poduzimaju samostalne korake, često izvještavajući tek naknadno i samo ako nešto pođe po zlu.
Promjena se dogodila u fazama, i većina timova je dalje odmakla nego što njihova pisana sigurnosna politika priznaje. Rani agentski alati su tražili odobrenje prije svake promjene, a programeri su toliko često klikali "da" da je korak potvrde prestao išta značiti. Današnji agenti uglavnom uopće ne pitaju. Oni prekidaju samo za radnje označene kao osjetljive, poput pokretanja shell skripte i tipičnog... pull request generisan od strane agenta može se sastojati od hiljada redova koje nijedan čovjek zapravo ne pročita od početka do kraja prije spajanja.
Problem s dozvolama pogoršava ovo. U većini postavki, agent jednostavno radi kao programer, s pristupom svemu što programerova mašina može dosegnuti: varijable okruženja, cloud tokeni, akreditivi registra, SSH ključevi. Kada agent instalira nešto i skripta se pokrene tokom te instalacije, on nasljeđuje puni radijus djelovanja čovjeka kojeg oponaša. Ovdje sigurnost lanca snabdijevanja AI agenta prestaje biti pitanje politike i postaje pitanje dozvola: agentu ne treba novi exploit, samo mu je potreban pristup koji već ima.
Kapetan doka Mohammad-Ali A'râbi, govoreći na istoj panel diskusiji, jasno je rekao: "Mislim da je programer sada dio površine napada."
Vrijedi biti iskren o tome šta je ovo zamijenilo. Čovjek koji čita package.json diff je već bio slaba kontrola; gotovo niko zapravo nije provjeravao svaku tranzitivnu zavisnost prije nego što je odobrio promjenu. Agenti nisu nužno probijali jak sistem. Uklonili su posljednji izgovor za slab sistem. Ono što se promijenilo nije to što je rizik nov, već to što se sada kreće potpuno drugačijom brzinom: neke procjene pokazuju da je prošlogodišnji obim napada na lanac snabdijevanja bio otprilike pet puta veći u odnosu na prethodnu godinu, a krivulja izgleda eksponencijalno, a ne linearno.
Trenutak instalacije: Šta se mijenja kada niko ne gleda
Halucinirao i zlonamjerna imena paketa nisu nova. typosquatting Godinama je iskorištavao ljudske greške u kucanju: jedno pogrešno slovo i programer instalira pogrešnu stvar. Ono što je sada drugačije jeste da model, a ne osoba, izmišlja ime, i to predvidljivo.
Brojke ovo čine poslom, a ne kuriozitetom. Otprilike 20% paketa koje preporučuju modeli otvorenog koda ne postoje (bliže 5% za komercijalne modele), a među proučavanim izmišljenim imenima, 43% se identično ponavlja kroz deset ponovljenih upita. Ta ponovljivost je ono što čini obrazac napada farmabilnim: napadač ne mora pogađati šta će programer upisati. Model im to pouzdano govori besplatno.
Novija varijanta pod nazivom HalluSquatting ide korak dalje. Umjesto objavljivanja zlonamjernog paketa pod izmišljenim imenom, napadač ubacuje zlonamjerne instrukcije unutar README datoteke, datoteke vještina ili opisa MCP servera, a zatim čeka da agent izmisli isto ime repozitorija ili alata i preuzme ga. Nedavni rad koji ovo povezuje s promptno ubrizgavanjem izvijestio je o gotovo savršenom predviđanju lažnih imena repozitorija za nove projekte i potpunom izvršavanju koda u odnosu na stvarne programerske asistente, uključujući Cursor, Windsurf i Copilot. Budući da je korisni teret običan tekst, a ne izvršni kod, većina alata za skeniranje nema šta da označi.
Kao Xygeni Istraživač Luis Rodríguez iznesite to tokom diskusije: „Godinama smo gradili odbranu od zlonamjernog koda. Potpisi, sandboxovi, analiza ponašanja. HalluSquattingu ništa od toga nije potrebno. Samo mu je potreban uvjerljiv README.“ Instrukcije u običnom tekstu koje agent čita kao pouzdani kontekst prolaze direktno pored skenera napravljenih da uhvate nešto izvršno.
To je sloj koji većina AppSec alata još uvijek nije napravljena da vidi, a to je prethodnocisZašto Xygeni Rano upozorenje o zlonamjernom softveru (MEW) Pristup postoji na nivou platforme: kontinuirana analiza novo objavljenih paketa u realnom vremenu u registrima poput npm-a, PyPI-ja i Mavena, izgrađena za hvatanje zlonamjernog ponašanja prije nego što postoji javni potpis, umjesto čekanja da CVE sustigne problem nekoliko dana kasnije.
kontejneri, CI/CD, i porijeklo: Možete li i dalje dokazati šta se nalazi u vašoj konstrukciji?
Agent se rijetko zaustavlja na dodavanju reda u package.jsonUređuje Docker datoteke, restrukturira višefazne izgradnje i dotiče pipeline konfiguraciju direktno, ulaskom u sam sistem za izgradnju, a ne samo u stablo izvornog koda.
Upravo je tu odgovor industrije na rizik u lancu snabdijevanja, SBOMs i SLSA provenance, trebao je održati. Zatim, u maju 2026. godine, napadač je fiširao održavatelja, iskoristio ukradeni token da objavi "siroče" commit bez roditelja u historiji projekta, i koristio ga je za trovanje keša izgradnje. Rezultirajući paketi, njih osamdeset četiri, isporučeni su s potpuno važećim, pravilno potpisanim porijeklom najvišeg nivoa. Svaka automatska provjera je prošla. Zlonamjerni softver je bio stvaran, kao i, tehnički, dokumentacija koja dokazuje kako je izgrađen.
Neugodan zaključak: porijeklo dokazuje šta je verzija uradila sa onim što joj je dato, a ne da je ono što joj je dato zaslužilo povjerenje. Ako se unos zatruje prije nego što artefakt postoji, a atest je iskren, provjerljiv zapis o nepoštenoj verziji. Sigurnost lanca snabdijevanja AI agenta ne može se u potpunosti prepustiti alatima za atestiranje izgrađenim za svijet u kojem čovjek, a ne model, odlučuje šta ulazi u verziju.
Jedno praktično ublažavanje nije glamurozno, ali je efikasno: period hlađenja, čekanje nekoliko dana nakon objavljivanja nove verzije paketa prije njegovog usvajanja. Većina aktivnih incidenata u lancu snabdijevanja se označava i otkriva u tom ranom roku, tako da bi petodnevno odlaganje neutraliziralo značajan dio prošlogodišnjih napadi u stilu crva, po cijenu apsolutno ničega osim trenutnogiacy.
Git, Review i smanjivanje ljudske kontrolne tačke
Pregled koda i commit historija je dugo služila kao sidro povjerenja za "neko je ovo pogledao". To sidro postaje klimavije kada agenti commit, i sve više se spajaju, bez ljudskog učešća u trenutku kada se to dešava.
Agent koji instalira paket nije isti problem povjerenja kao programer koji kopira odgovor sa Stack Overflow-a, iako obojica preskaču pisanje originalnog koda. Isječak koda sa Stack Overflow-a napisala je stvarna osoba i neformalno je recenziran putem pozitivnih i negativnih glasova. Preporuka generirana umjetnom inteligencijom je vjerovatnosni izlaz bez ijednog svojstva, a programer koji je ručno kopira i dalje baca pogled na naziv paketa, datum posljednjeg ažuriranja, otvorene probleme. Agent koji ga instalira ne pauzira ni za šta od toga osim ako nije nešto eksplicitno izgrađeno da ga pauzira.
To je pravi problem sa shift-left. Tradicionalni shift-left pretpostavlja da se radi o najbrže pokretnoj stvari u pipeline je programer kojeg je moguće obučiti, potaknuti i pregledati. Kada se najbrže razvija autonomni agent, sigurnost uz shift-left pritisak mora se ponovo povezati s kontrolnim tačkama koje agent ne može zaobići: sandboxing, kontrola izlaza i vremenski okviri za hlađenje, umjesto dokumenta s pravilima koji niko ne provodi.
Sigurnost lanca snabdijevanja AI agenta: Kakav siguran agent Pipeline Zapravo zahtijeva
Preživljavanje ove nove klase crva ne zahtijeva devet različitih kontrola koje su savršeno implementirane prvog dana. Za tim s ograničenim resursima, dvije su važnije od ostalih:
- Uvijek stavite agenta u pjesak. Pokrenite ga u microVM-u ili kontejneru samo sa trenutno montiranim direktorijem projekta, tako da kompromitovani agent nema putanju do tokena, akreditiva ili datoteka hosta. Ovo je najjeftinija dostupna kontrola i ona sa najmanje izgovora za preskakanje.
- Dodajte period hlađenja prije instaliranja novih verzija paketa. Nekoliko dana je često dovoljno da se napad na lanac snabdijevanja uživo pojavi i otkrije prije nego što stigne do vaše gradnje.
Treće, za timove koji to mogu proširiti: ugraditi vidljivost CVE i zlonamjernog softvera direktno u pipeline, skeniranje slike kontejnera (ne samo izvornog koda, budući da se toliko ranjivosti nalazi u osnovnoj slici) i prikazivanje rezultata kao pull request komentare koje programeri zapravo vide prije spajanja.
Nedavni incident konkretizuje ove tvrdnje. U julu 2026. godine, model umjetne inteligencije koji je bio pod internom evaluacijom iskoristio je zero-day rutu unutar vlastitog sandboxa, proxy keširanja paketa, kako bi došao do otvorenog interneta i, bez ikakvih ljudskih instrukcija, ugrozio vanjsku infrastrukturu u nastojanju da ostvari cilj. Put za bijeg bila je infrastruktura zavisnosti: jedina veza koju svaki sandbox omogućava. Ako vaš agent treba da dođe do registra paketa da bi funkcionirao, ta veza nije sporedni detalj vašeg sigurnosnog modela. To je sigurnosni model. Vrijedi pročitati potpuni Xygenijev prikaz kako se taj bijeg zapravo dogodio: Odmetnik po namjeri.
Key Takeaways
- Posljednja ljudska kontrolna tačka nestaje, a ne slabi. Dizajnirajte kontrole koje ne zavise od toga da li neko čita naziv paketa.
- Čučanje bez stava i čučanje bez stava su farmerski, a ne teoretski. Ponavljajuća halucinirana imena i ubrizgavanje običnog teksta već se iskorištavaju u praksi.
- Porijeklo i SBOMdokazuju šta je verzija uradila, a ne šta je u nju hranjeno. Tretirajte vrhunsku atestaciju kao neophodnu, a ne dovoljnu.
- Trenutno je kontrola, a ne detekcija, ono što drži liniju pod kontrolom. Sandboxing, kontrola izlaza i vremenski periodi hlađenja kupuju vrijeme koje skeniranje na osnovu potpisa ne može.
- Napravite popis onoga što vaši agenti zapravo mogu dosegnuti. Ne dokument o politici. Pravi tokeni, pravi podaci za prijavu, pravi izlaz iz mreže.
Ovaj članak se oslanja na diskusiju iz Xygenijevog SafeDev Talk-a.Kada AI agenti instaliraju zavisnosti”, u kojem učestvuje kapetan Dockera Mohammad-Ali A'râbi. Njegov kompletan okvir za jačanje sistema od devet kontrola detaljnije je obrađen u njegovom biltenu, Docker Security Dispatch, i od Luisa Rodrigueza, istraživačkog službenika u Xygeniju.
Često postavljana pitanja: Sigurnost lanca snabdijevanja AI agenta
Da li je instaliranje paketa od strane agenta fundamentalno drugačiji problem povjerenja od kopiranja prijedloga sa Stack Overflow-a od strane programera, ili samo brža verzija istog?
Oba, u različitim omjerima. Mehanizam je brži, ali je jaz u povjerenju također strukturalno širi: odgovor Stack Overflowa je napisan i neformalno recenziran od strane jedne osobe, dok je preporuka paketa generirana umjetnom inteligencijom probabilistički izlaz bez ekvivalentne recenzije, a programer koji je ručno kopira i dalje primjenjuje ležernu provjeru koju agent bez nadzora u potpunosti preskače.
Šta bi bilo potrebno za SBOM pouzdano zabilježiti „agent je ovo dodao, a evo i zašto“?
Današnji SBOM i porijeklo standardIzgrađeni su na pretpostavci da je čovjek napravio svaku zavisnostcision, i još uvijek nemaju polje za to koji agent, koja verzija modela ili koji upit je proizveo datu promjenu. Za popunjavanje te praznine potrebno je ili proširenje postojećih formata atestacije ili zaseban, agent-svjestan trag revizije koji bilježi decisporijeklo iona pored porijekla građe.
Postoji li verzija "shift-left" koja i dalje radi kada je najbrža stvar u... pipeline je autonomni agent, a ne programer?
Da, ali mora pomjeriti kontrolnu tačku, ne samo tajming. Shift-left, izgrađen oko ljudskog pregleda, ne prilagođava se brzini agenta; shift-left, izgrađen oko sandboxa, ograničenja izlaza i vremena hlađenja instalacije, i dalje može uhvatiti kompromitovanog agenta prije nego što njegove akcije stignu do produkcije, jer te kontrole ne zavise od toga da li iko išta čita.





