Արհեստական բանականության գործակալների մատակարարման շղթայի անվտանգությունը նախկինում պարզ էր, հիմնականում այն պատճառով, որ մարդը միշտ կանգնած էր փաթեթի անվանման և կառուցվածքի միջև։ Քսան տարի շարունակ սա էր ամբողջ մոդելը. ինչ-որ մեկը կարդում էր անունը, նախքան այն մուտքագրելը։ Ոչ միշտ ուշադիր։ Բայց ինչ-որ մեկը կարդում էր այն։
Դա այլևս չկա։ Այսօր արհեստական բանականության մոդելից գրադարան հարցրեք, և մոտավորապես յուրաքանչյուր հինգերորդ խորհուրդ տրվող փաթեթը գոյություն չունի։ Հարձակվողները գիտեն դա, ուստի նախ գրանցում են այդ անունները։ Գործակալը տեղադրում է դրանք, փորձարկում և անցնում առաջ, և ոչ ոք չի կարդում դրանց միջև ընկած ոչինչ։ Հենց սա է այն դեպքը, երբ արհեստական բանականության գործակալի մատակարարման շղթայի անվտանգությունը հիմա ձախողվում է. ոչ թե ապագայի որևէ սցենարում, այլ... pipelineայսօր վազում է։
Արդյունաբերությունը երկու տասնամյակ ծախսել է կառավարչական մեխանիզմներ կառուցելով մշակողի շուրջ, որը կարդում, վերանայում և որոշում է կայացնում: Այդ մշակողը այլևս վերջին ստուգիչ կետը չէ, նախքան կախվածությունը կմտնի կառուցման մեջ: Այսպիսով, իրական հարցը այն չէ, թե արդյոք գործակալական արհեստական բանականությունը նոր ռիսկ է ներկայացնում, այլ այն, թե իրականում ինչ է մնում, երբ մարդկային ստուգիչ կետը վերանում է:
«Արհեստական բանականության առաջարկներից» մինչև «Արհեստական բանականության գործողություններ»
Երկու տարի առաջ երկրորդ օդաչուն առաջարկեց կոդի բլոկ, մշակողը կարդաց այն, և մշակողը որոշեց պահպանել այն, թե ոչ։ Այդ աշխատանքային հոսքը մեծ մասամբ վերացել է։ Գործնական գործիքներն այժմ տեղադրում են կախվածություններ, գործարկում կոնտեյներներ և ակտիվացնում են... pipeline ինքնուրույն քայլեր են ձեռնարկում, հաճախ զեկուցելով միայն փաստից հետո և միայն այն դեպքում, եթե ինչ-որ բան այնպես չի ընթանում։
Փոփոխությունը տեղի է ունեցել փուլերով, և թիմերի մեծ մասն ավելի առաջ է գնացել, քան թույլատրվում է նրանց գրավոր անվտանգության քաղաքականության կողմից։ Վաղ գործակալական գործիքները յուրաքանչյուր փոփոխությունից առաջ հաստատում էին խնդրում, և մշակողները այնքան հաճախ էին սեղմում «այո», որ հաստատման քայլը այլևս որևէ նշանակություն չուներ։ Այսօրվա գործակալները հիմնականում ընդհանրապես չեն հարցնում։ Նրանք ընդհատում են միայն զգայուն համարվող գործողությունների համար, ինչպիսիք են shell սկրիպտի գործարկումը, և տիպիկ... pull request Գործակալի կողմից ստեղծվածը կարող է պարունակել հազարավոր տողեր, որոնք ոչ մի մարդ իրականում չի կարդում ծայրից ծայր՝ միաձուլվելուց առաջ։
Թույլտվությունների խնդիրն ավելի է բարդացնում այս խնդիրը։ Շատ դեպքերում գործակալը պարզապես աշխատում է որպես մշակող՝ ունենալով մուտք դեպի մշակողի մեքենայի հասանելիությունը՝ միջավայրի փոփոխականներ, ամպային տոկեններ, գրանցամատյանի տվյալներ, SSH բանալիներ։ Երբ գործակալը տեղադրում է ինչ-որ բան, և այդ տեղադրման ընթացքում գործարկվում է սկրիպտ, այն ժառանգում է այն մարդու ամբողջական պայթյունի շառավիղը, որին նմանակում է։ Ահա թե որտեղ է, որ արհեստական բանականության գործակալի մատակարարման շղթայի անվտանգությունը դադարում է լինել քաղաքականության հարց և դառնում թույլտվությունների հարց. գործակալին նոր շահագործում պետք չէ, նրան պարզապես անհրաժեշտ է արդեն իսկ ունեցած մուտքը։
Դոկերի կապիտան Մոհամմադ-Ալի Արաբինույն ամբիոնից ելույթ ունենալով՝ նա հստակ ասաց. «Կարծում եմ, որ մշակողն այժմ հարձակման մակերեսի մի մասն է կազմում»։
Արժե անկեղծ լինել այն մասին, թե ինչին է սա փոխարինել։ Մարդը, որը կարդում է package.json diff-ը արդեն թույլ վերահսկողություն էր. գրեթե ոչ ոք իրականում չէր ստուգում յուրաքանչյուր անցումային կախվածություն՝ փոփոխությունը հաստատելուց առաջ: Գործակալները պարտադիր չէ, որ խափանեին ուժեղ համակարգը: Նրանք հեռացրին թույլ համակարգի վերջին պատճառաբանությունը: Փոխվել է ոչ թե այն, որ ռիսկը նոր է, այլ այն, որ այն այժմ շարժվում է բոլորովին այլ արագությամբ. որոշ գնահատականներով, անցյալ տարվա մատակարարման շղթայի հարձակման ծավալը մոտավորապես հինգ անգամ ավելի է, քան նախորդ տարի, և կորը էքսպոնենցիալ է թվում, այլ ոչ թե գծային:
Տեղադրման պահը. Ինչ է փոխվում, երբ ոչ ոք չի դիտում
Հալյուցինացիաներ և վնասակար փաթեթների անունները նորություն չեն։ Typosquatting- ը տարիներ շարունակ շահագործել է մարդկային մուտքագրման սխալները. մեկ սխալ տառ, և մշակողը տեղադրում է սխալ բանը: Այժմ տարբերությունն այն է, որ անունը սկզբում հորինում է մոդելը, այլ ոչ թե մարդը, և դա անում է կանխատեսելիորեն:
Թվերը սա դարձնում են բիզնես, այլ ոչ թե հետաքրքրասիրություն։ Բաց կոդով մոդելների կողմից առաջարկվող փաթեթների մոտավորապես 20%-ը գոյություն չունի (մոտ 5%-ը՝ առևտրային մոդելների համար), իսկ ուսումնասիրված հորինված անունների 43%-ը նույնականորեն կրկնվում է տասը կրկնվող հարցումներում։ Հենց այդ կրկնելիությունն է, որ հարձակման ձևը դարձնում է ֆերմերային. հարձակվողը կարիք չունի կռահելու, թե ինչ կմուտքագրի մշակողը։ Մոդելը նրանց հուսալիորեն և անվճար ասում է։
HalluSquatting անունով ավելի նոր տարբերակը առաջ է մղում։ Հալյուցինացված անվան տակ չարամիտ փաթեթ հրապարակելու փոխարեն, հարձակվողը չարամիտ հրահանգներ է տեղադրում README-ի, հմտությունների ֆայլի կամ MCP սերվերի նկարագրության մեջ, այնուհետև սպասում է, որ գործակալը հալյուցինացնի նույն պահոցը կամ գործիքի անունը և այն ներբեռնի։ Վերջերս հրապարակված հոդվածում, որը կապում է սա արագ ներարկման հետ, նշվում է նոր նախագծերի համար կեղծ պահոցների անունների գրեթե կատարյալ կանխատեսման և իրական կոդավորման օգնականների, այդ թվում՝ Cursor-ի, Windsurf-ի և Copilot-ի դեմ լիարժեք կոդի կատարման մասին։ Քանի որ օգտակար բեռը պարզ տեքստ է, այլ ոչ թե կատարվող կոդ, սկանավորման գործիքների մեծ մասը ոչինչ չունի նշելու։
Ինչպես Քսիգենի Հետազոտության պատասխանատու Լուիս Ռոդրիգես քննարկման ժամանակ նշեք հետևյալը. «Մենք տարիներ ենք ծախսել վնասակար կոդի դեմ պաշտպանություն կառուցելու վրա։ Ստորագրություններ, sandbox-եր, վարքագծի վերլուծություն։ HalluSquatting-ը դրանցից ոչ մեկի կարիքը չունի։ Այն պարզապես համոզիչ README է պահանջում»։ Պարզ տեքստային հրահանգները, որոնք գործակալը կարդում է որպես վստահելի համատեքստ, ուղիղ անցնում են սկաներների կողքով, որոնք նախատեսված են ինչ-որ կատարվող բան որսալու համար։
Սա այն շերտն է, որը AppSec գործիքակազմի մեծ մասը դեռևս չի կառուցված տեսնելու համար, որը նախապեսcisինչու՞ է Xygeni-ն Վնասակար ծրագրերի վաղ նախազգուշացում (MEW) Այս մոտեցումը գոյություն ունի հարթակի մակարդակում. նոր հրապարակված փաթեթների շարունակական, իրական ժամանակի վերլուծություն տարբեր ռեգիստրներում, ինչպիսիք են npm-ը, PyPI-ն և Maven-ը, որը մշակված է չարամիտ վարքագիծը հայտնաբերելու համար նախքան հանրային ստորագրության գոյությունը, այլ ոչ թե մի քանի օր անց CVE-ի հայտնաբերմանը սպասելու համար։
Բեռնարկղեր, CI/CD, և ծագում. կարո՞ղ եք դեռ ապացուցել, թե ինչ կա ձեր կառուցվածքում։
Գործակալը հազվադեպ է կանգ առնում տող ավելացնելով package.jsonԱյն խմբագրում է Dockerfiles-ը, վերակառուցում բազմաստիճան կառուցվածքները և փոխում է pipeline կոնֆիգուրացիան անմիջապես՝ մուտք գործելով կառուցման համակարգի մեջ, այլ ոչ թե միայն սկզբնաղբյուրի ծառում։
Ահա թե որտեղ է արդյունաբերության պատասխանը մատակարարման շղթայի ռիսկին, SBOMի եւ SLSA provenance, ենթադրաբար պետք է պահեր։ Այնուհետև, 2026 թվականի մայիսին, մի հարձակվող ֆիշինգ արեց պահպանողի համար, օգտագործեց գողացված թոքենը՝ «որբ» հրապարակելու համար։ commit նախագծի պատմության մեջ ծնող ֆայլ չուներ և օգտագործեց այն կառուցման քեշը թունավորելու համար: Արդյունքում ստացված փաթեթները՝ ութսունչորսը, ուղարկվեցին լիովին վավեր, պատշաճ կերպով ստորագրված բարձրաստիճան աղբյուրներով: Բոլոր ավտոմատացված ստուգումները հաջողությամբ անցան: Վնասակար ծրագիրը իրական էր, և տեխնիկապես նույնն էր նաև դրա կառուցման եղանակը ապացուցող փաստաթղթերը:
Անհարմար եզրակացությունը. ծագումնաբանությունը ապացուցում է, թե ինչ է արել կառուցվածքը տրվածի հետ, այլ ոչ թե այն, որ տրվածը արժանի է վստահության: Թունավորեք մուտքային տվյալները, նախքան արտեֆակտը գոյություն ունենա, և ատեստավորումը կլինի անազնիվ կառուցվածքի ազնիվ, ստուգելի գրառում: Արհեստական բանականության գործակալի մատակարարման շղթայի անվտանգությունը չի կարող ամբողջությամբ վստահվել ատեստավորման գործիքակազմին, որը ստեղծվել է այնպիսի աշխարհի համար, որտեղ մարդը, այլ ոչ թե մոդելը, որոշում է, թե ինչ է ներառվելու կառուցվածքում:
Գործնական մեղմացումներից մեկը ոչ այնքան հմայիչ է, բայց արդյունավետ. սպասման ժամանակահատված, երբ փաթեթի նոր տարբերակի հրապարակումից հետո մի քանի օր պետք է սպասել, նախքան այն ընդունելը: Մատակարարման շղթայի ակտիվ միջադեպերի մեծ մասը նշվում և բացահայտվում է այդ վաղ ժամանակահատվածում, ուստի հինգօրյա ուշացումը կչեզոքացներ անցյալ տարվա զգալի մասը: որդերի ոճով հարձակումներ, բացարձակապես ոչնչի գնով, բացի անմիջապեսiacy.
Գիտ, վերանայում և մարդկային ստուգման կետի կրճատումը
Կոդի վերանայում և commit պատմությունը վաղուց ծառայել է որպես վստահության խարիսխ «մեկը նայեց սրան» համար: Այդ խարիսխն ավելի է տատանվում, երբ գործակալները commit, և ավելի ու ավելի են միաձուլվում՝ առանց մարդու ներկայության այդ պահին։
Փաթեթ տեղադրող գործակալը նույն վստահության խնդիրը չէ, ինչ Stack Overflow պատասխանը պատճենող մշակողը, նույնիսկ եթե երկուսն էլ բաց են թողնում սկզբնական կոդը գրելը: Stack Overflow հատվածը գրվել է իրական անձի կողմից և ոչ պաշտոնապես գնահատվել է մասնագետների կողմից՝ դրական և բացասական քվեարկությունների միջոցով: Արհեստական բանականության կողմից ստեղծված առաջարկությունը հավանականային արդյունք է, որը չունի ոչ մի հատկություն, և այն ձեռքով պատճենող մշակողը դեռևս նայում է փաթեթի անվանը, վերջին թարմացման ամսաթվին, բաց խնդիրներին: Այն տեղադրող գործակալը չի դադարեցնում դրանցից որևէ մեկի համար, եթե ինչ-որ բան հստակորեն չի կառուցվել այն դադարեցնելու համար:
Սա է ձախ տեղաշարժի իրական խնդիրը։ Ավանդական ձախ տեղաշարժը ենթադրում է, որ ամենաարագ շարժվող բանը pipeline մշակող է, որին կարելի է մարզել, հրել և վերանայել։ Երբ ամենաարագ զարգացող բանը ինքնավար գործակալն է, ձախ կողմում տեղաշարժվող անվտանգությունը պետք է վերակապվի այնպիսի ստուգիչ կետերի հետ, որոնք գործակալը չի կարող շրջանցել՝ sandboxing, egress control և cooldown penings, այլ ոչ թե քաղաքականության փաստաթուղթ, որը ոչ ոք չի պարտադրում։
Արհեստական բանականության գործակալի մատակարարման շղթայի անվտանգություն. Ինչպիսի՞ անվտանգ գործակալ Pipeline Իրականում պահանջում է
Այս նոր դասի որդերի դեմ պայքարելու համար անհրաժեշտ չէ առաջին օրը կատարելապես իրականացնել ինը տարբեր կառավարման տարրեր։ Սահմանափակ ռեսուրսներով թիմի համար երկուսն ավելի կարևոր են, քան մնացածը.
- Սենդբոքս գործակալին, միշտ։ Գործարկեք այն microVM-ում կամ կոնտեյներում՝ միայն ընթացիկ նախագծի գրացուցակը միացված պահելով, որպեսզի վարակված գործակալը չունենա հոսթի տոկենների, հավատարմագրերի կամ ֆայլերի ուղի։ Սա առկա ամենաէժան կառավարումն է և այն, որն ունի բաց թողնելու ամենաքիչ պատճառաբանությունը։
- Նոր փաթեթների տարբերակները տեղադրելուց առաջ ավելացրեք սառեցման պատուհան։ Մի քանի օրը հաճախ բավարար է, որպեսզի մատակարարման շղթայի իրական հարձակումը բացահայտվի և ի հայտ գա, նախքան այն կհասնի ձեր շենքին։
Երրորդը՝ այն թիմերի համար, որոնք կարող են դա անել. CVE-ի և վնասակար ծրագրերի տեսանելիությունը անմիջապես ներառեք pipeline, կոնտեյների պատկերի սկանավորումը (ոչ միայն սկզբնական կոդը, քանի որ հիմնական պատկերում շատ խոցելիություններ կան) և արդյունքների ցուցադրումը որպես pull request մեկնաբանություններ, որոնք մշակողները իրականում տեսնում են միավորումից առաջ։
Վերջերս տեղի ունեցած միջադեպը հստակեցնում է խաղադրույքները։ 2026 թվականի հուլիսին ներքին գնահատման փուլում գտնվող արհեստական բանականության մոդելը շահագործեց իր սեփական «sandbox»-ի միակ թույլատրելի ցանցային երթուղին՝ փաթեթ-քեշ պրոքսիին, բաց ինտերնետին հասնելու և, առանց մարդու հրահանգի, վնասելու արտաքին ենթակառուցվածքը՝ չափանիշային նպատակին հասնելու համար։ Փախուստի ուղին կախվածության ենթակառուցվածքն էր. միակ կապը, որի միջոցով յուրաքանչյուր «sandbox» կառուցված է։ Եթե ձեր գործակալը գործելու համար պետք է հասնի փաթեթների գրանցամատյանին, այդ կապը ձեր անվտանգության մոդելի կողմնակի մանրուք չէ։ Այն անվտանգության մոդելն է։ Xygeni-ի ամբողջական վերլուծությունը այն մասին, թե ինչպես է իրականում տեղի ունեցել այդ փախուստը, արժե կարդալ։ Rogue by Design.
Հիմնական տուփեր
- Վերջին մարդկային անցակետը անհետանում է, այլ ոչ թե թուլանում։ Նախագծեք կառավարման տարրեր, որոնք կախված չեն փաթեթի անունը կարդացող անձից։
- Սլոփսքվաթինգը և ՀալլուՍքվաթինգը ֆերմերային են, ոչ թե տեսականորեն։ Կրկնվող հալյուցինացիաներով անունները և պարզ տեքստային հուշումների ներարկումն արդեն իսկ շահագործվում են վայրի բնության մեջ։
- Ծագում և SBOMs-ը ապացուցում է, թե ինչ է արել կառուցվածքը, այլ ոչ թե ինչ է նրան սնուցվել։ Բարձրագույն մակարդակի հավաստագրումը համարեք անհրաժեշտ, այլ ոչ թե բավարար։
- Այս պահին իրավիճակը զսպողն է, այլ ոչ թե հայտնաբերումը։ Սենդբոքսինգը, ելքի կառավարումը և սառեցման ժամանակի պատուհանները ձեռք են բերում ժամանակ, որը ստորագրության վրա հիմնված սկանավորումը չի կարող։
- Գույքագրեք, թե իրականում ինչի կարող են հասնել ձեր գործակալները։ Ոչ թե քաղաքականության փաստաթուղթը։ Իրական տոկենները, իրական հավատարմագրերը, իրական ցանցային ելքը։
Այս հոդվածը հիմնված է Xygeni-ի SafeDev Talk-ի քննարկման վրա։Երբ արհեստական բանականության գործակալները տեղադրում են կախվածություններ», որը ներկայացնում է Դոկերի կապիտան Մոհամմադ-Ալի Արաբին: Նրա ինը կառավարման համակարգի ամրացման ամբողջական շրջանակն ավելի մանրամասնորեն լուսաբանված է նրա «Docker Security Dispatch» տեղեկագրում և Xygeni-ի Լուիս Ռոդրիգեսի հետազոտական աշխատակցում:
Հաճախակի տրվող հարցեր. Արհեստական բանականության գործակալների մատակարարման շղթայի անվտանգություն
Արդյո՞ք գործակալի կողմից փաթեթի տեղադրումը հիմնարար կերպով տարբեր վստահության խնդիր է, քան մշակողի կողմից Stack Overflow առաջարկի պատճենումը, կամ պարզապես նույնի ավելի արագ տարբերակը։
Երկուսն էլ՝ տարբեր համամասնություններով։ Մեխանիզմն ավելի արագ է, բայց վստահության բացը նաև կառուցվածքային առումով ավելի լայն է. Stack Overflow-ի պատասխանը գրվել և ոչ պաշտոնապես վերանայվել է անձի կողմից, մինչդեռ արհեստական բանականության կողմից ստեղծված փաթեթի առաջարկությունը հավանականային արդյունք է՝ առանց համարժեք վերանայման, և այն ձեռքով պատճենող մշակողը դեռևս կիրառում է պատահական ուսումնասիրություն, որը աննկատ գործակալը ամբողջությամբ բաց է թողնում։
Ի՞նչ կպահանջվի մի SBOM հուսալիորեն գրանցելու «գործակալը սա ավելացրել է, և ահա թե ինչու» արտահայտությունը։
Այսօրվա SBOM և ծագում standardկառուցվել են այն ենթադրության շուրջ, որ մարդը յուրաքանչյուր կախվածություն է ստեղծելcisիոն, և նրանք դեռևս չունեն դաշտ, թե որ գործակալը, որ մոդելի տարբերակը կամ որ հուշումն է առաջացրել տվյալ փոփոխությունը: Այդ բացը լրացնելու համար անհրաժեշտ է կամ առկա հավաստագրման ձևաչափերի ընդլայնում, կամ առանձին, գործակալի մասին իրազեկ աուդիտի հետք, որը կներառի դեcisիոնային ծագումը՝ կառուցվածքի ծագման հետ մեկտեղ։
Կա՞ արդյոք «ձախ տեղաշարժի» տարբերակ, որը դեռ աշխատում է, երբ ամենաարագ բանը pipeline ինքնավար գործակալ է, ոչ թե մշակող։
Այո, բայց այն պետք է փոխի ստուգման կետը, այլ ոչ թե միայն ժամանակը։ Մարդկային վերանայման շուրջ կառուցված Shift-Left-ը չի համապատասխանում գործակալի արագությանը. sandboxing-ի, ելքի սահմանափակումների և տեղադրման սառեցման ժամանակի շուրջ կառուցված Shift-Left-ը դեռ կարող է բռնել վարակված գործակալը նախքան դրա գործողությունները հասնեն արտադրության, քանի որ այդ վերահսկողությունները կախված չեն որևէ մեկի կողմից որևէ բան կարդալուց։





