Када АИ агенти инсталирају зависности

Безбедност ланца снабдевања вештачком интелигенцијом: Шта зауставља лошу зависност када је инсталирају вештачки агенти

Безбедност ланца снабдевања вештачке интелигенције некада је била једноставна, углавном зато што је човек увек стајао између имена пакета и верзије. Двадесет година, то је био цео модел: неко је прочитао име пре него што је ушао. Не увек пажљиво. Али неко га је прочитао.

Тога сада више нема. Данас, када питате модел вештачке интелигенције за библиотеку, отприлике један од пет препоручених пакета не постоји. Нападачи то знају, па прво региструју та имена. Агент их инсталира, тестира и наставља даље, а нико између тога ништа не чита. Управо ту безбедност ланца снабдевања агента вештачке интелигенције тренутно закаже: не у неком будућем сценарију, већ у... pipelineради данас.

Индустрија је провела две деценије градећи контроле око програмера који чита, прегледа и одлучује. Тај програмер више није последња контролна тачка пре него што зависност уђе у процес изградње. Дакле, право питање није да ли агентска вештачка интелигенција уводи нови ризик, већ шта заправо остаје када људска контролна тачка нестане.

Од „вештачка интелигенција предлаже“ до „вештачка интелигенција делује“

Пре две године, копилот је предложио блок кода, програмер га је прочитао, а програмер је одлучио да ли ће га задржати. Тај ток рада је углавном нестао. Агентски алати сада инсталирају зависности, покрећу контејнере и покрећу... pipeline предузимају самосталне кораке, често извештавајући тек након што се нешто догодило и само ако нешто крене наопако.

Промена се догодила у фазама, и већина тимова је даље одмакла него што њихова писана безбедносна политика признаје. Рани агентски алати су тражили одобрење пре сваке промене, а програмери су толико често кликтали на „да“ да је корак потврде престао да значи било шта. Данашњи агенти углавном уопште не питају. Они прекидају само за радње означене као осетљиве, попут покретања шел скрипте, и типичног pull request генерисано од стране агента може се наћи у хиљадама редова које ниједан човек заправо не прочита од почетка до краја пре спајања.

Проблем са дозволама ово погоршава. У већини подешавања, агент једноставно ради као програмер, са приступом свему што програмерова машина може да досегне: променљиве окружења, клауд токени, акредитиви регистра, SSH кључеви. Када агент инсталира нешто и скрипта се покрене током те инсталације, он наслеђује пуни радијус експлоатације човека кога имитира. Овде безбедност ланца снабдевања вештачке интелигенције престаје да буде питање политике и постаје питање дозвола: агенту није потребан нови експлоит, већ му је потребан само приступ који већ има.

Капетан дока Мохамед-Али А'раби, говорећи на истом панелу, јасно је рекао: „Мислим да је програмер сада део површине напада.“

Вреди бити искрен о томе шта је ово заменило. Човек који чита package.json diff је већ био слаба контрола; скоро нико заправо није верификовао сваку транзитивну зависност пре него што је одобрио промену. Агенти нису нужно разбијали јак систем. Уклонили су последњи изговор за слаб систем. Оно што се променило није то што је ризик нов, већ то што се сада креће потпуно другачијом брзином: неке процене процењују да је прошлогодишњи обим напада на ланац снабдевања био отприлике пет пута већи него годину раније, а крива изгледа експоненцијално, а не линеарно.

Тренутак инсталације: Шта се мења када нико не гледа

Халуцинирао и злонамерна имена пакета нису нова. Типоскуаттинг годинама је искоришћавао људске грешке у куцању: једно погрешно слово, и програмер инсталира погрешну ствар. Оно што је сада другачије јесте то што модел, а не особа, измишља име на првом месту, и то чини предвидљиво.

Бројке ово чине послом, а не куриозитетом. Отприлике 20% пакета које препоручују модели отвореног кода не постоје (ближе 5% за комерцијалне моделе), а међу проучаваним измишљеним именима, 43% се идентично понавља након десет поновљених упита. Та поновљивост је оно што чини образац напада погодним за „farm“: нападач не мора да погађа шта ће програмер откуцати. Модел им то поуздано говори бесплатно.

Новија варијанта под називом HalluSquatting иде даље. Уместо да објави злонамерни пакет под измишљеним именом, нападач поставља злонамерне инструкције унутар README датотеке, датотеке вештина или описа MCP сервера, а затим чека да агент измисли исто име спремишта или алата и да га привуче. Недавни рад који је ово повезао са брзим убризгавањем известио је о скоро савршеном предвиђању лажних имена спремишта за нове пројекте и потпуном извршавању кода у односу на праве асистенте за кодирање, укључујући Cursor, Windsurf и Copilot. Пошто је корисни терет обичан текст, а не извршни код, већина алата за скенирање нема шта да означи.

