Security

Paket npm Resmi SAP Disusupi untuk Curi Kredensial Pengembang

Berbagai paket npm resmi milik raksasa perangkat lunak SAP dilaporkan telah dikompromikan dalam insiden yang diyakini sebagai serangan rantai pasokan (supply-chain attack) oleh kelompok peretas TeamPCP. Serangan tingkat lanjut ini bertujuan untuk mencuri kredensial dan token autentikasi langsung dari sistem para pengembang.

Paket yang Terdampak

Para peneliti keamanan melaporkan bahwa kompromi ini memengaruhi empat paket, di mana versi yang terinfeksi kini telah ditarik (deprecated) dari direktori NPM:

  • @cap-js/sqlite – v2.2.2
  • @cap-js/postgres – v2.2.2
  • @cap-js/db-service – v2.10.1
  • mbt – v1.2.48

Paket-paket ini merupakan fondasi yang mendukung Cloud Application Programming Model (CAP) dan Cloud MTA milik SAP, yang sangat umum digunakan dalam alur kerja pengembangan tingkat perusahaan (enterprise development).

Modus Operandi: Injeksi Skrip dan Info-Stealer

Menurut laporan terbaru dari firma keamanan Aikido dan Socket, paket-paket yang disusupi tersebut telah dimodifikasi dengan menyertakan skrip preinstall berbahaya. Skrip ini akan langsung mengeksekusi dirinya sendiri secara otomatis saat paket npm diinstal oleh pengembang.

Skrip ini meluncurkan pemuat (loader) bernama setup.mjs yang mengunduh runtime JavaScript Bun dari GitHub, lalu menggunakannya untuk mengeksekusi muatan execution.js yang disamarkan dengan sangat rumit (heavily obfuscated).

Muatan tersebut bertindak sebagai info-stealer buas yang dirancang untuk merampas berbagai kredensial sensitif dari mesin lokal pengembang maupun dari lingkungan CI/CD (Continuous Integration/Continuous Deployment), yang meliputi:

  • Token autentikasi npm dan GitHub.
  • Kunci SSH dan kredensial pengembang.
  • Kredensial cloud untuk infrastruktur AWS, Azure, dan Google Cloud.
  • Konfigurasi dan kunci rahasia (secrets) Kubernetes.
  • Variabel lingkungan dan rahasia pipeline CI/CD.

Menyedot Memori dan Taktik “Shai-Hulud”

Untuk memastikan mereka mendapatkan apa yang diinginkan, malware ini bahkan berupaya mengekstrak rahasia langsung dari memori CI runner, persis seperti taktik ekstraksi kredensial TeamPCP pada serangan rantai pasokan sebelumnya.

“Pada CI runners, muatan mengeksekusi skrip Python tertanam yang membaca /proc/<pid>/maps dan /proc/<pid>/mem untuk proses Runner.Worker. Ini dilakukan guna mengekstrak setiap rahasia secara langsung dari memori runner, melewati semua penyamaran log (log masking) yang diterapkan oleh platform CI,” jelas peneliti dari Socket. Pemindai memori ini secara struktural identik dengan yang digunakan dalam insiden pembobolan Bitwarden dan Checkmarx.

Setelah data dikumpulkan, data itu dienkripsi dan diunggah ke repositori GitHub publik di bawah akun korban yang berhasil dibajak. Repositori ini ditandai dengan deskripsi khusus berbunyi “A Mini Shai-Hulud has Appeared”, yang sangat mirip dengan jejak string “Shai-Hulud: The Third Coming” dalam serangan Bitwarden.

Malware ini juga mengandalkan pencarian commit GitHub sebagai mekanisme dead-drop untuk mengambil token dan mendapatkan akses lebih lanjut.

Propagasi Mandiri dan Dugaan Penyebab

Sama seperti varian serangan sebelumnya, muatan yang disebarkan menyertakan kode untuk mereplikasi diri (self-propagate). Menggunakan kredensial npm atau GitHub yang baru saja dicuri, malware secara otomatis mencoba memodifikasi paket dan repositori lain yang kini dapat diaksesnya, lalu menyuntikkan kode berbahaya yang sama untuk menyebar lebih jauh layaknya parasit.

Meskipun belum ada konfirmasi pasti tentang bagaimana aktor ancaman awalnya sukses menyusupi proses penerbitan npm SAP yang seharusnya aman, Insinyur Keamanan Adnan Khan melaporkan dugaan terkuat: sebuah token NPM SAP kemungkinan besar telah terekspos secara tak sengaja melalui konfigurasi tugas CircleCI yang salah (misconfigured).

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button