უკან დაბრუნება
GitHub-მ ამკაცრებს npm-ის სანდო გამოქვეყნებას SlugFest-ის ხარვეზის შემდეგ, რომელმაც 1 500 პაკეტი გამოავლინა
SiTech AI Team2 წთ. საკითხავი

GitHub-მ ამკაცრებს npm-ის სანდო გამოქვეყნებას SlugFest-ის ხარვეზის შემდეგ, რომელმაც 1 500 პაკეტი გამოავლინა

GitHub-მ არავალიდირებული npm-ის გამოქვეყნების კონფიგები 48 საათში ჩაკეტა მას შემდეგ, რაც მკვლევარებმა ხვრელი იპოვეს: მიტოვებული slug-ებით 1 500-ზე მეტი პაკეტის მითვისება შეიძლებოდა. გამოსწორება ნდობას უცვლელ რეპოზიტორიის ID-ებზე აბამს.

GitHub-ი ეხმაურება npm-ის სანდო გამოქვეყნების ხარვეზს

GitHub-მ დააწესა 48-საათიანი ვადა არავალიდირებული npm-ის სანდო გამოქვეყნების კონფიგურაციებისთვის მას შემდეგ, რაც Bloom Security-ის მკვლევარებმა აღმოაჩინეს დაუცველობა, რომელმაც 1 500-ზე მეტი პაკეტი ჩაგდების რისკის ქვეშ დატოვა. ცვლილების მიხედვით, ახალმა სანდო გამომქვეყნებლის კონფიგურაციამ პირველი წარმატებული გამოქვეყნება ორ დღეში უნდა დაასრულოს, რის შემდეგაც კონფიგურაცია ვალიდირდება და რეპოზიტორიის უცვლელ იდენტიფიკატორს მიბმული ხდება.

როგორ მუშაობდა SlugFest-ის შეტევა

სანდო გამოქვეყნება, რომელიც 2025 წლის ივლისში დაიწყო, დეველოპერებს საშუალებას აძლევს, პაკეტები CI/CD პლატფორმებიდან ხანმოკლე OIDC ტოკენებით გამოაქვეყნონ გრძელვადიანი საიდუმლოებების ნაცვლად. თუმცა, npm-ი თავდაპირველად მხოლოდ რეპოზიტორიის slug-ს, მფლობელისა და რეპოზიტორიის სახელს ამოწმებდა და უგულებელყოფდა GitHub-ის მიერ მინიჭებულ მუდმივ რიცხვით ID-ს. როცა მომხმარებელი რეპოზიტორიას არქმევდა, გადასცემდა ან შლიდა, slug-ი ნებისმიერისთვის ხელმისაწვდომი ხდებოდა. თავდამსხმელს შეეძლო გათავისუფლებულ slug-ზე რეპოზიტორია შეექმნა, გამოქვეყნების workflow გაეშვა და იმ პაკეტისთვის ვალიდური გამოქვეყნების ტოკენი მიეღო, რომელსაც არ ფლობდა. SlugFest-ის სახელით ცნობილ ამ შეტევას შეეძლო ლეგიტიმური პაკეტის სახელით მავნე ვერსია გამოექვეყნებინა და მისი რეპუტაცია და ჩამოტვირთვების რაოდენობა მიესაკუთრებინა.

ზემოქმედება და შემარბილებელი ნაბიჯები

Bloom Security-მ პრობლემის შესახებ GitHub-ს 2026 წლის 6 ივნისს აცნობა და 1 500-ზე მეტი დაუცველი პაკეტი გამოავლინა, რომელთა საერთო ჩამოტვირთვები 10 მილიონს აღემატებოდა. კომპანიამ გააფრთხილა, რომ AI აგენტებს, რომლებიც დამოკიდებულებებს ავტომატურად წყვეტენ, რისკი შეიძლება გააძლიერონ უახლესი მავნე ვერსიის ადამიანის შემოწმების გარეშე ჩამოტვირთვით. GitHub-ი ახლა უარყოფს GitHub Actions-ის issue_comment მოვლენებიდან მიღებულ სანდო გამოქვეყნების ტოკენებს და ინარჩუნებს pull_request_target-ის არსებულ შეზღუდვას. დეველოპერებს ურჩევენ, შეამოწმონ სანდო გამომქვეყნებლის მიბმები, დაადასტურონ, რომ მითითებული slug-ი კვლავ მათ კონტროლქვეშ არსებულ რეპოზიტორიაზე მიუთითებს, და წაშალონ და თავიდან შექმნან მიბმები, როცა რეპოზიტორიას არქმევენ, გადასცემენ ან შლიან.

მიწოდების ჯაჭვის ფართო გაკვეთილები

SlugFest-ის აღმოჩენას წინ უძღოდა Bloom Security-ის ადრინდელი აღმოჩენა აგვისტოში Open VSX-ისა და VS Code Marketplace-ის გაფართოების პაკეტებთან დაკავშირებით. ამ ტექნიკას, სახელად Extension Resurrection, საშუალებას აძლევდა თავდამსხმელებს დაეთვისებინათ სანდო პაკეტებში მითითებული მიუთვისებელი namespace-ები, რაც დისტანციური კოდის შესრულების შესაძლებლობას იწვევდა. ორივე შემთხვევა აჩვენებს, რომ ნდობის სისტემები, რომლებიც ცვალებად ადამიანისთვის წაკითხვად იდენტიფიკატორებს ეყრდნობიან, შეიძლება შეირღვეს, როცა ეს იდენტიფიკატორები ხელს იცვლიან.

წყაროები: The Hacker News

SSiTech

SiTech — AI-გაძლიერებული ვებ დეველოპმენტი

ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.