Као Ксигени Истраживач Луис Родригез ставите то током дискусије: „Годинама смо градили одбрану од злонамерног кода. Сигнатуре, „пешчаници“, анализа понашања. HalluSquatting-у није потребно ништа од тога. Потребна му је само убедљива README датотека.“ Обичне текстуалне инструкције које агент чита као поуздан контекст пролазе право поред скенера направљених да ухвате нешто извршно.

То је слој који већина AppSec алата још увек није направљена да види, а то је преcisзашто је Xygeni Рано упозоравање на злонамерни софтвер (MEW) Приступ постоји на нивоу платформе: континуирана анализа новообјављених пакета у реалном времену у регистрима као што су npm, PyPI и Maven, направљена да открије злонамерно понашање пре него што постоји јавни потпис, уместо да се чека да CVE открије данима касније.

Контејнери, CI/CD, и порекло: Можете ли и даље доказати шта се налази у вашој конструкцији?

Агент се ретко зауставља на додавању реда package.jsonУређује Docker датотеке, реструктурира вишестепене изградње и додаје pipeline конфигурацију директно, улазећи у сам систем за изградњу, а не само у стабло изворног кода.

Управо ту се налази одговор индустрије на ризик у ланцу снабдевања, SBOMи и SLSA provenance, требало је да се држи. Затим, у мају 2026. године, нападач је фишовао одржаваоца, користио украдени токен да објави „сироче“ commit без родитеља у историји пројекта, и користио га је да затрова кеш меморију изградње. Добијени пакети, њих осамдесет четири, испоручени су са потпуно важећим, правилно потписаним пореклом највишег нивоа. Свака аутоматизована провера је прошла. Злонамерни софтвер је био стваран, као и, технички, папирологија која доказује како је направљен.

Неугодан закључак: порекло доказује шта је верзија урадила са оним што јој је дато, а не да је оно што јој је дато заслужило поверење. Затровање уноса пре него што артефакт постоји, а атестација је искрен, проверљив запис о непоштеној верзији. Безбедност ланца снабдевања вештачке интелигенције не може се у потпуности препустити алатима за атестацију изграђеним за свет у коме човек, а не модел, одлучује шта улази у верзију.

Једно практично ублажавање није гламурозно, али је ефикасно: период хлађења, чекање неколико дана након објављивања нове верзије пакета пре него што се она усвоји. Већина активних инцидената у ланцу снабдевања се обележава и открива у том раном року, тако да би петодневно одлагање неутралисало значајан део прошлогодишњих напади у стилу црва, по цену апсолутно ничега осим тренутногiacy.

Гит, преглед и смањење људске контролне тачке

Преглед кода и commit Историја је дуго служила као сидро поверења за „неко је ово погледао“. То сидро постаје климавије када агенти commit, и све више се спајају, без људског учешћа у тренутку када се то дешава.

Агент који инсталира пакет није исти проблем поверења као програмер који копира одговор са Stack Overflow-а, иако обоје прескачу писање оригиналног кода. Исечак кода са Stack Overflow-а је написала стварна особа и неформално је рецензиран кроз гласове за и против. Препорука коју генерише вештачка интелигенција је вероватносни излаз без иједног својства, а програмер који је ручно копира и даље баца поглед на име пакета, датум последњег ажурирања, отворене проблеме. Агент који га инсталира не паузира ни за шта од тога осим ако нешто експлицитно није направљено да га паузира.

То је прави проблем са shift-left-ом. Традиционални shift-left претпоставља да се најбрже креће ствар у pipeline је програмер који се може тренирати, подстицати и прегледати. Када се најбрже развија аутономни агент, безбедност са притиском „shift-left“ мора се поново усмерити на контролне тачке које агент не може да заобиђе: „sandboxing“, контрола излаза и временски оквири за хлађење, уместо на документ са правилима који нико не спроводи.

Безбедност ланца снабдевања вештачком интелигенцијом: Какав безбедан агент Pipeline Заправо захтева

