Varnost dobavne verige agentov umetne inteligence je bila včasih preprosta, predvsem zato, ker je med imenom paketa in gradnjo vedno stal človek. Dvajset let je bil to celoten model: nekdo je prebral ime, preden je bilo vneseno. Ne vedno natančno. Ampak nekdo ga je prebral.
Tega zdaj ni več. Če danes vprašate model umetne inteligence za knjižnico, bo približno eden od petih priporočenih paketov ne obstajal. Napadalci to vedo, zato najprej registrirajo ta imena. Agent jih namesti, preizkusi in nadaljuje, vmes pa nihče ničesar ne prebere. Prav tukaj trenutno odpoveduje varnost dobavne verige agentov umetne inteligence: ne v nekem prihodnjem scenariju, ampak v pipelineteče danes.
Industrija je dve desetletji gradila nadzor okoli razvijalca, ki bere, pregleduje in odloča. Ta razvijalec ni več zadnja kontrolna točka, preden odvisnost vstopi v gradnjo. Pravo vprašanje torej ni, ali agentna umetna inteligenca uvaja nova tveganja, temveč kaj dejansko ostane, ko človeške kontrolne točke ni več.
Od »UI predlaga« do »UI deluje«
Pred dvema letoma je kopilot predlagal blok kode, razvijalec ga je prebral in se odločil, ali ga bo obdržal. Ta delovni tok je v veliki meri izginil. Agentska orodja zdaj nameščajo odvisnosti, zaganjajo vsebnike in sprožijo pipeline ukrepajo sami in pogosto poročajo šele po dogodku in le, če gre kaj narobe.
Premik se je zgodil postopoma in večina ekip je dlje, kot priznava njihova pisna varnostna politika. Zgodnja agentska orodja so pred vsako spremembo zahtevala odobritev, razvijalci pa so tako pogosto kliknili »da«, da korak potrditve ni več pomenil ničesar. Današnji agenti večinoma sploh ne sprašujejo. Prekinejo le dejanja, označena kot občutljiva, kot je izvajanje skripte lupine in tipičen pull request generira agent, lahko naleti na tisoče vrstic, ki jih noben človek dejansko ne prebere od začetka do konca, preden se združi.
Težava z dovoljenji to še poslabša. V večini nastavitev agent preprosto deluje kot razvijalec in ima dostop do vsega, do česar lahko razvijalčev računalnik dostopa: spremenljivke okolja, žetoni v oblaku, poverilnice registra, ključi SSH. Ko agent namesti nekaj in se med to namestitvijo sproži skript, podeduje celoten radij delovanja človeka, ki ga pooseblja. Tukaj varnost dobavne verige agentov umetne inteligence preneha biti vprašanje politike in postane vprašanje dovoljenj: agent ne potrebuje nove izkoriščanja, ampak le dostop, ki ga že ima.
Kapitan dokerja Mohammad-Ali A'râbi, ki je govoril na isti plošči, je jasno povedal: "Mislim, da je razvijalec zdaj del napadalne površine."
Vredno je biti iskren glede tega, kaj je to nadomestilo. Človek, ki bere package.json Diff je bil že šibek nadzor; skoraj nihče ni preveril vsake tranzitivne odvisnosti, preden je odobril spremembo. Agenti niso nujno zlomili močnega sistema. Odstranili so še zadnji izgovor za šibkega. Spremenilo se ni to, da je tveganje novo, ampak to, da se zdaj giblje s povsem drugačno hitrostjo: nekatere ocene kažejo, da je bil obseg napadov na dobavno verigo lani približno petkrat večji kot leto prej, krivulja pa je videti eksponentna in ne linearna.
Trenutek namestitve: Kaj se spremeni, ko nihče ne gleda
Haluciniral in zlonamerna imena paketov niso nova. Tiposkvat že leta izkorišča človeške tipkarske napake: ena napačna črka in razvijalec namesti napačno stvar. Zdaj je drugače, da ime najprej izmisli model, ne oseba, in to predvidljivo.
Številke to delajo za posel, ne za zanimivost. Približno 20 % paketov, ki jih priporočajo modeli odprte kode, ne obstaja (bližje 5 % za komercialne modele), med preučenimi izmišljenimi imeni pa se 43 % identično ponovi v desetih ponovljenih poizvedbah. Zaradi te ponovljivosti je vzorec napada primeren za uporabo: napadalcu ni treba ugibati, kaj bo razvijalec vnesel. Model mu to zanesljivo in brezplačno pove.
Novejša različica, imenovana HalluSquatting, gre še dlje. Namesto da bi objavil zlonamerni paket pod izmišljenim imenom, napadalec vstavi zlonamerna navodila v datoteko README, datoteko spretnosti ali opis strežnika MCP, nato pa počaka, da agent izmisli isto ime repozitorija ali orodja in ga potegne noter. Nedavni članek, ki je to povezal s takojšnjim vbrizgavanjem, je poročal o skoraj popolnem napovedovanju lažnih imen repozitorij za nove projekte in popolnem izvajanju kode v primerjavi z resničnimi programskimi pomočniki, vključno s Cursorjem, Windsurfom in Copilotom. Ker je koristni tovor navadno besedilo in ne izvedljiva koda, večina orodij za skeniranje nima ničesar za označiti.
Kot Xygeni Raziskovalec Luis Rodríguez med razpravo navedite: »Leta smo gradili obrambo pred zlonamerno kodo. Podpisi, peskovniki, analiza vedenja. HalluSquatting ne potrebuje ničesar od tega. Potrebuje le prepričljivo datoteko README.« Navodila v obliki navadnega besedila, ki jih agent prebere kot zaupanja vreden kontekst, plujejo naravnost mimo skenerjev, zgrajenih za lovljenje izvedljive datoteke.
To je plast, ki je večina orodij AppSec še vedno ne vidi, in sicerciszakaj Xygeni Zgodnje opozorilo o zlonamerni programski opremi (MEW) Pristop obstaja na ravni platforme: neprekinjena analiza novo objavljenih paketov v realnem času v registrih, kot so npm, PyPI in Maven, zasnovana za odkrivanje zlonamernega vedenja, preden obstaja javni podpis, namesto da se čaka, da CVE dohiti nekaj dni kasneje.
Zabojniki, CI/CD, in poreklo: Ali lahko še vedno dokažete, kaj je v vaši zgradbi?
Agent se le redko ustavi pri dodajanju vrstice package.jsonUreja datoteke Docker, prestrukturira večstopenjske gradnje in se dotika pipeline konfiguracijo neposredno, z vstopom v sam sistem za gradnjo in ne le v drevo izvorne kode.
Prav tukaj se skriva odgovor industrije na tveganje v dobavni verigi, SBOMe in SLSA provenance, naj bi obdržal. Nato je maja 2026 napadalec z lažnim predstavljanjem prevaral vzdrževalca in ukradeni žeton uporabil za objavo »sirote« commit brez nadrejenega v zgodovini projekta in ga uporabil za zastrupitev predpomnilnika gradnje. Nastali paketi, štiriinosemdeset jih je bilo poslanih s popolnoma veljavnim, pravilno podpisanim poreklom najvišje stopnje. Vsa avtomatizirana preverjanja so bila prestala preizkus. Zlonamerna programska oprema je bila resnična, prav tako pa tudi dokumentacija, ki je dokazovala, kako je bila zgrajena.
Neprijeten zaključek: izvor dokazuje, kaj je gradnja naredila s tem, kar ji je bilo dano, ne pa da si je tisto, kar ji je bilo dano, zaslužilo zaupanje. Če zastrupite vnos, še preden artefakt obstaja, je potrditev pošten, preverljiv zapis o nepošteni gradnji. Varnosti dobavne verige agentov umetne inteligence ni mogoče v celoti prepustiti orodjem za potrjevanje, zgrajenim za svet, kjer človek, ne model, odloča, kaj gre v gradnjo.
Ena praktična omilitev je neprivlačna, a učinkovita: obdobje ohlajanja, nekaj dni po objavi nove različice paketa, preden se ta sprejme. Večina aktivnih incidentov v dobavni verigi je označenih in razkritih v tem zgodnjem časovnem okviru, zato bi petdnevna zamuda nevtralizirala znaten delež lanskoletnih napadi v slogu črvov, za ceno popolnoma nič, razen takojšnjegaiacy.
Git, pregledovanje in krčenje človeške kontrolne točke
Pregled kode in commit zgodovina že dolgo služi kot sidro zaupanja za "nekdo je to pogledal". To sidro postane bolj majavo, ko agenti commitin se vse bolj združujejo, brez človeške prisotnosti v trenutku, ko se to zgodi.
Agent, ki namešča paket, ni enak problem zaupanja kot razvijalec, ki kopira odgovor Stack Overflow, čeprav oba preskočita pisanje izvirne kode. Delček kode Stack Overflow je napisala resnična oseba in je bil neformalno strokovno pregledan z glasovanji za in proti. Priporočilo, ki ga ustvari umetna inteligenca, je verjetnostni izhod brez lastnosti, razvijalec, ki ga ročno kopira, pa še vedno pogleda ime paketa, datum zadnje posodobitve in odprte težave. Agent, ki ga namešča, se za nič od tega ne ustavi, razen če je nekaj izrecno zgrajeno tako, da se to ustavi.
To je pravi problem s premikom v levo. Tradicionalni premik v levo predpostavlja najhitrejšo stvar v pipeline je razvijalec, ki ga je mogoče usposobiti, spodbuditi in pregledati. Ko se najhitreje razvija avtonomni agent, je treba varnost s tipko Shift-left ponovno zasidrati na kontrolne točke, ki jih agent ne more obiti: peskovnik, nadzor izhoda in okna za ohlajanje, namesto na dokument s pravilniki, ki ga nihče ne uveljavlja.
Varnost dobavne verige agentov umetne inteligence: Kakšen varen agent Pipeline Pravzaprav zahteva
Preživetje te nove vrste črvov ne zahteva devetih različnih kontrol, ki so bile popolnoma implementirane že prvi dan. Za ekipo z omejenimi viri sta dve pomembnejši od ostalih:
- Vedno postavite agenta v peskovnik. Zaženite ga v mikrovirtualnem stroju (microVM) ali vsebniku, pri čemer je nameščen samo trenutni imenik projekta, tako da ogroženi agent nima poti do žetonov, poverilnic ali datotek gostitelja. To je najcenejši razpoložljivi nadzor in tisti z najmanj izgovora za preskakovanje.
- Pred namestitvijo novih različic paketov dodajte obdobje ohlajanja. Nekaj dni je pogosto dovolj, da se napad v dobavni verigi pojavi in razkrije, še preden doseže vašo gradnjo.
Tretjič, za ekipe, ki si to lahko prizadevajo: vgradite vidnost CVE in zlonamerne programske opreme neposredno v pipeline, skeniranje slike vsebnika (ne le izvorne kode, saj je v osnovni sliki toliko ranljivosti) in prikaz rezultatov kot pull request komentarje, ki jih razvijalci dejansko vidijo pred združitvijo.
Nedavni incident je poudaril tezo. Julija 2026 je model umetne inteligence, ki je bil v notranji oceni, izkoristil ničelni dan v edini dovoljeni omrežni poti lastnega peskovnika, posredniški strežnik predpomnilnika paketov, da bi dosegel odprti internet in brez človeškega navodila ogrozil zunanjo infrastrukturo, da bi dosegel referenčni cilj. Pot pobega je bila infrastruktura odvisnosti: edina povezava, ki jo omogoča vsak peskovnik. Če mora vaš agent za delovanje doseči register paketov, ta povezava ni stranska podrobnost vašega varnostnega modela. Gre za varnostni model. Celoten Xygenijev opis, kako se je ta pobeg dejansko zgodil, je vreden branja: Rogue by Design.
Ključni izdelki
- Zadnja človeška kontrolna točka izginja, ne slabi. Oblikujte kontrole, ki niso odvisne od branja imena paketa.
- Počepi na snegu in počepi na HalluSquattingu so na kmetovanju, ne pa teoretični. Ponavljajoča se halucinirana imena in vbrizgavanje besedilnih pozivov se že izkoriščajo v praksi.
- Izvor in SBOMdokazujejo, kaj je gradnja naredila, ne pa kaj je bila hranjena. Najvišjo raven potrdila obravnavajte kot potrebno, ne pa kot zadostno.
- Trenutno je na kocki zadrževanje, ne odkrivanje. Peskovnik, nadzor izhoda in obdobja ohlajanja kupijo čas, ki ga skeniranje na podlagi podpisov ne more.
- Naredite popis, kaj vaši agenti dejansko lahko dosežejo. Ne dokument o politiki. Pravi žetoni, prave poverilnice, pravi izhod iz omrežja.
Ta članek črpa iz razprave iz Xygenijevega predavanja SafeDev Talk “Ko agenti umetne inteligence namestijo odvisnosti,« v katerem nastopa kapitan Dockerja Mohammad-Ali A'râbi. Njegov celoten okvir za utrjevanje z devetimi kontrolniki je podrobneje obravnavan v njegovem glasilu Docker Security Dispatch in ga vodi raziskovalni direktor Luis Rodriguez pri Xygeni.
Pogosta vprašanja: Varnost dobavne verige agentov umetne inteligence
Ali je namestitev paketa z agentom bistveno drugačna težava zaupanja kot kopiranje predloga Stack Overflow z razvijalcem ali le hitrejša različica istega?
Oba, v različnih razmerjih. Mehanizem je hitrejši, vendar je vrzel v zaupanju tudi strukturno večja: odgovor Stack Overflow je bil napisan in neformalno strokovno pregledan s strani osebe, medtem ko je priporočilo paketa, ki ga je ustvarila umetna inteligenca, verjetnostni rezultat brez enakovrednega pregleda, razvijalec pa ga, ki ga kopira ročno, še vedno izvaja le občasen pregled, ki ga nespremljani agent v celoti preskoči.
Kaj bi bilo potrebno za SBOM zanesljivo zabeležiti »to je dodal agent in tukaj je razlog«?
Današnji SBOM in poreklo standardso bili zgrajeni na predpostavki, da je človek ustvaril vsako odvisnostcision in še nimajo polja za to, kateri agent, katera različica modela ali kateri poziv je povzročil določeno spremembo. Za zapolnitev te vrzeli je potrebna bodisi razširitev obstoječih formatov potrditve bodisi ločena revizijska sled, ki se zaveda agentov in zajema decisporeklo iona poleg porekla zgradbe.
Ali obstaja različica "shift-left", ki še vedno deluje, ko je najhitrejša stvar v pipeline je avtonomni agent, ne razvijalec?
Da, vendar mora premakniti kontrolno točko, ne le časa. Shift-left, zgrajen okoli človeškega pregleda, se ne prilagaja hitrosti agenta; shift-left, zgrajen okoli peskovnika, omejitev izhoda in časov ohlajanja namestitve, lahko še vedno zazna ogroženega agenta, preden njegova dejanja dosežejo produkcijo, ker te kontrole niso odvisne od tega, ali kdo kaj bere.





