შემდეგ ჯერზე, როდესაც ხელოვნური ინტელექტის ასისტენტი გირჩევთ პაკეტის ინსტალაციას, შეამოწმებთ, ნამდვილად არსებობს თუ არა ის? დეველოპერების უმეტესობა ამას არ აკეთებს. შეთავაზებასა და დადასტურებას შორის სწორედ ეს ხარვეზი იწყება slopsquatting-ის შეტევებით და სამ წელზე ნაკლებ დროში საფრთხე მკვლევრის მიერ კონცეფციის დამტკიცებიდან ავტონომიური კოდირების აგენტების შიგნით დისტანციურ კოდის შესრულებამდე განვითარდა. ეს სტატია ასახავს slopsquatting-ის ევოლუციას და იმას, თუ რას ნიშნავს თითოეული ეტაპი AppSec და DevSecOps გუნდებისთვის.
ახალი ხართ აქ? დაიწყეთ ჩვენი სახელმძღვანელოთი შემდეგ ბმულზე: რა არის სლოპსკუატინგი და როგორ დავიცვათ თავი მისგან, შემდეგ კი დაბრუნდით ქრონოლოგიის სანახავად.
უსაქმურობის ჩაკეტვის შეტევა ერთ აბზაცში
უყურადღებო ჩაჯდომის შეტევა არეგისტრირებს მავნე პაკეტს ისეთი სახელით, რომელსაც ხელოვნური ინტელექტის მოდელები პროგნოზირებადად ჰალუცინაციებს იწვევენ. სადაც ტიპოსკუატინგი ადამიანის მიერ აკრეფის არასწორად გამოყენების საშუალებას იძლევა მოთხოვნები ამისთვის მოითხოვსslopsquatting-ის დროს მოდელი თავად იგონებს დამაჯერებელ სახელს, რომელიც არცერთ რეესტრში არ არსებობს, შემდეგ კი თავდამსხმელი ამ ზუსტ სახელს აცხადებს მანამ, სანამ ვინმე ლეგიტიმური ადამიანი ამას გააკეთებს. ტერმინი შემოიღო სეთ ლარსონმა, Python Software Foundation-ის უსაფრთხოების რეზიდენტმა დეველოპერმა და ენდრიუ ნესბიტმა გაავრცელა. ნიმუშს თვალყურის დევნების ღირსს ხდის მისი სისწრაფე.
ჩაჯდომის ევოლუცია
2023: პირველი გამაფრთხილებელი ნიშანი
უსაფრთხოების მკვლევარმა ბარ ლანიადომ შენიშნა, რომ რამდენიმე სამართლის მაგისტრი რეკომენდაციას უწევდა პაკეტს, სახელწოდებით ჩახუტება სახეზე - კლი, რომელიც არ არსებობს (რეალური ინსტრუმენტი ინსტალირდება pip install -U „huggingface_hub[cli]“რისკის დემონსტრირებისთვის, მან ცარიელი პაკეტი ატვირთა ამ ჰალუცინაციური სახელით. სამ თვეში ის 30 000-ზე მეტჯერ გადმოიტვირთა, არანაირი პოპულარიზაციის გარეშე, ხოლო ყალბი სახელი README-შიც კი გამოჩნდა, რომელიც მსხვილი ტექნოლოგიური კომპანიის კვლევასთან იყო დაკავშირებული. პაკეტი უვნებელი იყო. გაკვეთილი არ იყო შემდეგი: ჰალუცინაციური სახელი მხოლოდ საკმარისად თანმიმდევრული უნდა იყოს, რომ ვინმემ ის იარაღად აქციოს.
2024: ბლოგ პოსტიდან მეინსტრიმულ გაშუქებამდე
2024 წლის მარტში, გაზეთმა The Register გამოაქვეყნა სტატია ხელოვნური ინტელექტის მოდელების შესახებ, რომლებიც თავდაჯერებულად იგონებდნენ პროგრამული პაკეტების სახელებს, რომლებსაც დეველოპერები შემდეგ იტვირთავდნენ, რომელთაგან ზოგიერთი პოტენციურად მავნე პროგრამით იყო მოწამლული. გაშუქებას ნაკლები მნიშვნელობა ჰქონდა იმის გამო, თუ რას ავლენდა ის ტექნიკურად, ვიდრე იმის გამო, თუ რას აჩვენებდა: ჩახუტება სახეზე - კლი ეს აღარ იყო ერთჯერადი ცნობისმოყვარეობა, არამედ პირველი ნიშანი იმ სერიოზული ტენდენციისა, რომელიც მეინსტრიმ ტექნოლოგიურ პრესას უნდა შეემჩნია, მასშტაბური კვლევის წინ, რომელიც ერთი წლის შემდეგ მის მასშტაბებს დაადასტურებდა.
2025: პირველი მკაცრი გაზომვა
USENIX Security 2025-ის ნაშრომში „ჩვენ გვაქვს თქვენთვის პაკეტი!“ (სპრეკლენი და სხვ.) გამოსცადეს კოდის გენერირების 16 მოდელი, კომერციული და ღია კოდის, Python-ისა და JavaScript-ის 576,000 ნიმუშზე. მან slopsquatting ანეკდოტიდან მონაცემებზე გადაიტანა:
- რეკომენდებული პაკეტების 19.7% არ არსებობდა.
- ღია კოდის მოდელები ჰალუცინაციების გაცილებით ხშირად (საშუალოდ 21.7%) იწვევდა, ვიდრე კომერციული მოდელები (5.2%).
- ყველაზე ცუდ დამნაშავეებს, CodeLlama 7B-ს და 34B-ს, ჰალუცინაციები მათი გამოვლენის მესამედზე მეტ დროს აღენიშნებოდათ.
- ყველა მოდელში მკვლევარებმა 205 000-ზე მეტი უნიკალური ჰალუცინირებული სახელი დააფიქსირეს, რაც საკმარისად დიდია ეკოსისტემებში მდგრადი კამპანიების წარმართვისთვის.
კვლევამ ასევე კატეგორიზაცია გაუკეთა ყალბი სახელების ფორმირებას: 38% წარმოადგენდა ორი რეალური პაკეტის სახელის შერწყმას (ზუსტად ის ნიმუში, რომელმაც მოგვიანებით წარმოქმნა). რეაქციის კოდის შეცვლა საწყისი jscodeshift მდე react-codemod), 13% რეალური შეფუთვების ტიპოგრაფიული სტილის ვარიანტები იყო, ხოლო 51% სუფთა ფაბრიკაციები იყო, რომლებიც დამაჯერებელია, მაგრამ მთლიანად გამოგონილი. პირველი ჯგუფი ყველაზე მნიშვნელოვანია თავდაცვისთვის, რადგან ორი რეალური იარაღისგან შეკერილი სახელი ერთი შეხედვით ყველაზე რთული ამოსაცნობია.
თავდამსხმელებისთვის ყველაზე მნიშვნელოვანი დასკვნა ის არის, რომ ჰალუცინაციები შემთხვევითი არ არის და არ იცვლება ყოველი მცდელობისას. როდესაც მკვლევარებმა იდენტური მოთხოვნები ათ-ათჯერ გაიმეორეს, ჰალუცინირებული სახელების 43% ყოველ ჯერზე გამოჩნდა, ხოლო 58% ერთზე მეტჯერ განმეორდა. თავდამსხმელს არ სჭირდება გამოცნობა. ისინი აკვირდებიან მოდელის ქცევას, აღნიშნავენ განმეორებად სახელებს და პირველ რიგში აფიქსირებენ მათ. სწორედ ეს განმეორებადობა აქცევს ერთჯერად ჰალუცინაციას მასშტაბირებად შეტევად.
2026: იზოლირებული პაკეტებიდან ავტონომიურ აგენტებამდე
ამ წელს ყველაზე ნათელი მტკიცებულება გამოჩნდა, რომ უსაქმურობის ჩაკვოტირება აღარ შემოიფარგლება მხოლოდ დეველოპერის მიერ შემოთავაზებული ნივთის კოპირებით. npm ინსტალაცია.
2026 წლის იანვარში, უსაფრთხოების მკვლევარმა ჩარლი ერიქსენმა ჰალუცინირებული npm პაკეტი აღმოაჩინა, რეაქციის კოდის შეცვლარომ ხელოვნური ინტელექტის მიერ გენერირებული აგენტის ინსტრუქციები უკვე გავრცელებული იყო 237 საცავში ფორკების მეშვეობით, ხოლო აგენტები ყოველდღიურად ცდილობდნენ მის ინსტალაციას. ის წარმოიშვა ერთი commit ხელოვნური ინტელექტის მიერ დაწერილი აგენტის უნარების ფაილები, რომლებიც არცერთ ადამიანს არ გადაუხედავს. ერიქსენმა სახელი თავად დაარეგისტრირა, თავდაცვითი მიზნით, სანამ თავდამსხმელი მის იარაღად გამოყენებას შეძლებდა.
ცალკე, ნამდვილად მავნე პაკეტი სახელწოდებით გამოუყენებელი იმპორტი, ლეგიტიმური ჰალუცინაციების ნაცვლად eslint-plugin-unused-imports, ინსტალაციების მიღებას აგრძელებდა მას შემდეგაც კი, რაც npm-მა ის უსაფრთხოების შეზღუდვის ქვეშ დააყენა, რაც აჩვენებს, თუ რამდენ ხანს შეუძლია slopsquatting-ის შეტევას მსხვერპლის პოვნა მისი მონიშვნის შემდეგ.
შემდეგ, 2026 წლის ივლისში, მკვლევრებმა აღწერეს მსგავსი ტექნიკა, სახელწოდებით „HalluSquatting“, რომელიც ჰალუცინაციას სწრაფ ინექციასთან აკავშირებს: ხელოვნური ინტელექტის კოდირების აგენტი, რომელიც მომხმარებლის სახელით ჰალუცინირებულ რესურსს იღებს, შეიძლება გამოყენებული იქნას თავდამსხმელის მიერ მოწოდებული კოდის გასაშვებად. ეს slopsquatting-ის ევოლუციას პასიური ინსტალაციის რისკიდან აგენტური შემუშავების სამუშაო პროცესებში აქტიურ დისტანციური კოდის შესრულების ვექტორად აქცევს.
რატომ გააფართოვა „ვიბრაციული კოდირებამ“ შეტევის ზედაპირი
ხელოვნური ინტელექტის მიერ გენერირებული კოდის ნიშური სახე რომ ჰქონდეს, სლოპსკუატინგი დიდად მნიშვნელოვანი არ იქნებოდა. სინამდვილეში ეს ასე არ არის. კოდირების ასისტენტების, ავტონომიური აგენტებისა და „ვიბრაციული კოდირების“ სამუშაო პროცესების ზრდამ, სადაც დეველოპერები კოდის გაშვებამდე ნაკლებად ამოწმებენ მას, შეტევის ზედაპირი ორი კონკრეტული გზით შეცვალა.
პირველ რიგში, შესვლის წერტილი აღარ არის მხოლოდ დეველოპერი. typosquatting შეტევა დამოკიდებული იყო ერთი ადამიანის მიერ არასწორად აკრეფაზე. ახლა შეცდომა მოდელის შიგნით წარმოიშობა და ვრცელდება ასობით დეველოპერზე, რომლებიც მსგავს კითხვებს სვამენ და ერთსა და იმავე ჰალუცინაციურ რეკომენდაციას იღებენ.
მეორეც, შეტევის ზედაპირი ჯაჭვის საფეხურზე მაღლა გადავიდა. აღარ არის საკმარისი ადამიანის მიერ დაწერილი კოდის ყურება. გუნდებს უწევთ ხელოვნური ინტელექტის ასისტენტის მიერ შემოთავაზებული დამოკიდებულებების, მის მიერ დაკავშირებული MCP სერვერების და აგენტების ყურება, რომლებიც პაკეტებს ადამიანის გარეშე აინსტალირებენ. ტრადიციული AppSec, შექმნილია საცავების და ადამიანის გადასახედად. commits, არასდროს ყოფილა შექმნილი დეველოპერს, ხელოვნურ ინტელექტსა და რეესტრს შორის ურთიერთქმედების დასაკვირვებლად, რაც სწორედ ისაა, სადაც ახლა უსაქმურობის ჩაკვოტინგი იმალება.
რას ნიშნავს ეს პრევენციისთვის
ეს ყველაფერი გენერაციულ ხელოვნურ ინტელექტს თავისთავად დაუცველს ხდის. ის მიწოდების ჯაჭვის რისკს ქმნის, რომლის დასაჭერადაც ტრადიციული ინსტრუმენტები არ იყო შექმნილი და მოითხოვს ვერიფიკაციის პრინციპებს, რომლებსაც ჩვენ უკვე ვიყენებთ ნებისმიერი გარე დამოკიდებულებისთვის: ნუ ენდობით ნაგულისხმევად, გადაამოწმეთ წყარო და ავტომატიზირეთ ეს ვერიფიკაცია, იმის ნაცვლად, რომ დაეყრდნოთ ყველა დეველოპერის მეხსიერებას. სრული თავდაცვითი ინსტრუქცია ჩვენს სახელმძღვანელოშია მოცემული. ხელოვნური ინტელექტის მიწოდების ჯაჭვის უსაფრთხოება, თუმცა მოკლედ რომ ვთქვათ, ხელით ვერიფიკაცია, მიუხედავად იმისა, რომ აუცილებელია, წყვეტს მასშტაბირებას იმ მომენტში, როდესაც ჰალუცინირებული სახელი ერთდროულად ათასობით დეველოპერამდე მიაღწევს, ან აგენტი შეძლებს მის ინსტალაციას ადამიანის მიერ განხილვის გარეშე.
ჰალუცინირებული პაკეტების შეჩერება აგენტის მიერ მათ ინსტალაციამდე
2026 შემთხვევას ერთი საერთო მახასიათებელი ახასიათებს: სახიფათო ინსტალაცია ადამიანის ჩარევის გარეშე ხდება. ეს ზუსტად ის სხვაობაა. ქსიგენი Shield აშენებულია. Shield არის მსუბუქი აგენტი დეველოპერის საბოლოო წერტილზე, რომელიც ბლოკავს მავნე პაკეტებს ინსტალაციის დროს, გამოყენებით მავნე პროგრამების ადრეული გაფრთხილება (MEW) განაჩენები, რომლებიც მოქმედებს ნებისმიერი ხელმოწერის არსებობამდე. როდესაც ხელოვნური ინტელექტის ასისტენტი ან ავტონომიური აგენტი ცდილობს ჰალუცინირებული, ახლად რეგისტრირებული პაკეტის ინსტალაციას, Shield აფასებს მას მოძიებისთანავე და ბლოკავს მას, ამიტომ ინსტალაციის სკრიპტი არასდროს მუშაობს, მიუხედავად იმისა, უყურებდა თუ არა ადამიანი. ყველა ბლოკი ერთსა და იმავეში ჩაედინება. ქსიგენი კონსოლი, როგორც თქვენი კოდი, ბილდი და გაშვების დროის მონაცემი და Shield მუშაობს თქვენი არსებული EDR-ის პარალელურად და არა მის საწინააღმდეგოდ.
დაიწყეთ უფასოდ. Xygeni-ის დეველოპერის გეგმა 0 ევროა: 10 საცავი, თვეში 200 სკანირება, 5-მდე კონტრიბუტორი, საკრედიტო ბარათის გარეშე. Sign up with GitHub, GitLab-ი ან Google-ი და პირველი სკანირება 10 წუთზე ნაკლებ დროში განახორციელეთ; Shield საბოლოო წერტილის დაცვა მალე დაემატება დეველოპერების გეგმას.
კითხვა-პასუხი
შეუძლია თუ არა პაკეტების მენეჯერს დამოუკიდებლად თავიდან აიცილოს slopsquatting?
სრულად არა. npm-ის შეჯახების აღმოჩენის ფუნქცია ბლოკავს არსებულ პაკეტებთან ძალიან მსგავს სახელებს, რაც ხელს უშლის ბეჭდვის შეცდომების წარმოქმნას, თუმცა ჰალუცინირებული სახელი არის სრულიად ახალი სტრიქონი, რომლის აღმოსაჩენადაც შეჯახება არ არის საჭირო. თუ თავდამსხმელი ჰალუცინირებულ პაკეტს დეველოპერის მიერ ინსტალაციამდე დაარეგისტრირებს, ინსტალაცია შეცდომების გარეშე დასრულდება, რადგან პაკეტი ნამდვილად არსებობს. პრევენციისთვის საჭიროა პაკეტის წარმოშობისა და ქცევის დადასტურება და არა მხოლოდ რეესტრის საკუთარი შემოწმებები.
რით განსხვავდება 2026 წლის აგენტების საქმეები ადრინდელი უყურადღებო ჩაძირვისგან?
ადრეული ინციდენტები დამოკიდებული იყო ადამიანის მიერ შემოთავაზებული ინსტალაციის ბრძანების კოპირება-ჩასმაზე. 2026 შემთხვევაში, ავტონომიურმა აგენტებმა დააინსტალირეს ან სცადეს ჰალუცინირებული პაკეტების ინსტალაცია ადამიანის მიერ ნაბიჯის გადახედვის გარეშე, ხოლო HalluSquatting ტექნიკა უფრო შორს წავიდა - ჰალუცინაცია დაუკავშირა სწრაფ ინექციას, რათა მიღწეულიყო კოდის დისტანციური შესრულება აგენტის სამუშაო პროცესში.