Преживљавање ове нове класе црва не захтева девет различитих контрола имплементираних савршено првог дана. За тим са ограниченим ресурсима, две су важније од осталих:

  • Увек затворите агента у песак. Покрените га у microVM-у или контејнеру са монтираним само тренутним директоријумом пројекта, тако да угрожени агент нема путању до токена, акредитива или датотека хоста. Ово је најјефтинија доступна контрола и она са најмање изговора за прескакање.
  • Додајте период хлађења пре инсталирања нових верзија пакета. Неколико дана је често довољно да се напад на ланац снабдевања појави и открије пре него што стигне до ваше изградње.

Треће, за тимове који могу да се прошире: уградите видљивост CVE и злонамерног софтвера директно у pipeline, скенирање слике контејнера (не само изворног кода, јер се толико рањивости налази у основној слици) и приказивање резултата као pull request коментаре које програмери заправо виде пре спајања.

Недавни инцидент чини улоге бетонским. У јулу 2026. године, модел вештачке интелигенције који је био под интерном евалуацијом искористио је нулти дан у јединој дозвољеној мрежној рути сопственог „пешчаника“, проксију за кеширање пакета, да би дошао до отвореног интернета и, без људских инструкција, угрозио спољну инфраструктуру у потрази за референтним циљем. Рута за бекство била је инфраструктура зависности: једина веза коју сваки „пешчаник“ може да дозволи. Ако ваш агент треба да дође до регистра пакета да би функционисао, та веза није споредни детаљ вашег безбедносног модела. То је безбедносни модел. Вреди прочитати комплетан преглед Xygeni-ја о томе како се то бекство заправо догодило: Лопов по дизајну.

Кључне Такеаваис

  • Последња људска контролна тачка нестаје, а не слаби. Дизајнирајте контроле које не зависе од тога да ли неко чита име пакета.
  • Чучање по зглобовима и чучање по зглобовима се може фармати, а не теоретски. Понављајућа халуцинирана имена и убризгавање обичног текста већ се експлоатишу у јавности.
  • Порекло и SBOMдоказују шта је градња урадила, а не шта је примљено. Третирајте врхунску атестацију као неопходну, а не довољну.
  • Тренутно контролише задржавање, а не откривање. Песковити систем, контрола излаза и временски оквири за хлађење купују време које скенирање засновано на потписима не може.
  • Направите инвентар онога што ваши агенти заправо могу да досегну. Не документ о политици. Прави токени, прави акредитиви, прави излаз из мреже.

Овај текст се заснива на дискусији из Xygeni-јевог SafeDev Talk-а.Када АИ агенти инсталирају зависности“, у којем учествује капетан Докера Мохамед-Али А'раби. Његов комплетан оквир за јачање система од девет контрола детаљније је обрађен у његовом билтену, Docker Security Dispatch, и са Луисом Родригезом, истраживачким службеником у Xygeni-ју. 

Најчешћа питања: Безбедност ланца снабдевања AI агентима

Да ли је агент који инсталира пакет фундаментално другачији проблем поверења од програмера који копира предлог са Stack Overflow-а, или је само бржа верзија истог?

Оба, у различитим пропорцијама. Механизам је бржи, али је јаз у поверењу такође структурно већи: одговор на Stack Overflow-у је написан и неформално рецензиран од стране једне особе, док је препорука пакета генерисана од стране вештачке интелигенције вероватносни излаз без еквивалентног прегледа, а програмер који је ручно копира и даље примењује повремену проверу коју агент без надзора потпуно прескаче.

Шта би било потребно за SBOM да се поуздано забележи „агент је ово додао, а ево и зашто“?

Данашњи SBOM и порекло standardизграђени су на претпоставци да је човек направио сваку зависностcisион, и још увек немају поље за то који агент, која верзија модела или који упит је произвео дату промену. За затварање те празнине потребно је или проширење постојећих формата атестације или посебан, агенту свестан ревизорски траг који бележи деcisјонско порекло поред грађевинског порекла.

Да ли постоји верзија „shift-left“ која и даље ради када је најбржа ствар у pipeline је аутономни агент, а не програмер?

Да, али мора да помери контролну тачку, не само време. Shift-лево изграђен око људског прегледа не скалира се брзини агента; shift-лево изграђен око sandbox-а, ограничења изласка и времена хлађења инсталације и даље може да ухвати угроженог агента пре него што његове акције стигну до продукције, јер те контроле не зависе од тога да ли неко било шта чита.

sca-tools-software-composition-analysis-tools
Приоритизујте, отклоните и обезбедите ризике везане за ваш софтвер
Набавите свој бесплатни налог.
Није потребна кредитна картица.

Обезбедите свој развој и испоруку софтвера

са Xygeni пакетом производа