1 poin oleh GN⁺ 2025-11-29 | Belum ada komentar. | Bagikan ke WhatsApp
  • Ekosistem npm secara luas sedang disusupi varian malware destruktif, dan tim keamanan GitLab telah mendeteksinya
  • Malware ini merupakan bentuk evolusi dari Shai-Hulud, dengan mekanisme penyebaran seperti worm yang otomatis menginfeksi paket lain milik pengembang yang terinfeksi
  • Setelah mencuri kredensial dari GitHub, AWS, GCP, Azure, dan lainnya, data kemudian diekfiltrasi ke repositori GitHub yang dikendalikan penyerang
  • Tertanam ‘dead man’s switch’ yang segera menghapus data pengguna jika akses ke GitHub dan npm diblokir secara bersamaan
  • GitLab telah memastikan sistem internalnya tidak terinfeksi, serta menyediakan panduan deteksi dan respons melalui Dependency Scanning dan GitLab Duo Chat

Ringkasan serangan

  • Tim Vulnerability Research GitLab mendeteksi serangan rantai pasok berskala besar di ekosistem npm
    • Sistem pemantauan internal menemukan beberapa paket yang terinfeksi
    • Malware tersebut diidentifikasi sebagai varian dari Shai-Hulud
  • Malware menyebar dengan propagasi seperti worm, sehingga otomatis menginfeksi paket lain milik pengembang yang sudah terkompromi
  • GitLab mengonfirmasi bahwa mereka tidak menggunakan paket berbahaya tersebut di lingkungan internalnya dan telah membagikan informasi kepada komunitas keamanan

Struktur internal serangan

  • Paket npm berbahaya yang dideteksi sistem pemantauan internal menjalankan fungsi berikut
    • Mengumpulkan kredensial dari GitHub, npm, AWS, GCP, dan Azure
    • Mengirim data curian ke repositori GitHub yang dikendalikan penyerang
    • Secara otomatis menginfeksi paket lain milik korban
    • Menjalankan payload destruktif jika akses ke infrastruktur diblokir
  • Beberapa paket terinfeksi telah dikonfirmasi, dan investigasi masih berlangsung

Analisis teknis: cara serangan berjalan

Vektor infeksi awal

  • Malware menyusup ke sistem melalui proses pemuatan multistage
    • Skrip setup_bun.js ditambahkan ke package.json dari paket yang terinfeksi
    • Sekilas disamarkan sebagai installer runtime JavaScript Bun
    • Namun pada kenyataannya mengeksekusi bun_environment.js (payload terobfusikasi berukuran 10MB)
  • Terdiri dari file loader kecil dan payload besar yang terobfusikasi untuk menghindari deteksi

Pengumpulan kredensial

  • Segera setelah dijalankan, malware mengumpulkan token dan rahasia dari berbagai sumber
    • Token GitHub(ghp_, gho_)
    • Kredensial AWS, GCP, Azure
    • Token npm (.npmrc dan variabel lingkungan)
    • Menggunakan alat Trufflehog untuk memindai seluruh home directory guna mencari API key, kata sandi, dan riwayat Git

Jaringan eksfiltrasi data

  • Dengan token GitHub yang dicuri, malware membuat repositori publik dengan deskripsi “Sha1-Hulud: The Second Coming.”
    • Repositori tersebut berperan sebagai dropbox data
    • GitHub Actions runner dipasang untuk mempertahankan persistensi
  • Jika izin tidak mencukupi, malware mencari repositori lain dengan penanda yang sama untuk mendaur ulang token dari sistem lain
    • Dengan cara ini terbentuk jaringan berbagi token terdistribusi

Penyebaran melalui rantai pasok

  • Dengan memanfaatkan token npm yang dicuri, malware menginfeksi semua paket milik korban
    1. Mengunduh paket asli
    2. Menyisipkan setup_bun.js sebagai skrip preinstall
    3. Menambahkan payload bun_environment.js
    4. Menaikkan nomor versi
    5. Mempublikasikan ulang paket yang terinfeksi ke npm

Dead man’s switch

  • Malware terus memantau akses ke GitHub (untuk eksfiltrasi data) dan npm (untuk penyebaran)
    • Jika kedua kanal sama-sama diblokir, malware segera menjalankan penghancuran data
  • Windows: menghapus file pengguna dan menimpa sektor disk
  • Keluarga Unix: menimpa file dengan perintah shred lalu menghapusnya
  • Jika terjadi penghapusan massal repositori GitHub atau pencabutan massal token npm, ada risiko sistem yang terinfeksi melakukan penghapusan data secara bersamaan

Indikator kompromi (IoC)

  • Indikator deteksi utama
    • File: bun_environment.js (skrip post-install berbahaya)
    • Direktori: .truffler-cache/, .truffler-cache/extract/
    • Proses: del /F /Q /S "%USERPROFILE%*", shred -uvz -n 1, cipher /W:%USERPROFILE%
    • Perintah: curl -fsSL https://bun.sh/install | bash, powershell -c "irm bun.sh/install.ps1|iex"

Dukungan deteksi dan respons dari GitLab

  • Pengguna GitLab Ultimate dapat segera memeriksa apakah mereka terdampak melalui fitur keamanan bawaan
    • Saat Dependency Scanning diaktifkan, paket terinfeksi dalam package-lock.json atau yarn.lock akan terdeteksi otomatis
    • Jika merge request memuat paket terinfeksi, peringatan akan ditampilkan
  • Dapat dipadukan dengan GitLab Duo Chat untuk deteksi cepat berbasis kueri
    • Contoh: “Apakah ada dependensi yang terdampak kampanye Shai-Hulud v2?”
    • Security Analyst Agent akan memeriksa data kerentanan proyek dan langsung memberikan jawaban
  • Tim yang mengelola banyak repositori disarankan menggabungkan deteksi otomatis berbasis CI/CD dengan respons cepat berbasis agen

Prospek ke depan

  • Serangan ini dinilai sebagai bentuk baru serangan rantai pasok yang menggunakan penghancuran data korban untuk melindungi infrastruktur penyerang
  • GitLab sedang bekerja sama dengan komunitas untuk mengembangkan strategi pemulihan yang aman, sambil terus memantau varian baru melalui sistem deteksi otomatis
  • Tujuannya adalah mencegah kerugian sekunder akibat dead man’s switch melalui berbagi informasi sejak dini

Belum ada komentar.

Belum ada komentar.