Dengan membobol proses rilis GitHub Actions di repositori RedHatInsights milik Red Hat, penyerang berhasil mempublikasikan 64 versi berbahaya dari 32 paket NPM untuk platform Red Hat Cloud Services ke direktori NPM. Dua versi berbahaya dari setiap paket NPM yang dibobol dirilis, masing-masing berisi kode yang mengaktifkan varian baru dari worm mini-shai-hulud, yang mencari token dan kredensial di lingkungan saat ini.
Worm tersebut ditempatkan di dalam file index.js dan diaktifkan melalui handler pra-instalasi yang dipanggil saat menginstal paket yang terinfeksi. Setelah diaktifkan, worm tersebut mencari token ke NPM (~/.npmrc), PyPI, CircleCI, AWS, GCP, Docker, Azure, HashiCorp, dan KubernetesK8s, serta kunci privat SSH di dalam sistem. Data yang ditemukan kemudian dikirim ke penyerang. Jika token NPM ditemukan, worm tersebut secara otomatis menerbitkan rilis berbahaya baru untuk paket yang sedang dikembangkan di lingkungan saat ini, menginfeksi pohon dependensi.
Akses ke GitHub Actions diperoleh dengan meretas akun seorang karyawan Red Hat, memungkinkan penyerang untuk langsung mengirimkan commit ke repositori javascript-clients, frontend-components, dan platform-frontend-ai-toolkit tanpa melalui proses peninjauan. Commit ini menyisipkan file ci.yaml ke dalam sistem integrasi berkelanjutan, yang, saat menjalankan build, mengeksekusi skrip _index.js menggunakan platform bun. Skrip tersebut menggunakan izin "id-token: write" untuk meminta token OIDC (OpenID Connect) dari GitHub, yang kemudian digunakan untuk otentikasi dengan NPM melalui mekanisme "trusted publishing".
Paket NPM yang mengandung kode berbahaya:
- @redhat-cloud-services/chrome (2.3.1, 2.3.2)
- @redhat-cloud-services/compliance-client (4.0.3, 4.0.4)
- @redhat-cloud-services/config-manager-client (5.0.4, 5.0.5)
- @redhat-cloud-services/entitlements-client (4.0.11, 4.0.12)
- @redhat-cloud-services/eslint-config-redhat-cloud-services (3.2.1, 3.2.2)
- @redhat-cloud-services/frontend-components (7.7.2, 7.7.3)
- @redhat-cloud-services/frontend-components-advisor-components (3.8.2)
- @redhat-cloud-services/frontend-components-config (6.11.3, 6.11.4)
- @redhat-cloud-services/frontend-components-config-utilities (4.11.2, 4.11.3)
- @redhat-cloud-services/frontend-components-notifications (6.9.2, 6.9.3)
- @redhat-cloud-services/perbaikan-komponen-frontend (4.9.2, 4.9.3)
- @redhat-cloud-services/pengujian-komponen-frontend (1.2.1, 1.2.2)
- @redhat-cloud-services/frontend-components-translations (4.4.1, 4.4.2)
- @redhat-cloud-services/frontend-components-utilities (7.4.1, 7.4.2)
- @redhat-cloud-services/hcc-feo-mcp (0.3.1, 0.3.2)
- @redhat-cloud-services/hcc-kessel-mcp (0.3.1, 0.3.2)
- @redhat-cloud-services/hcc-pf-mcp (0.6.1, 0.6.2)
- @redhat-cloud-services/host-inventory-client (5.0.3, 5.0.4)
- @redhat-cloud-services/insights-client (4.0.4, 4.0.5)
- @redhat-cloud-services/integrations-client (6.0.4, 6.0.5)
- @redhat-cloud-services/javascript-clients-shared (2.0.8, 2.0.9)
- @redhat-cloud-services/notifications-client (6.1.4, 6.1.5)
- @redhat-cloud-services/patch-client (4.0.4, 4.0.5)
- @redhat-cloud-services/quickstarts-client (4.0.11, 4.0.12)
- @redhat-cloud-services/rbac-client (9.0.3, 9.0.4)
- @redhat-cloud-services/remediations-client (4.0.4, 4.0.5)
- @redhat-cloud-services/rule-components (4.7.2, 4.7.3)
- @redhat-cloud-services/sources-client (3.0.10, 3.0.11)
- @redhat-cloud-services/topological-inventory-client (3.0.10, 3.0.11)
- @redhat-cloud-services/tsc-transform-imports (1.2.2)
- @redhat-cloud-services/types (3.6.1, 3.6.2, 3.6.4)
- @redhat-cloud-services/vulnerabilities-client (2.1.8, 2.1.9)
Sumber: opennet.ru
