NPM depozitində ikinci paket hücumu qeydə alınıb, Shai-Hulud öz-özünə yayılma qurdunun modifikasiyasından istifadə edərək zərərli proqram təminatını asılılıq olaraq əlavə edir. Hücum nəticəsində 605 paketdə zərərli buraxılışlar yayımlanıb, bunların ümumi yükləmə sayı 100 milyondan çoxdur.
Hücum üçün cinayətkarlar phishing yolu ilə populyar paketlərdən birinin saxlama hesabının parametrlərini ələ keçiriblər, bu paket çox sayda başqa paketlərdə asılılıq kimi istifadə olunur. ələ keçirilmiş hesabdan istifadə edərək hücumçular, hədəf paketini quraşdırdıqda qurdun aktivləşməsini təmin edən kod əlavə etmişlər. İşləyən qurd hazırkı mühitdə hesab məlumatlarını axtarır, TruffleHog proqramını yükləyir və işə salır.
NPM kataloquna qoşulma tokeni aşkar olunduqda, qurd avtomatik olaraq cari mühitdə hazırlanmış paketlər üçün yeni zərərli buraxılışlar dərc edir. Beləliklə, asılılıqların bütün ağacı zərər görmüş olur. NPM tokenindən əlavə, qurd GitHub və AWS, Azure, GCP (Google Cloud Platform) bulud xidmətlərinə giriş açarlarını saxlayır, eləcə də mühit dəyişənlərini və TruffleHog tərəfindən aşkar edilə bilən digər gizli məlumatları toplayır.
Sistemdə tapılan gizli məlumatlar, GitHub-a həcmli adlarla (məsələn, 'qzx15djl71alh6p80h') yeni repozitoriyalar yaradılaraq yerləşdirilir və təsvirlərdə 'Sha1-Hulud: The Second Coming' frazası ilə kodlanmış şəkildə GitHub Actions logs-larına ötürülür. Yaradılan repozitoriyada, sistem haqqında, mühit dəyişənləri və ələ keçirilmiş məlumatlar barəsində base64 üsulu ilə kodlanmış məlumatın olduğu JSON formatında bir fayl (məsələn, jsonactionsSecrets.json və ya contents.json) olur. GitHub-da davamlı inteqrasiya sistemlərindən məlumatı xaricə ötürmək üçün qurd 'formatter_123456789.yml' adlı GitHub Actions emalçı yaradır və SHA1HULUD adlı runner konfiqurasiya edir.
Sentyabrda baş vermiş oxşar hücumdan fərqləri zərərli kodun paketa daxil edilmə üsulunun dəyişməsidir. Qurd tərəfindən yaradılan zərərli buraxılışlarda JavaScript platforması Bun üçün dəstək təqdim edilməsi qeyd edilir. package.json faylında 'preinstall' bölməsinə, quraşdırma başlamazdan əvvəl icra olunan skriptləri müəyyən edən bir komanda olan 'node setup_bun.js' əlavə edilir.

«setup_bun.js» faylında, içində bir dəyişikliyi olan obfuskasiya edilmiş skript «bun_environment.js»-i yerinə yetirmək üçün kod var. Dəstəkləndiyi ölçüdə, qurd öz yayıma davam etmək üçün paketlərin kodunu tapır, package.json faylını dəyişdirir (versiya nömrəsini artırır və setup_bun.js çağırışını əlavə edir), setup_bun.js və bun_environment.js fayllarını əlavə edir, paketi yenidən yığır və yeni buraxılışın yerləşdirilməsi üçün «npm publish» əmrini icra edir.
Təsir olunan məşhur paketlər arasında: @zapier/zapier-sdk (həftədə 2.8 milyon yüklənmə), @posthog/core (2.8 milyon), posthog-node (1.5 milyon), @asyncapi/specs (1.4 milyon), @postman/tunnel-agent (1.2 milyon) var. Hücumun, @asyncapi/specs paketinin komprometasiya olunması ilə başladığı güman edilir.
Mənbə: opennet.ru
